{"version":3,"file":"static/js/main.0b9d41b3.js","mappings":"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AI3O,EAAEs7B,QAAQC,MAAMF,EAAGz8B,KAAK+P,EAAEhS,MAQvE,CAND,MAAOkO,GAASxM,EAAI,CAAEwM,MAAOA,EAAU,CAHvC,QAKI,IACQ8D,IAAMA,EAAE4sB,OAASL,EAAIl7B,EAAC,SAAak7B,EAAE11B,KAAKxF,EAEjB,CAHjC,QAGU,GAAI3B,EAAG,MAAMA,EAAEwM,KAAQ,CACpC,CACD,OAAOwwB,CACV,EACGG,GAAkD,WAClD,IAAK,IAAIH,EAAK,GAAIr7B,EAAI,EAAGA,EAAIiE,UAAUjH,OAAQgD,IAAKq7B,EAAKA,EAAG/wB,OAAO0wB,GAAS/2B,UAAUjE,KACtF,OAAOq7B,CACV,EACGI,GAA4B,WAC5B,SAASA,IACR,CAsKD,OArKAA,EAAWC,kBAAoB,CAC3B,aACA,kBACA,cACA,iBACA,oBACA,YACA,UACA,QACA,OACA,cACA,QACA,OACA,mBACA,eACA,gBACA,YACA,eACA,SACA,iBACA,iBACA,UACA,SACA,gBACA,gBACA,2BAEJD,EAAWE,kBAAoB,CAC3B,uBACA,gCACA,6BACA,YACA,eACA,qBACA,wBACA,aACA,sBACA,mBACA,iCACA,8BACA,kBACA,eACA,mBACA,kBACA,2BACA,wBACA,0BACA,gCACA,mCACA,mBACA,yBACA,4BACA,UACA,qBAEJF,EAAWG,iBAAmB,CAC1B,WACA,eACA,kBACA,WACA,sBACA,iBACA,SAEJH,EAAWI,kBAAoB,CAC3B,WACA,YACA,mBACA,OACA,cACA,QACA,eACA,WACA,WACA,gBACA,uBACA,aACA,qBAEJJ,EAAWK,mBAAqB,CAC5B,oBACA,2BACA,2BACA,gBACA,gBACA,OACA,cACA,WACA,kBACA,QACA,eACA,oBACA,yBACA,0BACA,sCACA,eACA,kBACA,eACA,cACA,aACA,aACA,oBACA,mBACA,iBACA,cACA,cACA,WACA,gBACA,oBACA,wBACA,UACA,YACA,aACA,WACA,WACA,YACA,kBACA,iBACA,kBACA,qBACA,iBACA,oBAEJL,EAAWM,oBAAsB,CAC7B,qBACA,cACA,cACA,oBACA,aACA,wBACA,iB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,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAChCkpQ,W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,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,KAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,KAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MAAS,MACnG,IAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,MAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OAAS,OACnG,OAAS,OAAS,SAKtBozT,GAAaM,eAAiBxqD,WAAWlpQ,KAAK,CAC1C,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC3G,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAC5G,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAC5G,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAC7G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAC1G,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAC5G,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,KAAM,IAC3G,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,IAAK,IACzG,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,KACzG,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IACzG,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAC1G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KACzG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAC1G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAA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AK,IAAK,IAAK,KAAM,IAAK,IAAK,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAC5G,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAC3G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,KAC1G,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAC5G,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAC3G,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,IAC5G,IAAK,IAAK,IAAK,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1G,IAAK,IAAK,IAAK,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,IAAK,IAAK,KAAM,KAAM,KAAM,KAC1G,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,IAAK,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,IAAK,KAAM,IAC1G,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,KAAM,IAAK,KAAM,KAAM,KAAM,KAAM,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K,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,IAAK,GAAI,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAI,IACzCkpQ,WAAWlpQ,KAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,GAAI,IACzCkpQ,WAAWlpQ,KAAK,C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ACA,YACA,WACA,aACA,cACA,YACA,gBACA,QACA,WACA,aACA,WACA,UACA,SACA,YACA,aACA,SACA,aACA,YACA,aACA,YACA,UACA,QACA,QACA,QACA,UACA,OACA,MACA,WACA,OACA,QACA,YACA,aACA,SACA,aACA,MACA,UACA,aACA,SACA,UACA,QACA,QACA,SACA,SACA,WACA,UACA,OACA,QACA,SACA,SACA,SACA,QACA,YACA,SACA,QACA,SACA,YACA,QACA,SACA,QACA,UACA,OACA,OACA,UACA,aACA,UACA,SACA,SACA,WACA,UACA,UACA,WACA,iBACA,WACA,QACA,WACA,WACA,QACA,SACA,SACA,YACA,UACA,SACA,WACA,QACA,QACA,WACA,UACA,YACA,QACA,QACA,SACA,WACA,QACA,SACA,SACA,SACA,UACA,YACA,WACA,OACA,aACA,WACA,WACA,WACA,WACA,YACA,YACA,WACA,cACA,SACA,aACA,SACA,YACA,UACA,aACA,cACA,aACA,YACA,cACA,WACA,UACA,cACA,gBACA,aACA,aACA,YACA,WACA,YACA,YACA,eACA,WACA,YACA,eACA,eACA,eACA,aACA,WACA,iBACA,eACA,UACA,cACA,YACA,aACA,aACA,aACA,gBACA,aACA,eACA,YACA,aACA,SACA,OACA,cACA,YACA,UACA,gBACA,SACA,aACA,QACA,WACA,SACA,WACA,WACA,UACA,UACA,UACA,QACA,QACA,SACA,WACA,UACA,QACA,UACA,SACA,OACA,QACA,UACA,OACA,YACA,OACA,OACA,OACA,YACA,OACA,SACA,WACA,OACA,WACA,YACA,UACA,WACA,aACA,WACA,YACA,YACA,aACA,aACA,YACA,YACA,YACA,YACA,WACA,aACA,YACA,aACA,UACA,YACA,YACA,UACA,aACA,SACA,QACA,WACA,eACA,aACA,eACA,YACA,UACA,WACA,cACA,gBACA,YACA,aACA,UACA,SACA,QACA,WACA,WACA,SACA,WACA,OACA,WACA,WACA,UACA,QACA,MACA,OACA,MACA,OACA,QACA,QACA,QACA,UACA,QACA,QACA,UACA,OACA,WACA,cACA,QACA,YACA,YACA,YACA,SACA,UACA,SACA,YACA,WACA,aACA,aACA,UACA,WACA,cACA,eACA,YACA,YACA,QACA,aACA,cACA,UACA,YACA,WACA,eACA,SACA,WACA,UACA,gBACA,QACA,aACA,YACA,cACA,YACA,UACA,SACA,WACA,WACA,UACA,OACA,eACA,QACA,YACA,cACA,SACA,YACA,UACA,WACA,YACA,WACA,SACA,WACA,YACA,cACA,eACA,WACA,WACA,YACA,WACA,QACA,gBACA,UACA,YACA,QACA,OACA,WACA,WACA,SACA,QACA,YACA,MACA,cACA,cACA,OACA,MACA,QACA,aACA,YACA,UACA,SACA,SACA,WACA,MACA,SACA,SACA,QACA,YACA,OACA,OACA,SACA,MACA,QACA,QACA,OACA,WACA,SACA,aACA,SACA,YACA,OACA,UACA,UACA,SACA,aACA,cACA,YACA,UACA,UACA,QACA,UACA,OACA,WACA,QACA,WACA,aACA,QACA,SACA,OACA,MACA,aACA,cACA,QACA,UACA,SACA,QACA,UACA,MACA,UACA,WACA,UACA,SACA,UACA,eACA,QACA,WACA,QACA,OACA,YACA,WACA,SACA,WACA,SACA,OACA,WACA,SACA,YACA,WACA,UACA,QACA,WACA,SACA,QACA,WACA,OACA,QACA,YACA,UACA,SACA,SACA,SACA,cACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,UACA,WACA,SACA,OACA,YACA,UACA,WACA,aACA,SACA,OACA,WACA,SACA,MACA,SACA,aACA,WACA,UACA,MACA,OACA,QACA,SACA,OACA,SACA,QACA,MACA,QACA,YACA,cACA,MACA,UACA,cACA,YACA,UACA,WACA,WACA,YACA,aACA,YACA,aACA,WACA,aACA,gBACA,MACA,WACA,YACA,aACA,aACA,cACA,WACA,aACA,aACA,aACA,cACA,WACA,WACA,UACA,UACA,SACA,QACA,WACA,aACA,cACA,UACA,gBACA,eACA,SACA,WACA,aACA,eACA,cACA,UACA,YACA,aACA,cACA,UACA,WACA,eACA,WACA,gBACA,WACA,YACA,WACA,aACA,WACA,QACA,UACA,UACA,QACA,QACA,SACA,WACA,QACA,SACA,OACA,OACA,MACA,OACA,QACA,SACA,QACA,OACA,QACA,OACA,UACA,OACA,QACA,cACA,aACA,UACA,SACA,QACA,UACA,SACA,UACA,QACA,OACA,SACA,UACA,SACA,aACA,SACA,WACA,SACA,OACA,SACA,SACA,QACA,UACA,SACA,OACA,QACA,OACA,OACA,SACA,MACA,QACA,MACA,QACA,MACA,QACA,WACA,cACA,OACA,QACA,OACA,UACA,aACA,WACA,SACA,OACA,WACA,SACA,SACA,UACA,aACA,UACA,OACA,UACA,eACA,SACA,UACA,OACA,aACA,aACA,UACA,WACA,UACA,SACA,SACA,OACA,eACA,MACA,SACA,SACA,OACA,WACA,YACA,UACA,UACA,cACA,QACA,YACA,aACA,UACA,QACA,QACA,UACA,SACA,WACA,SACA,SACA,YACA,WACA,UACA,QACA,aACA,QACA,WACA,QACA,UACA,OACA,SACA,aACA,QACA,SACA,QACA,WACA,SACA,UACA,UACA,QACA,OACA,SACA,OACA,YACA,WACA,eACA,UACA,MACA,UACA,MACA,OACA,QACA,QACA,SACA,WACA,OACA,UACA,QACA,UACA,WACA,UACA,aACA,QACA,WACA,YACA,UACA,YACA,UACA,aACA,eACA,MACA,WACA,KACA,OACA,MACA,UACA,OACA,OACA,cACA,WACA,aACA,OACA,WACA,UACA,iBACA,WACA,WACA,QACA,UACA,QACA,aACA,UACA,cACA,UACA,WACA,eACA,UACA,OACA,UACA,WACA,WACA,gBACA,UACA,aACA,UACA,UACA,OACA,UACA,UACA,WACA,WACA,UACA,YACA,aACA,WACA,SACA,gBACA,WACA,QACA,UACA,UACA,WACA,UACA,SACA,SACA,YACA,OACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,UACA,YACA,WACA,cACA,UACA,WACA,UACA,eACA,SACA,WACA,UACA,UACA,QACA,YACA,YACA,UACA,QACA,UACA,WACA,aACA,eACA,aACA,WACA,cACA,YACA,YACA,SACA,WACA,cACA,aACA,aACA,QACA,aACA,cACA,gBACA,SACA,OACA,OACA,UACA,UACA,SACA,YACA,cACA,YACA,QACA,WACA,QACA,iBACA,WACA,SACA,UACA,QACA,SACA,QACA,OACA,QACA,WACA,QACA,MACA,QACA,OACA,YACA,OACA,aACA,SACA,UACA,YACA,WACA,aACA,UACA,aACA,UACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,YACA,aACA,SACA,UACA,iBACA,YACA,WACA,WACA,cACA,WACA,cACA,aACA,cACA,YACA,SACA,UACA,gBACA,OACA,aACA,QACA,QACA,OACA,SACA,QACA,UACA,SACA,UACA,WACA,SACA,QACA,QACA,QACA,SACA,OACA,SACA,UACA,QACA,SACA,MACA,OACA,QACA,eACA,YACA,SACA,QACA,YACA,aACA,WACA,UACA,aACA,YACA,SACA,SACA,SACA,WACA,YACA,UACA,WACA,SACA,WACA,YACA,WACA,UACA,SACA,SACA,SACA,QACA,UACA,SACA,QACA,QACA,QACA,YACA,UACA,QACA,SACA,MACA,OACA,cACA,SACA,QACA,QACA,UACA,SACA,SACA,UACA,SACA,SACA,SACA,OACA,QACA,WACA,OACA,QACA,QACA,UACA,SACA,SACA,SACA,YACA,OACA,QACA,OACA,QACA,gBACA,OACA,QACA,QACA,OACA,WACA,SACA,QACA,YACA,UACA,UACA,WACA,YACA,cACA,QACA,YACA,WACA,cACA,WACA,WACA,SACA,SACA,YACA,SACA,QACA,WACA,SACA,cACA,YACA,SACA,QACA,SACA,QACA,QACA,SACA,SACA,WACA,kBACA,UACA,YACA,SACA,WACA,UACA,SACA,aACA,QACA,SACA,aACA,aACA,cACA,SACA,aACA,aACA,SACA,aACA,WACA,QACA,QACA,SACA,WACA,aACA,WACA,UACA,OACA,YACA,aACA,cACA,YACA,aACA,QACA,QACA,WACA,cACA,aACA,OACA,OACA,OACA,YACA,QACA,YACA,gBACA,UACA,YACA,SACA,QACA,WACA,cACA,QACA,OACA,cACA,QACA,OACA,UACA,WACA,aACA,cACA,aACA,QACA,OACA,QACA,MACA,OACA,QACA,QACA,QACA,cACA,SACA,aACA,SACA,WACA,WACA,UACA,UACA,OACA,WACA,SACA,eACA,UACA,YACA,YACA,gBACA,cACA,cACA,aACA,aACA,SACA,aACA,SACA,cACA,UACA,UACA,eACA,SACA,SACA,YACA,UACA,WACA,cACA,aACA,YACA,UACA,YACA,QACA,QACA,UACA,QACA,SACA,OACA,SACA,UACA,QACA,QACA,QACA,WACA,WACA,SACA,UACA,UACA,OACA,SACA,WACA,OACA,YACA,UACA,aACA,UACA,UACA,WACA,SACA,QACA,WACA,YACA,QACA,QACA,aACA,YACA,aACA,YACA,aACA,YACA,OACA,WACA,SACA,OACA,UACA,QACA,MACA,SACA,QACA,UACA,OACA,UACA,MACA,aACA,QACA,SACA,OACA,aACA,OACA,SACA,UACA,UACA,OACA,OACA,QACA,YACA,QACA,YACA,SACA,UACA,YACA,UACA,WACA,aACA,SACA,UACA,QACA,YACA,SACA,aACA,aACA,QACA,cACA,YACA,YACA,WACA,QACA,UACA,WACA,WACA,SACA,UACA,UACA,WACA,YACA,QACA,WACA,WACA,WACA,QACA,QACA,OACA,UACA,SACA,UACA,QACA,QACA,QACA,aACA,cACA,WAAA78jB,GClrCa,CACb,WACA,WACA,YACA,YACA,SACA,YACA,WACA,YACA,aACA,MACA,WACA,WACA,UACA,MACA,QACA,YACA,MACA,SACA,SACA,YACA,WACA,YACA,WACA,OACA,MACA,OACA,SACA,SACA,MACA,SACA,OACA,QACA,YACA,MACA,OACA,SACA,WACA,SACA,QACA,QACA,MACA,YACA,UACA,QACA,QACA,UACA,WACA,WACA,UACA,OACA,MACA,cACA,UACA,WACA,SACA,YACA,aACA,YACA,UACA,YACA,UACA,aACA,aACA,WACA,SACA,OACA,YACA,QACA,YACA,MACA,SACA,cACA,QACA,SACA,MACA,SACA,OACA,QACA,UACA,WACA,UACA,YACA,OACA,SACA,YACA,OACA,QACA,WACA,MACA,UACA,SACA,WACA,OACA,SACA,YACA,OACA,QACA,YACA,SACA,UACA,MACA,QACA,WACA,MACA,MACA,SACA,SACA,UACA,SACA,QACA,UACA,OACA,WACA,OACA,MACA,aACA,OACA,MACA,OACA,YACA,WACA,QACA,UACA,QACA,SACA,SACA,UACA,OACA,WACA,QACA,SACA,UACA,cACA,SACA,OACA,UACA,aACA,OACA,QACA,UACA,UACA,UACA,OACA,UACA,OACA,WACA,QACA,UACA,eACA,WACA,SACA,QACA,WACA,cACA,QACA,SACA,SACA,SACA,SACA,MACA,YACA,aACA,WACA,aACA,OACA,OACA,QACA,MACA,QACA,UACA,UACA,WACA,OACA,QACA,UACA,QACA,UACA,SACA,SACA,OACA,SACA,QACA,UACA,SACA,OACA,QACA,WACA,OACA,QACA,WACA,SACA,SACA,UACA,WACA,SACA,WACA,SACA,YACA,SACA,WACA,aACA,UACA,OACA,SACA,OACA,cACA,OACA,UACA,WACA,SACA,QACA,WACA,OACA,QACA,OACA,SACA,UACA,OACA,cACA,SACA,UACA,UACA,YACA,OACA,UACA,QACA,MACA,KACA,QACA,UACA,WACA,SACA,aACA,YACA,UACA,UACA,UACA,UACA,QACA,WACA,MACA,SACA,OACA,WACA,UACA,YACA,WACA,OACA,YACA,WACA,SACA,QACA,UACA,YACA,SACA,OACA,SACA,QACA,SACA,SACA,SACA,UACA,MACA,cACA,QACA,WACA,UACA,aACA,aACA,SACA,OACA,UACA,YACA,WACA,aACA,SACA,UACA,UA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","sources":["../node_modules/ag-grid-community/dist/ag-grid-community.auto.esm.js","../node_modules/ag-grid-react/lib/agGridReact.js","../node_modules/ag-grid-react/lib/legacy/agGridReactLegacy.js","../node_modules/ag-grid-react/lib/legacy/legacyReactComponent.js","../node_modules/ag-grid-react/lib/reactUi/agGridReactUi.js","../node_modules/ag-grid-react/lib/reactUi/beansContext.js","../node_modules/ag-grid-react/lib/reactUi/cellRenderer/detailCellRenderer.js","../node_modules/ag-grid-react/lib/reactUi/cellRenderer/groupCellRenderer.js","../node_modules/ag-grid-react/lib/reactUi/cells/cellComp.js","../node_modules/ag-grid-react/lib/reactUi/cells/popupEditorComp.js","../node_modules/ag-grid-react/lib/reactUi/cells/showJsRenderer.js","../node_modules/ag-grid-react/lib/reactUi/gridBodyComp.js","../node_modules/ag-grid-react/lib/reactUi/gridComp.js","../node_modules/ag-grid-react/lib/reactUi/header/gridHeaderComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerCellComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerFilterCellComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerGroupCellComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerRowComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerRowContainerComp.js","../node_modules/ag-grid-react/lib/reactUi/jsComp.js","../node_modules/ag-grid-react/lib/reactUi/reactComment.js","../node_modules/ag-grid-react/lib/reactUi/rows/rowComp.js","../node_modules/ag-grid-react/lib/reactUi/rows/rowContainerComp.js","../node_modules/ag-grid-react/lib/reactUi/tabGuardComp.js","../node_modules/ag-grid-react/lib/reactUi/useEffectOnce.js","../node_modules/ag-grid-react/lib/reactUi/utils.js","../node_modules/ag-grid-react/lib/shared/agGridColumn.js","../node_modules/ag-grid-react/lib/shared/changeDetectionService.js","../node_modules/ag-grid-react/lib/shared/keyGenerator.js","../node_modules/ag-grid-react/lib/shared/newReactComponent.js","../node_modules/ag-grid-react/lib/shared/portalManager.js","../node_modules/ag-grid-react/lib/shared/reactComponent.js","../node_modules/ag-grid-react/lib/shared/reactFrameworkOverrides.js","../node_modules/ag-grid-react/main.js","../node_modules/classnames/index.js","../node_modules/html5-qrcode/third_party/zxing-js.umd.js","../node_modules/invariant/browser.js","../node_modules/moment/moment.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-dom/server.browser.js","../node_modules/react-fast-compare/index.js","../node_modules/react-moment/dist/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/warning/warning.js","../node_modules/mapbox-gl/src/util/browser/window.js","../node_modules/mapbox-gl/node_modules/@mapbox/unitbezier/index.js","../node_modules/mapbox-gl/node_modules/@mapbox/point-geometry/index.js","../node_modules/mapbox-gl/src/util/util.js","../node_modules/mapbox-gl/src/util/performance.js","../node_modules/mapbox-gl/src/util/browser.js","../node_modules/mapbox-gl/src/util/config.js","../node_modules/mapbox-gl/src/util/webp_supported.js","../node_modules/mapbox-gl/src/util/sku_token.js","../node_modules/mapbox-gl/src/util/mapbox.js","../node_modules/mapbox-gl/src/util/tile_request_cache.js","../node_modules/mapbox-gl/src/util/ajax.js","../node_modules/mapbox-gl/src/util/evented.js","../node_modules/mapbox-gl/src/style-spec/util/extend.js","../node_modules/mapbox-gl/src/style-spec/util/unbundle_jsonlint.js","../node_modules/mapbox-gl/src/style-spec/expression/parsing_error.js","../node_modules/mapbox-gl/src/style-spec/expression/scope.js","../node_modules/mapbox-gl/src/style-spec/expression/types.js","../node_modules/mapbox-gl/node_modules/csscolorparser/csscolorparser.js","../node_modules/mapbox-gl/src/style-spec/util/color.js","../node_modules/mapbox-gl/src/style-spec/expression/types/collator.js","../node_modules/mapbox-gl/src/style-spec/expression/types/formatted.js","../node_modules/mapbox-gl/src/style-spec/expression/types/resolved_image.js","../node_modules/mapbox-gl/src/style-spec/expression/values.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/literal.js","../node_modules/mapbox-gl/src/style-spec/expression/runtime_error.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/assertion.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/format.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/image.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/coercion.js","../node_modules/mapbox-gl/src/style-spec/expression/evaluation_context.js","../node_modules/mapbox-gl/src/style-spec/expression/compound_expression.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/collator.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/within.js","../node_modules/mapbox-gl/src/style-spec/expression/is_constant.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/var.js","../node_modules/mapbox-gl/src/style-spec/expression/parsing_context.js","../node_modules/mapbox-gl/src/style-spec/expression/stops.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/step.js","../node_modules/mapbox-gl/src/style-spec/util/interpolate.js","../node_modules/mapbox-gl/src/style-spec/util/color_spaces.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/interpolate.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/coalesce.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/let.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/at.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/in.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/index_of.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/match.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/case.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/slice.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/comparison.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/number_format.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/length.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/index.js","../node_modules/mapbox-gl/src/style-spec/util/result.js","../node_modules/mapbox-gl/src/style-spec/util/properties.js","../node_modules/mapbox-gl/src/style-spec/util/get_type.js","../node_modules/mapbox-gl/src/style-spec/function/index.js","../node_modules/mapbox-gl/src/style-spec/expression/index.js","../node_modules/mapbox-gl/src/style-spec/error/validation_error.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_object.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_array.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_number.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_function.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_expression.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_enum.js","../node_modules/mapbox-gl/src/style-spec/feature_filter/index.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_filter.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_paint_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_layout_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_layer.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_string.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_source.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_light.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_terrain.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_fog.js","../node_modules/mapbox-gl/src/style-spec/validate/validate.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_boolean.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_color.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_formatted.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_image.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_projection.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_glyphs_url.js","../node_modules/mapbox-gl/src/style-spec/validate_style.min.js","../node_modules/mapbox-gl/src/style/validate_style.js","../node_modules/mapbox-gl/node_modules/grid-index/grid-index.js","../node_modules/mapbox-gl/src/util/web_worker_transfer.js","../node_modules/mapbox-gl/src/style/zoom_history.js","../node_modules/mapbox-gl/src/util/is_char_in_unicode_block.js","../node_modules/mapbox-gl/src/util/script_detection.js","../node_modules/mapbox-gl/src/source/rtl_text_plugin.js","../node_modules/mapbox-gl/src/style/evaluation_parameters.js","../node_modules/mapbox-gl/src/style/properties.js","../node_modules/mapbox-gl/src/shaders/encode_attribute.js","../node_modules/mapbox-gl/src/util/struct_array.js","../node_modules/mapbox-gl/src/data/array_types.js","../node_modules/mapbox-gl/src/data/bucket/pattern_attributes.js","../node_modules/mapbox-gl/src/data/bucket/dash_attributes.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/murmurhash3_gc.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/murmurhash2_gc.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/index.js","../node_modules/mapbox-gl/src/data/feature_position_map.js","../node_modules/mapbox-gl/src/render/uniform_binding.js","../node_modules/mapbox-gl/src/data/program_configuration.js","../node_modules/mapbox-gl/src/style/style_layer.js","../node_modules/mapbox-gl/src/data/bucket/circle_attributes.js","../node_modules/mapbox-gl/src/data/segment.js","../node_modules/mapbox-gl/src/data/extent.js","../node_modules/mapbox-gl/src/geo/lng_lat_bounds.js","../node_modules/mapbox-gl/src/geo/lng_lat.js","../node_modules/mapbox-gl/src/geo/mercator_coordinate.js","../node_modules/mapbox-gl/src/geo/projection/resample.js","../node_modules/mapbox-gl/src/data/load_geometry.js","../node_modules/mapbox-gl/src/data/evaluation_feature.js","../node_modules/mapbox-gl/src/data/bucket/circle_bucket.js","../node_modules/mapbox-gl/src/util/intersection_tests.js","../node_modules/mapbox-gl/src/style/query_utils.js","../node_modules/mapbox-gl/src/style/style_layer/circle_style_layer_properties.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/common.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/mat3.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/mat4.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/vec3.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/vec4.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/quat.js","../node_modules/mapbox-gl/src/util/primitives.js","../node_modules/mapbox-gl/src/style/style_layer/circle_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/heatmap_bucket.js","../node_modules/mapbox-gl/src/util/image.js","../node_modules/mapbox-gl/src/style/style_layer/heatmap_style_layer_properties.js","../node_modules/mapbox-gl/src/util/color_ramp.js","../node_modules/mapbox-gl/src/style/style_layer/hillshade_style_layer_properties.js","../node_modules/mapbox-gl/src/data/bucket/fill_attributes.js","../node_modules/mapbox-gl/node_modules/earcut/src/earcut.js","../node_modules/mapbox-gl/node_modules/quickselect/index.js","../node_modules/mapbox-gl/src/util/classify_rings.js","../node_modules/mapbox-gl/src/data/bucket/pattern_bucket_features.js","../node_modules/mapbox-gl/src/data/bucket/fill_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/fill_style_layer_properties.js","../node_modules/mapbox-gl/src/data/bucket/fill_extrusion_attributes.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortilefeature.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortilelayer.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortile.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/index.js","../node_modules/mapbox-gl/src/util/polygon_clipping.js","../node_modules/mapbox-gl/src/data/bucket/fill_extrusion_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/fill_extrusion_style_layer_properties.js","../node_modules/mapbox-gl/node_modules/@mapbox/whoots-js/index.mjs","../node_modules/mapbox-gl/src/source/tile_id.js","../node_modules/mapbox-gl/src/style/style_layer/fill_extrusion_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/line_attributes.js","../node_modules/mapbox-gl/src/data/bucket/line_attributes_ext.js","../node_modules/mapbox-gl/src/data/bucket/line_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/line_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/line_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/symbol_attributes.js","../node_modules/mapbox-gl/src/symbol/one_em.js","../node_modules/mapbox-gl/src/symbol/symbol_size.js","../node_modules/mapbox-gl/src/symbol/transform_text.js","../node_modules/mapbox-gl/src/util/verticalize_punctuation.js","../node_modules/mapbox-gl/node_modules/ieee754/index.js","../node_modules/mapbox-gl/node_modules/pbf/index.js","../node_modules/mapbox-gl/src/style/parse_glyph_pbf.js","../node_modules/mapbox-gl/node_modules/potpack/index.mjs","../node_modules/mapbox-gl/src/render/image_atlas.js","../node_modules/mapbox-gl/src/symbol/shaping.js","../node_modules/mapbox-gl/src/symbol/anchor.js","../node_modules/mapbox-gl/src/symbol/check_max_angle.js","../node_modules/mapbox-gl/src/symbol/get_anchors.js","../node_modules/mapbox-gl/src/symbol/clip_line.js","../node_modules/mapbox-gl/node_modules/@mapbox/tiny-sdf/index.js","../node_modules/mapbox-gl/src/render/glyph_manager.js","../node_modules/mapbox-gl/src/symbol/quads.js","../node_modules/mapbox-gl/src/style/load_glyph_range.js","../node_modules/mapbox-gl/node_modules/tinyqueue/index.js","../node_modules/mapbox-gl/src/util/find_pole_of_inaccessibility.js","../node_modules/mapbox-gl/src/symbol/symbol_layout.js","../node_modules/mapbox-gl/src/terrain/globe_attributes.js","../node_modules/mapbox-gl/src/data/pos_attributes.js","../node_modules/mapbox-gl/src/geo/projection/globe_util.js","../node_modules/mapbox-gl/src/geo/projection/far_z.js","../node_modules/mapbox-gl/src/geo/projection/tile_transform.js","../node_modules/mapbox-gl/src/geo/projection/projection.js","../node_modules/mapbox-gl/src/geo/projection/albers.js","../node_modules/mapbox-gl/src/geo/projection/equal_earth.js","../node_modules/mapbox-gl/src/geo/projection/equirectangular.js","../node_modules/mapbox-gl/src/geo/projection/lambert.js","../node_modules/mapbox-gl/src/geo/projection/mercator.js","../node_modules/mapbox-gl/src/geo/projection/natural_earth.js","../node_modules/mapbox-gl/src/geo/projection/winkel_tripel.js","../node_modules/mapbox-gl/src/geo/projection/cylindrical_equal_area.js","../node_modules/mapbox-gl/src/geo/projection/globe.js","../node_modules/mapbox-gl/src/geo/projection/index.js","../node_modules/mapbox-gl/src/data/bucket/symbol_bucket.js","../node_modules/mapbox-gl/src/symbol/mergelines.js","../node_modules/mapbox-gl/src/style/style_layer/symbol_style_layer_properties.js","../node_modules/mapbox-gl/src/style/format_section_override.js","../node_modules/mapbox-gl/src/style/style_layer/symbol_style_layer.js","../node_modules/mapbox-gl/src/util/resolve_tokens.js","../node_modules/mapbox-gl/src/style/style_layer/background_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/raster_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/custom_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/sky_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/sky_style_layer.js","../node_modules/mapbox-gl/src/style/create_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/heatmap_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/hillshade_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/fill_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/background_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/raster_style_layer.js","../node_modules/mapbox-gl/src/render/texture.js","../node_modules/mapbox-gl/src/render/line_atlas.js","../node_modules/mapbox-gl/src/util/throttled_invoker.js","../node_modules/mapbox-gl/src/util/scheduler.js","../node_modules/mapbox-gl/src/util/dictionary_coder.js","../node_modules/mapbox-gl/src/util/vectortile_to_geojson.js","../node_modules/mapbox-gl/src/source/tile_mesh.js","../node_modules/mapbox-gl/src/data/bounds_attributes.js","../node_modules/mapbox-gl/src/source/tile.js","../node_modules/mapbox-gl/src/data/bucket.js","../node_modules/mapbox-gl/src/source/source_state.js","../node_modules/mapbox-gl/src/data/dem_tree.js","../node_modules/mapbox-gl/src/data/dem_data.js","../node_modules/mapbox-gl/src/source/tile_cache.js","../node_modules/mapbox-gl/src/gl/depth_mode.js","../node_modules/mapbox-gl/src/gl/stencil_mode.js","../node_modules/mapbox-gl/src/gl/color_mode.js","../node_modules/mapbox-gl/src/gl/cull_face_mode.js","../node_modules/mapbox-gl/src/source/source_cache.js","../node_modules/mapbox-gl/src/terrain/elevation.js","../node_modules/mapbox-gl/src/data/feature_index.js","../node_modules/mapbox-gl/src/render/glyph_atlas.js","../node_modules/mapbox-gl/src/source/worker_tile.js","../node_modules/mapbox-gl/src/source/vector_tile_worker_source.js","../node_modules/mapbox-gl/src/util/actor.js","../node_modules/mapbox-gl/src/style-spec/util/ref_properties.js","../node_modules/mapbox-gl/src/style-spec/group_by_layout.js","../node_modules/mapbox-gl/src/style/style_layer_index.js","../node_modules/mapbox-gl/src/source/raster_dem_tile_worker_source.js","../node_modules/mapbox-gl/node_modules/@mapbox/geojson-rewind/index.js","../node_modules/mapbox-gl/src/source/geojson_wrapper.js","../node_modules/mapbox-gl/node_modules/vt-pbf/lib/geojson_wrapper.js","../node_modules/mapbox-gl/node_modules/vt-pbf/index.js","../node_modules/mapbox-gl/node_modules/kdbush/src/sort.js","../node_modules/mapbox-gl/node_modules/kdbush/src/within.js","../node_modules/mapbox-gl/node_modules/kdbush/src/index.js","../node_modules/mapbox-gl/node_modules/kdbush/src/range.js","../node_modules/mapbox-gl/node_modules/supercluster/index.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/simplify.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/feature.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/convert.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/clip.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/wrap.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/transform.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/tile.js","../node_modules/mapbox-gl/node_modules/geojson-vt/src/index.js","../node_modules/mapbox-gl/src/source/geojson_worker_source.js","../node_modules/mapbox-gl/src/source/worker.js","../node_modules/mapbox-gl/src/style-spec/util/deep_equal.js","../node_modules/mapbox-gl/node_modules/@mapbox/mapbox-gl-supported/index.js","../node_modules/mapbox-gl/src/util/dom.js","../node_modules/mapbox-gl/node_modules/gl-matrix/esm/mat2.js","../node_modules/mapbox-gl/src/style/style_image.js","../node_modules/mapbox-gl/src/render/image_manager.js","../node_modules/mapbox-gl/src/style/light.js","../node_modules/mapbox-gl/src/style/terrain.js","../node_modules/mapbox-gl/src/style/fog_helpers.js","../node_modules/mapbox-gl/src/style/fog.js","../node_modules/mapbox-gl/src/util/dispatcher.js","../node_modules/mapbox-gl/src/source/pixels_to_tile_units.js","../node_modules/mapbox-gl/src/style/query_geometry.js","../node_modules/mapbox-gl/src/source/load_tilejson.js","../node_modules/mapbox-gl/src/source/tile_bounds.js","../node_modules/mapbox-gl/src/gl/index_buffer.js","../node_modules/mapbox-gl/src/gl/vertex_buffer.js","../node_modules/mapbox-gl/src/gl/value.js","../node_modules/mapbox-gl/src/gl/framebuffer.js","../node_modules/mapbox-gl/src/gl/context.js","../node_modules/mapbox-gl/src/source/raster_tile_source.js","../node_modules/mapbox-gl/src/util/offscreen_canvas_supported.js","../node_modules/mapbox-gl/src/source/image_source.js","../node_modules/mapbox-gl/src/source/source.js","../node_modules/mapbox-gl/src/source/vector_tile_source.js","../node_modules/mapbox-gl/src/source/raster_dem_tile_source.js","../node_modules/mapbox-gl/src/source/geojson_source.js","../node_modules/mapbox-gl/src/source/video_source.js","../node_modules/mapbox-gl/src/source/canvas_source.js","../node_modules/mapbox-gl/src/source/custom_source.js","../node_modules/mapbox-gl/src/source/query_features.js","../node_modules/mapbox-gl/src/util/browser/web_worker.js","../node_modules/mapbox-gl/src/util/worker_pool.js","../node_modules/mapbox-gl/src/util/global_worker_pool.js","../node_modules/mapbox-gl/src/style-spec/deref.js","../node_modules/mapbox-gl/src/style-spec/diff.js","../node_modules/mapbox-gl/src/symbol/path_interpolator.js","../node_modules/mapbox-gl/src/symbol/grid_index.js","../node_modules/mapbox-gl/src/symbol/projection.js","../node_modules/mapbox-gl/src/symbol/collision_index.js","../node_modules/mapbox-gl/src/geo/projection/projection_util.js","../node_modules/mapbox-gl/src/symbol/placement.js","../node_modules/mapbox-gl/src/style/pauseable_placement.js","../node_modules/mapbox-gl/src/symbol/cross_tile_symbol_index.js","../node_modules/mapbox-gl/src/style/style.js","../node_modules/mapbox-gl/src/style-spec/empty.js","../node_modules/mapbox-gl/src/style/load_sprite.js","../node_modules/mapbox-gl/src/shaders/shaders.js","../node_modules/mapbox-gl/src/render/vertex_array_object.js","../node_modules/mapbox-gl/src/render/program/hillshade_program.js","../node_modules/mapbox-gl/src/render/draw_hillshade.js","../node_modules/mapbox-gl/src/terrain/terrain_raster_program.js","../node_modules/mapbox-gl/src/terrain/globe_raster_program.js","../node_modules/mapbox-gl/src/terrain/draw_terrain_raster.js","../node_modules/mapbox-gl/src/render/program/clipping_mask_program.js","../node_modules/mapbox-gl/src/render/raster_fade.js","../node_modules/mapbox-gl/src/terrain/terrain.js","../node_modules/mapbox-gl/src/render/program.js","../node_modules/mapbox-gl/src/render/fog.js","../node_modules/mapbox-gl/src/render/program/pattern.js","../node_modules/mapbox-gl/src/render/program/fill_extrusion_program.js","../node_modules/mapbox-gl/src/render/program/fill_program.js","../node_modules/mapbox-gl/src/render/program/circle_program.js","../node_modules/mapbox-gl/src/render/program/collision_program.js","../node_modules/mapbox-gl/src/render/program/debug_program.js","../node_modules/mapbox-gl/src/render/program/heatmap_program.js","../node_modules/mapbox-gl/src/render/program/line_program.js","../node_modules/mapbox-gl/src/render/program/raster_program.js","../node_modules/mapbox-gl/src/render/program/symbol_program.js","../node_modules/mapbox-gl/src/render/program/background_program.js","../node_modules/mapbox-gl/src/render/program/program_uniforms.js","../node_modules/mapbox-gl/src/render/program/skybox_program.js","../node_modules/mapbox-gl/src/render/program/skybox_capture_program.js","../node_modules/mapbox-gl/src/render/draw_collision_debug.js","../node_modules/mapbox-gl/src/render/draw_symbol.js","../node_modules/mapbox-gl/src/render/draw_fill.js","../node_modules/mapbox-gl/src/render/draw_fill_extrusion.js","../node_modules/mapbox-gl/src/render/draw_debug.js","../node_modules/mapbox-gl/src/render/skybox_attributes.js","../node_modules/mapbox-gl/src/render/skybox_geometry.js","../node_modules/mapbox-gl/src/render/draw_sky.js","../node_modules/mapbox-gl/src/render/atmosphere_attributes.js","../node_modules/mapbox-gl/src/render/atmosphere_buffer.js","../node_modules/mapbox-gl/src/render/painter.js","../node_modules/mapbox-gl/src/render/draw_circle.js","../node_modules/mapbox-gl/src/render/draw_heatmap.js","../node_modules/mapbox-gl/src/render/draw_line.js","../node_modules/mapbox-gl/src/render/draw_raster.js","../node_modules/mapbox-gl/src/render/draw_background.js","../node_modules/mapbox-gl/src/render/draw_custom.js","../node_modules/mapbox-gl/src/render/draw_atmosphere.js","../node_modules/mapbox-gl/src/geo/edge_insets.js","../node_modules/mapbox-gl/src/ui/free_camera.js","../node_modules/mapbox-gl/src/geo/projection/adjustments.js","../node_modules/mapbox-gl/src/geo/transform.js","../node_modules/mapbox-gl/src/util/throttle.js","../node_modules/mapbox-gl/src/ui/hash.js","../node_modules/mapbox-gl/src/ui/handler_inertia.js","../node_modules/mapbox-gl/src/ui/events.js","../node_modules/mapbox-gl/src/ui/handler/map_event.js","../node_modules/mapbox-gl/src/ui/handler/box_zoom.js","../node_modules/mapbox-gl/src/ui/handler/handler_util.js","../node_modules/mapbox-gl/src/ui/handler/tap_recognizer.js","../node_modules/mapbox-gl/src/ui/handler/tap_zoom.js","../node_modules/mapbox-gl/src/ui/handler/mouse.js","../node_modules/mapbox-gl/src/ui/handler/touch_pan.js","../node_modules/mapbox-gl/src/ui/handler/touch_zoom_rotate.js","../node_modules/mapbox-gl/src/ui/handler/keyboard.js","../node_modules/mapbox-gl/src/ui/handler/scroll_zoom.js","../node_modules/mapbox-gl/src/ui/handler/shim/dblclick_zoom.js","../node_modules/mapbox-gl/src/ui/handler/click_zoom.js","../node_modules/mapbox-gl/src/ui/handler/tap_drag_zoom.js","../node_modules/mapbox-gl/src/ui/handler/shim/drag_pan.js","../node_modules/mapbox-gl/src/ui/handler/shim/drag_rotate.js","../node_modules/mapbox-gl/src/ui/handler/shim/touch_zoom_rotate.js","../node_modules/mapbox-gl/src/ui/handler_manager.js","../node_modules/mapbox-gl/src/ui/camera.js","../node_modules/mapbox-gl/src/ui/control/attribution_control.js","../node_modules/mapbox-gl/src/ui/control/logo_control.js","../node_modules/mapbox-gl/src/util/task_queue.js","../node_modules/mapbox-gl/src/util/smart_wrap.js","../node_modules/mapbox-gl/src/ui/anchor.js","../node_modules/mapbox-gl/src/ui/marker.js","../node_modules/mapbox-gl/src/util/eased_variable.js","../node_modules/mapbox-gl/src/ui/default_locale.js","../node_modules/mapbox-gl/src/ui/map.js","../node_modules/mapbox-gl/src/ui/control/navigation_control.js","../node_modules/mapbox-gl/src/ui/control/geolocate_control.js","../node_modules/mapbox-gl/src/ui/control/scale_control.js","../node_modules/mapbox-gl/src/ui/popup.js","../node_modules/mapbox-gl/src/index.js","../node_modules/mapbox-gl/src/ui/control/fullscreen_control.js","../node_modules/mapbox-gl/rollup/mapboxgl.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/get.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/regenerator/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/lib/context.ts","../../packages/react-router/lib/router.ts","../../packages/react-router/lib/hooks.tsx","../../packages/react-router/lib/components.tsx","../../packages/react-router-dom/index.tsx","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","ParticleService.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/react-toastify/src/utils/propValidator.ts","../node_modules/react-toastify/src/utils/collapseToast.ts","../node_modules/react-toastify/src/utils/cssTransition.tsx","../node_modules/react-toastify/src/utils/mapper.ts","../node_modules/react-toastify/src/core/eventManager.ts","../node_modules/react-toastify/src/components/Icons.tsx","../node_modules/react-toastify/src/hooks/useToastContainer.ts","../node_modules/react-toastify/src/hooks/useToast.ts","../node_modules/react-toastify/src/components/CloseButton.tsx","../node_modules/react-toastify/src/components/ProgressBar.tsx","../node_modules/react-toastify/src/components/Toast.tsx","../node_modules/react-toastify/src/components/Transitions.tsx","../node_modules/react-toastify/src/components/ToastContainer.tsx","../node_modules/react-toastify/src/core/toast.ts","../node_modules/react-toastify/src/utils/constant.ts","pages/Map.js","pages/DeviceNote.js","pages/tables/GroupTable.js","../node_modules/react-icons/lib/esm/iconsManifest.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-icons/ri/index.esm.js","../node_modules/react-icons/bs/index.esm.js","../node_modules/@restart/ui/esm/Button.js","../node_modules/react-bootstrap/esm/ThemeProvider.js","../node_modules/react-bootstrap/esm/Button.js","../node_modules/dom-helpers/esm/contains.js","../node_modules/@restart/hooks/esm/useMounted.js","../node_modules/@restart/hooks/esm/useWillUnmount.js","../node_modules/@restart/hooks/esm/useUpdatedRef.js","../node_modules/@restart/hooks/esm/useTimeout.js","../node_modules/uncontrollable/lib/esm/utils.js","../node_modules/uncontrollable/lib/esm/hook.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/@restart/hooks/esm/useMergedRefs.js","../node_modules/@restart/hooks/esm/useCallbackRef.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/dequal/dist/index.mjs","../node_modules/@restart/hooks/esm/useSafeState.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@restart/ui/esm/popper.js","../node_modules/@restart/ui/esm/usePopper.js","../node_modules/dom-helpers/esm/canUseDOM.js","../node_modules/dom-helpers/esm/addEventListener.js","../node_modules/dom-helpers/esm/removeEventListener.js","../node_modules/dom-helpers/esm/listen.js","../node_modules/dom-helpers/esm/ownerDocument.js","../node_modules/@restart/hooks/esm/useCommittedRef.js","../node_modules/@restart/hooks/esm/useEventCallback.js","../node_modules/@restart/ui/esm/useClickOutside.js","../node_modules/@restart/ui/esm/useRootClose.js","../node_modules/@restart/ui/esm/useWindow.js","../node_modules/@restart/ui/esm/useWaitForDOMRef.js","../node_modules/@restart/ui/esm/mergeOptionsWithPopperConfig.js","../node_modules/@restart/ui/esm/Overlay.js","../node_modules/@restart/hooks/esm/useIsomorphicEffect.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/camelize.js","../node_modules/react-bootstrap/esm/createWithBsPrefix.js","../node_modules/react-bootstrap/esm/PopoverHeader.js","../node_modules/react-bootstrap/esm/PopoverBody.js","../node_modules/react-bootstrap/esm/helpers.js","../node_modules/react-bootstrap/esm/Popover.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/dom-helpers/esm/getComputedStyle.js","../node_modules/dom-helpers/esm/ownerWindow.js","../node_modules/dom-helpers/esm/hyphenate.js","../node_modules/dom-helpers/esm/hyphenateStyle.js","../node_modules/dom-helpers/esm/isTransform.js","../node_modules/dom-helpers/esm/css.js","../node_modules/dom-helpers/esm/transitionEnd.js","../node_modules/dom-helpers/esm/triggerEvent.js","../node_modules/react-bootstrap/esm/transitionEndListener.js","../node_modules/react-bootstrap/esm/safeFindDOMNode.js","../node_modules/react-bootstrap/esm/TransitionWrapper.js","../node_modules/react-bootstrap/esm/Fade.js","../node_modules/react-bootstrap/esm/triggerBrowserReflow.js","../node_modules/react-bootstrap/esm/Overlay.js","../node_modules/react-bootstrap/esm/useOverlayOffset.js","../node_modules/react-bootstrap/esm/OverlayTrigger.js","../node_modules/react-bootstrap/esm/Tooltip.js","../node_modules/react-bootstrap/esm/FormContext.js","../node_modules/react-bootstrap/esm/FormGroup.js","../node_modules/react-bootstrap/esm/FloatingLabel.js","../node_modules/react-bootstrap/esm/Feedback.js","../node_modules/react-bootstrap/esm/FormCheckInput.js","../node_modules/react-bootstrap/esm/FormCheckLabel.js","../node_modules/react-bootstrap/esm/FormCheck.js","../node_modules/react-bootstrap/esm/ElementChildren.js","../node_modules/react-bootstrap/esm/FormControl.js","../node_modules/react-bootstrap/esm/FormFloating.js","../node_modules/react-bootstrap/esm/Col.js","../node_modules/react-bootstrap/esm/FormLabel.js","../node_modules/react-bootstrap/esm/FormRange.js","../node_modules/react-bootstrap/esm/FormSelect.js","../node_modules/react-bootstrap/esm/FormText.js","../node_modules/react-bootstrap/esm/Switch.js","../node_modules/react-bootstrap/esm/Form.js","../node_modules/react-bootstrap/esm/Table.js","../node_modules/react-bootstrap/esm/ToggleButton.js","../node_modules/dom-helpers/esm/scrollbarSize.js","../node_modules/dom-helpers/esm/activeElement.js","../node_modules/@restart/ui/esm/ModalManager.js","../node_modules/@restart/ui/esm/DataKey.js","../node_modules/@restart/ui/esm/Modal.js","../node_modules/@restart/ui/esm/getScrollbarWidth.js","../node_modules/@restart/hooks/esm/usePrevious.js","../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../node_modules/@babel/runtime/helpers/esm/get.js","../node_modules/dom-helpers/esm/querySelectorAll.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-bootstrap/esm/BootstrapModalManager.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/react-bootstrap/esm/ModalBody.js","../node_modules/react-bootstrap/esm/ModalContext.js","../node_modules/react-bootstrap/esm/ModalDialog.js","../node_modules/react-bootstrap/esm/ModalFooter.js","../node_modules/react-bootstrap/esm/CloseButton.js","../node_modules/react-bootstrap/esm/AbstractModalHeader.js","../node_modules/react-bootstrap/esm/ModalHeader.js","../node_modules/react-bootstrap/esm/divWithClassName.js","../node_modules/react-bootstrap/esm/ModalTitle.js","../node_modules/react-bootstrap/esm/Modal.js","../node_modules/react-widgets/esm/Icon.js","../node_modules/react-widgets/esm/Button.js","../node_modules/date-arithmetic/index.js","../node_modules/react-widgets/esm/dates.js","../node_modules/react-widgets/esm/IntlLocalizer.js","../node_modules/react-widgets/esm/messages.js","../node_modules/react-widgets/esm/Localization.js","../node_modules/react-widgets/esm/Input.js","../node_modules/react-widgets/esm/PropTypes.js","../node_modules/react-widgets/esm/NumberInput.js","../node_modules/@restart/hooks/esm/useGlobalListener.js","../node_modules/@restart/hooks/esm/useEventListener.js","../node_modules/react-widgets/esm/Widget.js","../node_modules/react-widgets/esm/WidgetPicker.js","../node_modules/dom-helpers/esm/matches.js","../node_modules/@restart/hooks/esm/useFocusManager.js","../node_modules/react-widgets/esm/useFocusManager.js","../node_modules/react-widgets/esm/WidgetHelpers.js","../node_modules/react-widgets/esm/NumberPicker.js","../node_modules/react-icons/cg/index.esm.js","pages/Modals/CannonSettings.js","../node_modules/react-icons/hi/index.esm.js","pages/tables/FullWidthCellRenderer.jsx","../node_modules/react-icons/md/index.esm.js","pages/Modals/SetupWifi.js","../../../src/core.ts","../../../src/strings.ts","../../../src/state-manager.ts","../../../src/utils.ts","../../../src/zxing-html5-qrcode-decoder.ts","../../../src/native-bar-code-detector.ts","../../../src/code-decoder.ts","../../../src/experimental-features.ts","../../../src/html5-qrcode-scanner.ts","../../../src/html5-qrcode.ts","../../../src/image-assets.ts","../../../src/storage.ts","../../../src/ui.ts","../../../src/camera.ts","../node_modules/unique-names-generator/src/seed.ts","../node_modules/unique-names-generator/src/unique-names-generator.constructor.ts","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/unique-names-generator/src/unique-names-generator.ts","../node_modules/unique-names-generator/src/dictionaries/adjectives.ts","../node_modules/unique-names-generator/src/dictionaries/animals.ts","../node_modules/unique-names-generator/src/dictionaries/numbers.ts","pages/Modals/AddDevice.js","pages/tables/DeviceTable.js","footer.js","pages/Devices.js","../node_modules/react-bootstrap/esm/Row.js","pages/tables/UserTable.js","pages/tables/UnassignedDevicesTable.js","pages/AdminRender.js","../node_modules/react-icons/gi/index.esm.js","pages/Dashboard.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/reactstrap/src/utils.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/reactstrap/src/Container.js","../node_modules/reactstrap/src/Row.js","../node_modules/reactstrap/src/Col.js","../node_modules/reactstrap/src/Navbar.js","../node_modules/reactstrap/src/NavbarBrand.js","../node_modules/reactstrap/src/NavbarText.js","../node_modules/reactstrap/src/NavbarToggler.js","../node_modules/reactstrap/src/Nav.js","../node_modules/reactstrap/src/NavItem.js","../node_modules/reactstrap/src/NavLink.js","../node_modules/reactstrap/src/Breadcrumb.js","../node_modules/reactstrap/src/BreadcrumbItem.js","../node_modules/reactstrap/src/Button.js","../node_modules/reactstrap/src/ButtonToggle.js","../node_modules/reactstrap/src/DropdownContext.js","../node_modules/reactstrap/src/Dropdown.js","../node_modules/reactstrap/src/ButtonDropdown.js","../node_modules/reactstrap/src/ButtonGroup.js","../node_modules/reactstrap/src/ButtonToolbar.js","../node_modules/reactstrap/src/DropdownItem.js","../node_modules/reactstrap/src/DropdownMenu.js","../node_modules/reactstrap/src/DropdownToggle.js","../node_modules/reactstrap/src/Fade.js","../node_modules/reactstrap/src/AccordionContext.js","../node_modules/reactstrap/src/Accordion.js","../node_modules/reactstrap/src/UncontrolledAccordion.js","../node_modules/reactstrap/src/AccordionHeader.js","../node_modules/reactstrap/src/AccordionItem.js","../node_modules/reactstrap/src/Collapse.js","../node_modules/reactstrap/src/AccordionBody.js","../node_modules/reactstrap/src/Badge.js","../node_modules/reactstrap/src/Card.js","../node_modules/reactstrap/src/CardGroup.js","../node_modules/reactstrap/src/CardDeck.js","../node_modules/reactstrap/src/CardColumns.js","../node_modules/reactstrap/src/CardBody.js","../node_modules/reactstrap/src/CardLink.js","../node_modules/reactstrap/src/CardFooter.js","../node_modules/reactstrap/src/CardHeader.js","../node_modules/reactstrap/src/CardImg.js","../node_modules/reactstrap/src/CardImgOverlay.js","../node_modules/reactstrap/src/CarouselItem.js","../node_modules/reactstrap/src/CarouselContext.js","../node_modules/reactstrap/src/Carousel.js","../node_modules/reactstrap/src/CarouselControl.js","../node_modules/reactstrap/src/CarouselIndicators.js","../node_modules/reactstrap/src/CarouselCaption.js","../node_modules/reactstrap/src/UncontrolledCarousel.js","../node_modules/reactstrap/src/CardSubtitle.js","../node_modules/reactstrap/src/CardText.js","../node_modules/reactstrap/src/CardTitle.js","../node_modules/reactstrap/src/PopperContent.js","../node_modules/reactstrap/src/PopperTargetHelper.js","../node_modules/reactstrap/src/TooltipPopoverWrapper.js","../node_modules/reactstrap/src/Popover.js","../node_modules/reactstrap/src/UncontrolledPopover.js","../node_modules/reactstrap/src/PopoverHeader.js","../node_modules/reactstrap/src/PopoverBody.js","../node_modules/reactstrap/src/Progress.js","../node_modules/reactstrap/src/Portal.js","../node_modules/reactstrap/src/Modal.js","../node_modules/reactstrap/src/ModalHeader.js","../node_modules/reactstrap/src/ModalBody.js","../node_modules/reactstrap/src/ModalFooter.js","../node_modules/reactstrap/src/Tooltip.js","../node_modules/reactstrap/src/Table.js","../node_modules/reactstrap/src/ListGroup.js","../node_modules/reactstrap/src/Form.js","../node_modules/reactstrap/src/FormFeedback.js","../node_modules/reactstrap/src/FormGroup.js","../node_modules/reactstrap/src/FormText.js","../node_modules/reactstrap/src/Input.js","../node_modules/reactstrap/src/InputGroup.js","../node_modules/reactstrap/src/InputGroupText.js","../node_modules/reactstrap/src/Label.js","../node_modules/reactstrap/src/Media.js","../node_modules/reactstrap/src/Offcanvas.js","../node_modules/reactstrap/src/OffcanvasBody.js","../node_modules/reactstrap/src/OffcanvasHeader.js","../node_modules/reactstrap/src/Pagination.js","../node_modules/reactstrap/src/PaginationItem.js","../node_modules/reactstrap/src/PaginationLink.js","../node_modules/reactstrap/src/TabContext.js","../node_modules/reactstrap/src/TabContent.js","../node_modules/reactstrap/src/TabPane.js","../node_modules/reactstrap/src/Alert.js","../node_modules/reactstrap/src/Toast.js","../node_modules/reactstrap/src/ToastBody.js","../node_modules/reactstrap/src/ToastHeader.js","../node_modules/reactstrap/src/ListGroupItem.js","../node_modules/reactstrap/src/ListGroupItemHeading.js","../node_modules/reactstrap/src/ListGroupItemText.js","../node_modules/reactstrap/src/List.js","../node_modules/reactstrap/src/ListInlineItem.js","../node_modules/reactstrap/src/UncontrolledAlert.js","../node_modules/reactstrap/src/UncontrolledButtonDropdown.js","../node_modules/reactstrap/src/UncontrolledCollapse.js","../node_modules/reactstrap/src/UncontrolledDropdown.js","../node_modules/reactstrap/src/UncontrolledTooltip.js","../node_modules/reactstrap/src/Spinner.js","../node_modules/reactstrap/src/Placeholder.js","../node_modules/reactstrap/src/PlaceholderButton.js","../node_modules/reactstrap/src/polyfill.js","../node_modules/react-icons/fa/index.esm.js","NavMenu.js","Layout.js","pages/Login.js","pages/PasswordReset.js","App.js","serviceWorkerRegistration.js","reportWebVitals.js","index.js"],"sourcesContent":["/**\n * @ag-grid-community/all-modules - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * If value is undefined, null or blank, returns null, otherwise returns the value\n * @param {T} value\n * @returns {T | null}\n */\nfunction makeNull(value) {\n if (value == null || value === '') {\n return null;\n }\n return value;\n}\nfunction exists(value, allowEmptyString) {\n if (allowEmptyString === void 0) { allowEmptyString = false; }\n return value != null && (value !== '' || allowEmptyString);\n}\nfunction missing(value) {\n return !exists(value);\n}\nfunction missingOrEmpty(value) {\n return value == null || value.length === 0;\n}\nfunction toStringOrNull(value) {\n return value != null && typeof value.toString === 'function' ? value.toString() : null;\n}\n// for parsing html attributes, where we want empty strings and missing attributes to be undefined\nfunction attrToNumber(value) {\n if (value === undefined) {\n // undefined or empty means ignore the value\n return;\n }\n if (value === null || value === '') {\n // null or blank means clear\n return null;\n }\n if (typeof value === 'number') {\n return isNaN(value) ? undefined : value;\n }\n var valueParsed = parseInt(value, 10);\n return isNaN(valueParsed) ? undefined : valueParsed;\n}\n// for parsing html attributes, where we want empty strings and missing attributes to be undefined\nfunction attrToBoolean(value) {\n if (value === undefined) {\n // undefined or empty means ignore the value\n return;\n }\n if (value === null || value === '') {\n // null means clear\n return false;\n }\n if (typeof value === 'boolean') {\n // if simple boolean, return the boolean\n return value;\n }\n // if equal to the string 'true' (ignoring case) then return true\n return (/true/i).test(value);\n}\n// for parsing html attributes, where we want empty strings and missing attributes to be undefined\nfunction attrToString(value) {\n if (value == null || value === '') {\n return;\n }\n return value;\n}\n/** @deprecated */\nfunction referenceCompare(left, right) {\n if (left == null && right == null) {\n return true;\n }\n if (left == null && right != null) {\n return false;\n }\n if (left != null && right == null) {\n return false;\n }\n return left === right;\n}\nfunction jsonEquals(val1, val2) {\n var val1Json = val1 ? JSON.stringify(val1) : null;\n var val2Json = val2 ? JSON.stringify(val2) : null;\n return val1Json === val2Json;\n}\nfunction defaultComparator(valueA, valueB, accentedCompare) {\n if (accentedCompare === void 0) { accentedCompare = false; }\n var valueAMissing = valueA == null;\n var valueBMissing = valueB == null;\n // this is for aggregations sum and avg, where the result can be a number that is wrapped.\n // if we didn't do this, then the toString() value would be used, which would result in\n // the strings getting used instead of the numbers.\n if (valueA && valueA.toNumber) {\n valueA = valueA.toNumber();\n }\n if (valueB && valueB.toNumber) {\n valueB = valueB.toNumber();\n }\n if (valueAMissing && valueBMissing) {\n return 0;\n }\n if (valueAMissing) {\n return -1;\n }\n if (valueBMissing) {\n return 1;\n }\n function doQuickCompare(a, b) {\n return (a > b ? 1 : (a < b ? -1 : 0));\n }\n if (typeof valueA !== 'string') {\n return doQuickCompare(valueA, valueB);\n }\n if (!accentedCompare) {\n return doQuickCompare(valueA, valueB);\n }\n try {\n // using local compare also allows chinese comparisons\n return valueA.localeCompare(valueB);\n }\n catch (e) {\n // if something wrong with localeCompare, eg not supported\n // by browser, then just continue with the quick one\n return doQuickCompare(valueA, valueB);\n }\n}\nfunction values(object) {\n if (object instanceof Set || object instanceof Map) {\n var arr_1 = [];\n object.forEach(function (value) { return arr_1.push(value); });\n return arr_1;\n }\n return Object.values(object);\n}\n\nvar GenericUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n makeNull: makeNull,\n exists: exists,\n missing: missing,\n missingOrEmpty: missingOrEmpty,\n toStringOrNull: toStringOrNull,\n attrToNumber: attrToNumber,\n attrToBoolean: attrToBoolean,\n attrToString: attrToString,\n referenceCompare: referenceCompare,\n jsonEquals: jsonEquals,\n defaultComparator: defaultComparator,\n values: values\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ColumnKeyCreator = /** @class */ (function () {\n function ColumnKeyCreator() {\n this.existingKeys = {};\n }\n ColumnKeyCreator.prototype.addExistingKeys = function (keys) {\n for (var i = 0; i < keys.length; i++) {\n this.existingKeys[keys[i]] = true;\n }\n };\n ColumnKeyCreator.prototype.getUniqueKey = function (colId, colField) {\n // in case user passed in number for colId, convert to string\n colId = toStringOrNull(colId);\n var count = 0;\n while (true) {\n var idToTry = void 0;\n if (colId) {\n idToTry = colId;\n if (count !== 0) {\n idToTry += '_' + count;\n }\n }\n else if (colField) {\n idToTry = colField;\n if (count !== 0) {\n idToTry += '_' + count;\n }\n }\n else {\n idToTry = '' + count;\n }\n if (!this.existingKeys[idToTry]) {\n this.existingKeys[idToTry] = true;\n return idToTry;\n }\n count++;\n }\n };\n return ColumnKeyCreator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction iterateObject(object, callback) {\n if (object == null) {\n return;\n }\n if (Array.isArray(object)) {\n object.forEach(function (value, index) { return callback(\"\" + index, value); });\n }\n else {\n Object.keys(object).forEach(function (key) { return callback(key, object[key]); });\n }\n}\nfunction cloneObject(object) {\n var copy = {};\n var keys = Object.keys(object);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = object[key];\n copy[key] = value;\n }\n return copy;\n}\nfunction deepCloneObject(object) {\n return JSON.parse(JSON.stringify(object));\n}\n// returns copy of an object, doing a deep clone of any objects with that object.\n// this is used for eg creating copies of Column Definitions, where we want to\n// deep copy all objects, but do not want to deep copy functions (eg when user provides\n// a function or class for colDef.cellRenderer)\nfunction deepCloneDefinition(object, keysToSkip) {\n if (!object) {\n return;\n }\n var obj = object;\n var res = {};\n Object.keys(obj).forEach(function (key) {\n if (keysToSkip && keysToSkip.indexOf(key) >= 0) {\n return;\n }\n var value = obj[key];\n // 'simple object' means a bunch of key/value pairs, eg {filter: 'myFilter'}. it does\n // NOT include the following:\n // 1) arrays\n // 2) functions or classes (eg ColumnAPI instance)\n var sourceIsSimpleObject = isNonNullObject(value) && value.constructor === Object;\n if (sourceIsSimpleObject) {\n res[key] = deepCloneDefinition(value);\n }\n else {\n res[key] = value;\n }\n });\n return res;\n}\nfunction getProperty(object, key) {\n return object[key];\n}\nfunction setProperty(object, key, value) {\n object[key] = value;\n}\n/**\n * Will copy the specified properties from `source` into the equivalent properties on `target`, ignoring properties with\n * a value of `undefined`.\n */\nfunction copyPropertiesIfPresent(source, target) {\n var properties = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n properties[_i - 2] = arguments[_i];\n }\n properties.forEach(function (p) { return copyPropertyIfPresent(source, target, p); });\n}\n/**\n * Will copy the specified property from `source` into the equivalent property on `target`, unless the property has a\n * value of `undefined`. If a transformation is provided, it will be applied to the value before being set on `target`.\n */\nfunction copyPropertyIfPresent(source, target, property, transform) {\n var value = getProperty(source, property);\n if (value !== undefined) {\n setProperty(target, property, transform ? transform(value) : value);\n }\n}\nfunction getAllKeysInObjects(objects) {\n var allValues = {};\n objects.filter(function (obj) { return obj != null; }).forEach(function (obj) {\n Object.keys(obj).forEach(function (key) { return allValues[key] = null; });\n });\n return Object.keys(allValues);\n}\nfunction getAllValuesInObject(obj) {\n if (!obj) {\n return [];\n }\n var anyObject = Object;\n if (typeof anyObject.values === 'function') {\n return anyObject.values(obj);\n }\n var ret = [];\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj.propertyIsEnumerable(key)) {\n ret.push(obj[key]);\n }\n }\n return ret;\n}\nfunction mergeDeep(dest, source, copyUndefined, makeCopyOfSimpleObjects) {\n if (copyUndefined === void 0) { copyUndefined = true; }\n if (makeCopyOfSimpleObjects === void 0) { makeCopyOfSimpleObjects = false; }\n if (!exists(source)) {\n return;\n }\n iterateObject(source, function (key, sourceValue) {\n var destValue = dest[key];\n if (destValue === sourceValue) {\n return;\n }\n // when creating params, we don't want to just copy objects over. otherwise merging ColDefs (eg DefaultColDef\n // and Column Types) would result in params getting shared between objects.\n // by putting an empty value into destValue first, it means we end up copying over values from\n // the source object, rather than just copying in the source object in it's entirety.\n if (makeCopyOfSimpleObjects) {\n var objectIsDueToBeCopied = destValue == null && sourceValue != null;\n if (objectIsDueToBeCopied) {\n // 'simple object' means a bunch of key/value pairs, eg {filter: 'myFilter'}, as opposed\n // to a Class instance (such as ColumnAPI instance).\n var sourceIsSimpleObject = typeof sourceValue === 'object' && sourceValue.constructor === Object;\n var dontCopy = sourceIsSimpleObject;\n if (dontCopy) {\n destValue = {};\n dest[key] = destValue;\n }\n }\n }\n if (isNonNullObject(sourceValue) && isNonNullObject(destValue) && !Array.isArray(destValue)) {\n mergeDeep(destValue, sourceValue, copyUndefined, makeCopyOfSimpleObjects);\n }\n else if (copyUndefined || sourceValue !== undefined) {\n dest[key] = sourceValue;\n }\n });\n}\nfunction missingOrEmptyObject(value) {\n return missing(value) || Object.keys(value).length === 0;\n}\nfunction get(source, expression, defaultValue) {\n if (source == null) {\n return defaultValue;\n }\n var keys = expression.split('.');\n var objectToRead = source;\n while (keys.length > 1) {\n objectToRead = objectToRead[keys.shift()];\n if (objectToRead == null) {\n return defaultValue;\n }\n }\n var value = objectToRead[keys[0]];\n return value != null ? value : defaultValue;\n}\nfunction set(target, expression, value) {\n if (target == null) {\n return;\n }\n var keys = expression.split('.');\n var objectToUpdate = target;\n while (keys.length > 1) {\n objectToUpdate = objectToUpdate[keys.shift()];\n if (objectToUpdate == null) {\n return;\n }\n }\n objectToUpdate[keys[0]] = value;\n}\nfunction deepFreeze(object) {\n Object.freeze(object);\n values(object).forEach(function (v) {\n if (isNonNullObject(v) || typeof v === 'function') {\n deepFreeze(v);\n }\n });\n return object;\n}\nfunction getValueUsingField(data, field, fieldContainsDots) {\n if (!field || !data) {\n return;\n }\n // if no '.', then it's not a deep value\n if (!fieldContainsDots) {\n return data[field];\n }\n // otherwise it is a deep value, so need to dig for it\n var fields = field.split('.');\n var currentObject = data;\n for (var i = 0; i < fields.length; i++) {\n if (currentObject == null) {\n return undefined;\n }\n currentObject = currentObject[fields[i]];\n }\n return currentObject;\n}\n// used by ColumnAPI and GridAPI to remove all references, so keeping grid in memory resulting in a\n// memory leak if user is not disposing of the GridAPI or ColumnApi references\nfunction removeAllReferences(obj, objectName) {\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n // we want to replace all the @autowired services, which are objects. any simple types (boolean, string etc)\n // we don't care about\n if (typeof value === 'object') {\n obj[key] = undefined;\n }\n });\n var proto = Object.getPrototypeOf(obj);\n var properties = {};\n Object.keys(proto).forEach(function (key) {\n var value = proto[key];\n // leave all basic types - this is needed for GridAPI to leave the \"destroyed: boolean\" attribute alone\n if (typeof value === 'function') {\n var func = function () {\n console.warn(\"AG Grid: \" + objectName + \" function \" + key + \"() cannot be called as the grid has been destroyed.\\n Please don't call grid API functions on destroyed grids - as a matter of fact you shouldn't\\n be keeping the API reference, your application has a memory leak! Remove the API reference\\n when the grid is destroyed.\");\n };\n properties[key] = { value: func, writable: true };\n }\n });\n Object.defineProperties(obj, properties);\n}\nfunction isNonNullObject(value) {\n return typeof value === 'object' && value !== null;\n}\n\nvar ObjectUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n iterateObject: iterateObject,\n cloneObject: cloneObject,\n deepCloneObject: deepCloneObject,\n deepCloneDefinition: deepCloneDefinition,\n getProperty: getProperty,\n setProperty: setProperty,\n copyPropertiesIfPresent: copyPropertiesIfPresent,\n copyPropertyIfPresent: copyPropertyIfPresent,\n getAllKeysInObjects: getAllKeysInObjects,\n getAllValuesInObject: getAllValuesInObject,\n mergeDeep: mergeDeep,\n missingOrEmptyObject: missingOrEmptyObject,\n get: get,\n set: set,\n deepFreeze: deepFreeze,\n getValueUsingField: getValueUsingField,\n removeAllReferences: removeAllReferences,\n isNonNullObject: isNonNullObject\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar doOnceFlags = {};\n/**\n * If the key was passed before, then doesn't execute the func\n * @param {Function} func\n * @param {string} key\n */\nfunction doOnce(func, key) {\n if (doOnceFlags[key]) {\n return;\n }\n func();\n doOnceFlags[key] = true;\n}\nfunction getFunctionName(funcConstructor) {\n // for every other browser in the world\n if (funcConstructor.name) {\n return funcConstructor.name;\n }\n // for the pestilence that is ie11\n var matches = /function\\s+([^\\(]+)/.exec(funcConstructor.toString());\n return matches && matches.length === 2 ? matches[1].trim() : null;\n}\nfunction isFunction(val) {\n return !!(val && val.constructor && val.call && val.apply);\n}\nfunction executeInAWhile(funcs) {\n executeAfter(funcs, 400);\n}\nvar executeNextVMTurnFuncs = [];\nvar executeNextVMTurnPending = false;\nfunction executeNextVMTurn(func) {\n executeNextVMTurnFuncs.push(func);\n if (executeNextVMTurnPending) {\n return;\n }\n executeNextVMTurnPending = true;\n window.setTimeout(function () {\n var funcsCopy = executeNextVMTurnFuncs.slice();\n executeNextVMTurnFuncs.length = 0;\n executeNextVMTurnPending = false;\n funcsCopy.forEach(function (func) { return func(); });\n }, 0);\n}\nfunction executeAfter(funcs, milliseconds) {\n if (milliseconds === void 0) { milliseconds = 0; }\n if (funcs.length > 0) {\n window.setTimeout(function () { return funcs.forEach(function (func) { return func(); }); }, milliseconds);\n }\n}\n/**\n * from https://stackoverflow.com/questions/24004791/can-someone-explain-the-debounce-function-in-javascript\n * @param {Function} func The function to be debounced\n * @param {number} wait The time in ms to debounce\n * @param {boolean} immediate If it should run immediately or wait for the initial debounce delay\n * @return {Function} The debounced function\n */\nfunction debounce(func, wait, immediate) {\n if (immediate === void 0) { immediate = false; }\n // 'private' variable for instance\n // The returned function will be able to reference this due to closure.\n // Each call to the returned function will share this common timer.\n var timeout;\n // Calling debounce returns a new anonymous function\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // reference the context and args for the setTimeout function\n var context = this;\n // Should the function be called now? If immediate is true\n // and not already in a timeout then the answer is: Yes\n var callNow = immediate && !timeout;\n // This is the basic debounce behaviour where you can call this\n // function several times, but it will only execute once\n // [before or after imposing a delay].\n // Each time the returned function is called, the timer starts over.\n window.clearTimeout(timeout);\n // Set the new timeout\n timeout = window.setTimeout(function () {\n // Inside the timeout function, clear the timeout variable\n // which will let the next execution run when in 'immediate' mode\n timeout = null;\n // Check if the function already ran with the immediate flag\n if (!immediate) {\n // Call the original function with apply\n // apply lets you define the 'this' object as well as the arguments\n // (both captured before setTimeout)\n func.apply(context, args);\n }\n }, wait);\n // Immediate mode and no wait timer? Execute the function..\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n/**\n * @param {Function} func The function to be throttled\n * @param {number} wait The time in ms to throttle\n * @return {Function} The throttled function\n */\nfunction throttle(func, wait) {\n var previousCall = 0;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this;\n var currentCall = new Date().getTime();\n if (currentCall - previousCall < wait) {\n return;\n }\n previousCall = currentCall;\n func.apply(context, args);\n };\n}\nfunction waitUntil(condition, callback, timeout, timeoutMessage) {\n if (timeout === void 0) { timeout = 100; }\n var timeStamp = new Date().getTime();\n var interval = null;\n var executed = false;\n var internalCallback = function () {\n var reachedTimeout = ((new Date().getTime()) - timeStamp) > timeout;\n if (condition() || reachedTimeout) {\n callback();\n executed = true;\n if (interval != null) {\n window.clearInterval(interval);\n interval = null;\n }\n if (reachedTimeout && timeoutMessage) {\n console.warn(timeoutMessage);\n }\n }\n };\n internalCallback();\n if (!executed) {\n interval = window.setInterval(internalCallback, 10);\n }\n}\nfunction compose() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return function (arg) { return fns.reduce(function (composed, f) { return f(composed); }, arg); };\n}\nfunction callIfPresent(func) {\n if (func) {\n func();\n }\n}\nvar noop = function () { return; };\n\nvar FunctionUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n doOnce: doOnce,\n getFunctionName: getFunctionName,\n isFunction: isFunction,\n executeInAWhile: executeInAWhile,\n executeNextVMTurn: executeNextVMTurn,\n executeAfter: executeAfter,\n debounce: debounce,\n throttle: throttle,\n waitUntil: waitUntil,\n compose: compose,\n callIfPresent: callIfPresent,\n noop: noop\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar Context = /** @class */ (function () {\n function Context(params, logger) {\n this.beanWrappers = {};\n this.destroyed = false;\n if (!params || !params.beanClasses) {\n return;\n }\n this.contextParams = params;\n this.logger = logger;\n this.logger.log(\">> creating ag-Application Context\");\n this.createBeans();\n var beanInstances = this.getBeanInstances();\n this.wireBeans(beanInstances);\n this.logger.log(\">> ag-Application Context ready - component is alive\");\n }\n Context.prototype.getBeanInstances = function () {\n return values(this.beanWrappers).map(function (beanEntry) { return beanEntry.beanInstance; });\n };\n Context.prototype.createBean = function (bean, afterPreCreateCallback) {\n if (!bean) {\n throw Error(\"Can't wire to bean since it is null\");\n }\n this.wireBeans([bean], afterPreCreateCallback);\n return bean;\n };\n Context.prototype.wireBeans = function (beanInstances, afterPreCreateCallback) {\n this.autoWireBeans(beanInstances);\n this.methodWireBeans(beanInstances);\n this.callLifeCycleMethods(beanInstances, 'preConstructMethods');\n // the callback sets the attributes, so the component has access to attributes\n // before postConstruct methods in the component are executed\n if (exists(afterPreCreateCallback)) {\n beanInstances.forEach(afterPreCreateCallback);\n }\n this.callLifeCycleMethods(beanInstances, 'postConstructMethods');\n };\n Context.prototype.createBeans = function () {\n var _this = this;\n // register all normal beans\n this.contextParams.beanClasses.forEach(this.createBeanWrapper.bind(this));\n // register override beans, these will overwrite beans above of same name\n // instantiate all beans - overridden beans will be left out\n iterateObject(this.beanWrappers, function (key, beanEntry) {\n var constructorParamsMeta;\n if (beanEntry.bean.__agBeanMetaData && beanEntry.bean.__agBeanMetaData.autowireMethods && beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor) {\n constructorParamsMeta = beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor;\n }\n var constructorParams = _this.getBeansForParameters(constructorParamsMeta, beanEntry.bean.name);\n var newInstance = applyToConstructor(beanEntry.bean, constructorParams);\n beanEntry.beanInstance = newInstance;\n });\n var createdBeanNames = Object.keys(this.beanWrappers).join(', ');\n this.logger.log(\"created beans: \" + createdBeanNames);\n };\n // tslint:disable-next-line\n Context.prototype.createBeanWrapper = function (BeanClass) {\n var metaData = BeanClass.__agBeanMetaData;\n if (!metaData) {\n var beanName = void 0;\n if (BeanClass.prototype.constructor) {\n beanName = getFunctionName(BeanClass.prototype.constructor);\n }\n else {\n beanName = \"\" + BeanClass;\n }\n console.error(\"Context item \" + beanName + \" is not a bean\");\n return;\n }\n var beanEntry = {\n bean: BeanClass,\n beanInstance: null,\n beanName: metaData.beanName\n };\n this.beanWrappers[metaData.beanName] = beanEntry;\n };\n Context.prototype.autoWireBeans = function (beanInstances) {\n var _this = this;\n beanInstances.forEach(function (beanInstance) {\n _this.forEachMetaDataInHierarchy(beanInstance, function (metaData, beanName) {\n var attributes = metaData.agClassAttributes;\n if (!attributes) {\n return;\n }\n attributes.forEach(function (attribute) {\n var otherBean = _this.lookupBeanInstance(beanName, attribute.beanName, attribute.optional);\n beanInstance[attribute.attributeName] = otherBean;\n });\n });\n });\n };\n Context.prototype.methodWireBeans = function (beanInstances) {\n var _this = this;\n beanInstances.forEach(function (beanInstance) {\n _this.forEachMetaDataInHierarchy(beanInstance, function (metaData, beanName) {\n iterateObject(metaData.autowireMethods, function (methodName, wireParams) {\n // skip constructor, as this is dealt with elsewhere\n if (methodName === \"agConstructor\") {\n return;\n }\n var initParams = _this.getBeansForParameters(wireParams, beanName);\n beanInstance[methodName].apply(beanInstance, initParams);\n });\n });\n });\n };\n Context.prototype.forEachMetaDataInHierarchy = function (beanInstance, callback) {\n var prototype = Object.getPrototypeOf(beanInstance);\n while (prototype != null) {\n var constructor = prototype.constructor;\n if (constructor.hasOwnProperty('__agBeanMetaData')) {\n var metaData = constructor.__agBeanMetaData;\n var beanName = this.getBeanName(constructor);\n callback(metaData, beanName);\n }\n prototype = Object.getPrototypeOf(prototype);\n }\n };\n Context.prototype.getBeanName = function (constructor) {\n if (constructor.__agBeanMetaData && constructor.__agBeanMetaData.beanName) {\n return constructor.__agBeanMetaData.beanName;\n }\n var constructorString = constructor.toString();\n var beanName = constructorString.substring(9, constructorString.indexOf(\"(\"));\n return beanName;\n };\n Context.prototype.getBeansForParameters = function (parameters, beanName) {\n var _this = this;\n var beansList = [];\n if (parameters) {\n iterateObject(parameters, function (paramIndex, otherBeanName) {\n var otherBean = _this.lookupBeanInstance(beanName, otherBeanName);\n beansList[Number(paramIndex)] = otherBean;\n });\n }\n return beansList;\n };\n Context.prototype.lookupBeanInstance = function (wiringBean, beanName, optional) {\n if (optional === void 0) { optional = false; }\n if (beanName === \"context\") {\n return this;\n }\n if (this.contextParams.providedBeanInstances && this.contextParams.providedBeanInstances.hasOwnProperty(beanName)) {\n return this.contextParams.providedBeanInstances[beanName];\n }\n var beanEntry = this.beanWrappers[beanName];\n if (beanEntry) {\n return beanEntry.beanInstance;\n }\n if (!optional) {\n console.error(\"AG Grid: unable to find bean reference \" + beanName + \" while initialising \" + wiringBean);\n }\n return null;\n };\n Context.prototype.callLifeCycleMethods = function (beanInstances, lifeCycleMethod) {\n var _this = this;\n beanInstances.forEach(function (beanInstance) { return _this.callLifeCycleMethodsOnBean(beanInstance, lifeCycleMethod); });\n };\n Context.prototype.callLifeCycleMethodsOnBean = function (beanInstance, lifeCycleMethod, methodToIgnore) {\n // putting all methods into a map removes duplicates\n var allMethods = {};\n // dump methods from each level of the metadata hierarchy\n this.forEachMetaDataInHierarchy(beanInstance, function (metaData) {\n var methods = metaData[lifeCycleMethod];\n if (methods) {\n methods.forEach(function (methodName) {\n if (methodName != methodToIgnore) {\n allMethods[methodName] = true;\n }\n });\n }\n });\n var allMethodsList = Object.keys(allMethods);\n allMethodsList.forEach(function (methodName) { return beanInstance[methodName](); });\n };\n Context.prototype.getBean = function (name) {\n return this.lookupBeanInstance(\"getBean\", name, true);\n };\n Context.prototype.destroy = function () {\n if (this.destroyed) {\n return;\n }\n this.logger.log(\">> Shutting down ag-Application Context\");\n var beanInstances = this.getBeanInstances();\n this.destroyBeans(beanInstances);\n this.contextParams.providedBeanInstances = null;\n this.destroyed = true;\n this.logger.log(\">> ag-Application Context shut down - component is dead\");\n };\n Context.prototype.destroyBean = function (bean) {\n if (!bean) {\n return;\n }\n this.destroyBeans([bean]);\n };\n Context.prototype.destroyBeans = function (beans) {\n var _this = this;\n if (!beans) {\n return [];\n }\n beans.forEach(function (bean) {\n _this.callLifeCycleMethodsOnBean(bean, 'preDestroyMethods', 'destroy');\n // call destroy() explicitly if it exists\n var beanAny = bean;\n if (typeof beanAny.destroy === 'function') {\n beanAny.destroy();\n }\n });\n return [];\n };\n return Context;\n}());\n// taken from: http://stackoverflow.com/questions/3362471/how-can-i-call-a-javascript-constructor-using-call-or-apply\n// allows calling 'apply' on a constructor\nfunction applyToConstructor(constructor, argArray) {\n var args = [null].concat(argArray);\n var factoryFunction = constructor.bind.apply(constructor, args);\n return new factoryFunction();\n}\nfunction PreConstruct(target, methodName, descriptor) {\n var props = getOrCreateProps$1(target.constructor);\n if (!props.preConstructMethods) {\n props.preConstructMethods = [];\n }\n props.preConstructMethods.push(methodName);\n}\nfunction PostConstruct(target, methodName, descriptor) {\n var props = getOrCreateProps$1(target.constructor);\n if (!props.postConstructMethods) {\n props.postConstructMethods = [];\n }\n props.postConstructMethods.push(methodName);\n}\nfunction PreDestroy(target, methodName, descriptor) {\n var props = getOrCreateProps$1(target.constructor);\n if (!props.preDestroyMethods) {\n props.preDestroyMethods = [];\n }\n props.preDestroyMethods.push(methodName);\n}\nfunction Bean(beanName) {\n return function (classConstructor) {\n var props = getOrCreateProps$1(classConstructor);\n props.beanName = beanName;\n };\n}\nfunction Autowired(name) {\n return function (target, propertyKey, descriptor) {\n autowiredFunc(target, name, false, target, propertyKey, null);\n };\n}\nfunction Optional(name) {\n return function (target, propertyKey, descriptor) {\n autowiredFunc(target, name, true, target, propertyKey, null);\n };\n}\nfunction autowiredFunc(target, name, optional, classPrototype, methodOrAttributeName, index) {\n if (name === null) {\n console.error(\"AG Grid: Autowired name should not be null\");\n return;\n }\n if (typeof index === \"number\") {\n console.error(\"AG Grid: Autowired should be on an attribute\");\n return;\n }\n // it's an attribute on the class\n var props = getOrCreateProps$1(target.constructor);\n if (!props.agClassAttributes) {\n props.agClassAttributes = [];\n }\n props.agClassAttributes.push({\n attributeName: methodOrAttributeName,\n beanName: name,\n optional: optional\n });\n}\nfunction Qualifier(name) {\n return function (classPrototype, methodOrAttributeName, index) {\n var constructor = typeof classPrototype == \"function\" ? classPrototype : classPrototype.constructor;\n var props;\n if (typeof index === \"number\") {\n // it's a parameter on a method\n var methodName = void 0;\n if (methodOrAttributeName) {\n props = getOrCreateProps$1(constructor);\n methodName = methodOrAttributeName;\n }\n else {\n props = getOrCreateProps$1(constructor);\n methodName = \"agConstructor\";\n }\n if (!props.autowireMethods) {\n props.autowireMethods = {};\n }\n if (!props.autowireMethods[methodName]) {\n props.autowireMethods[methodName] = {};\n }\n props.autowireMethods[methodName][index] = name;\n }\n };\n}\nfunction getOrCreateProps$1(target) {\n if (!target.hasOwnProperty(\"__agBeanMetaData\")) {\n target.__agBeanMetaData = {};\n }\n return target.__agBeanMetaData;\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$i = (undefined && undefined.__assign) || function () {\n __assign$i = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$i.apply(this, arguments);\n};\nvar __decorate$2A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$a = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar EventService = /** @class */ (function () {\n function EventService() {\n this.allSyncListeners = new Map();\n this.allAsyncListeners = new Map();\n this.globalSyncListeners = new Set();\n this.globalAsyncListeners = new Set();\n this.asyncFunctionsQueue = [];\n this.scheduled = false;\n // using an object performs better than a Set for the number of different events we have\n this.firedEvents = {};\n }\n // because this class is used both inside the context and outside the context, we do not\n // use autowired attributes, as that would be confusing, as sometimes the attributes\n // would be wired, and sometimes not.\n //\n // the global event servers used by AG Grid is autowired by the context once, and this\n // setBeans method gets called once.\n //\n // the times when this class is used outside of the context (eg RowNode has an instance of this\n // class) then it is not a bean, and this setBeans method is not called.\n EventService.prototype.setBeans = function (loggerFactory, gridOptionsWrapper, frameworkOverrides, globalEventListener) {\n if (globalEventListener === void 0) { globalEventListener = null; }\n this.frameworkOverrides = frameworkOverrides;\n this.gridOptionsWrapper = gridOptionsWrapper;\n if (globalEventListener) {\n var async = gridOptionsWrapper.useAsyncEvents();\n this.addGlobalListener(globalEventListener, async);\n }\n };\n EventService.prototype.getListeners = function (eventType, async, autoCreateListenerCollection) {\n var listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;\n var listeners = listenerMap.get(eventType);\n // Note: 'autoCreateListenerCollection' should only be 'true' if a listener is about to be added. For instance\n // getListeners() is also called during event dispatch even though no listeners are added. This measure protects\n // against 'memory bloat' as empty collections will prevent the RowNode's event service from being removed after\n // the RowComp is destroyed, see noRegisteredListenersExist() below.\n if (!listeners && autoCreateListenerCollection) {\n listeners = new Set();\n listenerMap.set(eventType, listeners);\n }\n return listeners;\n };\n EventService.prototype.noRegisteredListenersExist = function () {\n return this.allSyncListeners.size === 0 && this.allAsyncListeners.size === 0 &&\n this.globalSyncListeners.size === 0 && this.globalAsyncListeners.size === 0;\n };\n EventService.prototype.addEventListener = function (eventType, listener, async) {\n if (async === void 0) { async = false; }\n this.getListeners(eventType, async, true).add(listener);\n };\n EventService.prototype.removeEventListener = function (eventType, listener, async) {\n if (async === void 0) { async = false; }\n var listeners = this.getListeners(eventType, async, false);\n if (!listeners) {\n return;\n }\n listeners.delete(listener);\n if (listeners.size === 0) {\n var listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;\n listenerMap.delete(eventType);\n }\n };\n EventService.prototype.addGlobalListener = function (listener, async) {\n if (async === void 0) { async = false; }\n (async ? this.globalAsyncListeners : this.globalSyncListeners).add(listener);\n };\n EventService.prototype.removeGlobalListener = function (listener, async) {\n if (async === void 0) { async = false; }\n (async ? this.globalAsyncListeners : this.globalSyncListeners).delete(listener);\n };\n EventService.prototype.dispatchEvent = function (event) {\n var agEvent = event;\n if (this.gridOptionsWrapper) {\n // Apply common properties to all dispatched events if this event service has had its beans set with gridOptionsWrapper.\n // Note there are multiple instances of EventService that are used local to components which do not set gridOptionsWrapper. \n agEvent = __assign$i(__assign$i({}, event), { api: this.gridOptionsWrapper.getApi(), columnApi: this.gridOptionsWrapper.getColumnApi(), context: this.gridOptionsWrapper.getContext() });\n }\n this.dispatchToListeners(agEvent, true);\n this.dispatchToListeners(agEvent, false);\n this.firedEvents[agEvent.type] = true;\n };\n EventService.prototype.dispatchEventOnce = function (event) {\n if (!this.firedEvents[event.type]) {\n this.dispatchEvent(event);\n }\n };\n EventService.prototype.dispatchToListeners = function (event, async) {\n var _this = this;\n var eventType = event.type;\n var processEventListeners = function (listeners) { return listeners.forEach(function (listener) {\n if (async) {\n _this.dispatchAsync(function () { return listener(event); });\n }\n else {\n listener(event);\n }\n }); };\n var listeners = this.getListeners(eventType, async, false);\n if (listeners) {\n processEventListeners(listeners);\n }\n var globalListeners = async ? this.globalAsyncListeners : this.globalSyncListeners;\n globalListeners.forEach(function (listener) {\n if (async) {\n _this.dispatchAsync(function () { return _this.frameworkOverrides.dispatchEvent(eventType, function () { return listener(eventType, event); }, true); });\n }\n else {\n _this.frameworkOverrides.dispatchEvent(eventType, function () { return listener(eventType, event); }, true);\n }\n });\n };\n // this gets called inside the grid's thread, for each event that it\n // wants to set async. the grid then batches the events into one setTimeout()\n // because setTimeout() is an expensive operation. ideally we would have\n // each event in it's own setTimeout(), but we batch for performance.\n EventService.prototype.dispatchAsync = function (func) {\n // add to the queue for executing later in the next VM turn\n this.asyncFunctionsQueue.push(func);\n // check if timeout is already scheduled. the first time the grid calls\n // this within it's thread turn, this should be false, so it will schedule\n // the 'flush queue' method the first time it comes here. then the flag is\n // set to 'true' so it will know it's already scheduled for subsequent calls.\n if (!this.scheduled) {\n // if not scheduled, schedule one\n window.setTimeout(this.flushAsyncQueue.bind(this), 0);\n // mark that it is scheduled\n this.scheduled = true;\n }\n };\n // this happens in the next VM turn only, and empties the queue of events\n EventService.prototype.flushAsyncQueue = function () {\n this.scheduled = false;\n // we take a copy, because the event listener could be using\n // the grid, which would cause more events, which would be potentially\n // added to the queue, so safe to take a copy, the new events will\n // get executed in a later VM turn rather than risk updating the\n // queue as we are flushing it.\n var queueCopy = this.asyncFunctionsQueue.slice();\n this.asyncFunctionsQueue = [];\n // execute the queue\n queueCopy.forEach(function (func) { return func(); });\n };\n __decorate$2A([\n __param$a(0, Qualifier('loggerFactory')),\n __param$a(1, Qualifier('gridOptionsWrapper')),\n __param$a(2, Qualifier('frameworkOverrides')),\n __param$a(3, Qualifier('globalEventListener'))\n ], EventService.prototype, \"setBeans\", null);\n EventService = __decorate$2A([\n Bean('eventService')\n ], EventService);\n return EventService;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar Constants = /** @class */ (function () {\n function Constants() {\n }\n Constants.ROW_BUFFER_SIZE = 10;\n Constants.LAYOUT_INTERVAL = 500;\n Constants.BATCH_WAIT_MILLIS = 50;\n Constants.EXPORT_TYPE_DRAG_COPY = 'dragCopy';\n Constants.EXPORT_TYPE_CLIPBOARD = 'clipboard';\n Constants.EXPORT_TYPE_EXCEL = 'excel';\n Constants.EXPORT_TYPE_CSV = 'csv';\n Constants.ROW_MODEL_TYPE_INFINITE = 'infinite';\n Constants.ROW_MODEL_TYPE_VIEWPORT = 'viewport';\n Constants.ROW_MODEL_TYPE_CLIENT_SIDE = 'clientSide';\n Constants.ROW_MODEL_TYPE_SERVER_SIDE = 'serverSide';\n Constants.ALWAYS = 'always';\n Constants.ONLY_WHEN_GROUPING = 'onlyWhenGrouping';\n Constants.PINNED_TOP = 'top';\n Constants.PINNED_BOTTOM = 'bottom';\n Constants.DOM_LAYOUT_NORMAL = 'normal';\n Constants.DOM_LAYOUT_PRINT = 'print';\n Constants.DOM_LAYOUT_AUTO_HEIGHT = 'autoHeight';\n Constants.GROUP_AUTO_COLUMN_ID = 'ag-Grid-AutoColumn';\n Constants.SOURCE_PASTE = 'paste';\n Constants.PINNED_RIGHT = 'right';\n Constants.PINNED_LEFT = 'left';\n Constants.SORT_ASC = 'asc';\n Constants.SORT_DESC = 'desc';\n Constants.INPUT_SELECTOR = 'input, select, button, textarea';\n Constants.FOCUSABLE_SELECTOR = '[tabindex], input, select, button, textarea';\n Constants.FOCUSABLE_EXCLUDE = '.ag-hidden, .ag-hidden *, [disabled], .ag-disabled, .ag-disabled *';\n return Constants;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ModuleNames;\n(function (ModuleNames) {\n // when using modules, user references this\n ModuleNames[\"CommunityCoreModule\"] = \"@ag-grid-community/core\";\n // when not using modules, user references this\n ModuleNames[\"CommunityAllModules\"] = \"@ag-grid-community/all\";\n // community modules\n ModuleNames[\"InfiniteRowModelModule\"] = \"@ag-grid-community/infinite-row-model\";\n ModuleNames[\"ClientSideRowModelModule\"] = \"@ag-grid-community/client-side-row-model\";\n ModuleNames[\"CsvExportModule\"] = \"@ag-grid-community/csv-export\";\n // enterprise core - users never import on this, but other enterprise modules do\n ModuleNames[\"EnterpriseCoreModule\"] = \"@ag-grid-enterprise/core\";\n // when not using modules, user references this\n ModuleNames[\"EnterpriseAllModules\"] = \"@ag-grid-enterprise/all\";\n // enterprise modules\n ModuleNames[\"RowGroupingModule\"] = \"@ag-grid-enterprise/row-grouping\";\n ModuleNames[\"ColumnToolPanelModule\"] = \"@ag-grid-enterprise/column-tool-panel\";\n ModuleNames[\"FiltersToolPanelModule\"] = \"@ag-grid-enterprise/filter-tool-panel\";\n ModuleNames[\"MenuModule\"] = \"@ag-grid-enterprise/menu\";\n ModuleNames[\"SetFilterModule\"] = \"@ag-grid-enterprise/set-filter\";\n ModuleNames[\"MultiFilterModule\"] = \"@ag-grid-enterprise/multi-filter\";\n ModuleNames[\"StatusBarModule\"] = \"@ag-grid-enterprise/status-bar\";\n ModuleNames[\"SideBarModule\"] = \"@ag-grid-enterprise/side-bar\";\n ModuleNames[\"RangeSelectionModule\"] = \"@ag-grid-enterprise/range-selection\";\n ModuleNames[\"MasterDetailModule\"] = \"@ag-grid-enterprise/master-detail\";\n ModuleNames[\"RichSelectModule\"] = \"@ag-grid-enterprise/rich-select\";\n ModuleNames[\"GridChartsModule\"] = \"@ag-grid-enterprise/charts\";\n ModuleNames[\"ViewportRowModelModule\"] = \"@ag-grid-enterprise/viewport-row-model\";\n ModuleNames[\"ServerSideRowModelModule\"] = \"@ag-grid-enterprise/server-side-row-model\";\n ModuleNames[\"ExcelExportModule\"] = \"@ag-grid-enterprise/excel-export\";\n ModuleNames[\"ClipboardModule\"] = \"@ag-grid-enterprise/clipboard\";\n ModuleNames[\"SparklinesModule\"] = \"@ag-grid-enterprise/sparklines\";\n // framework wrappers currently don't provide beans, comps etc, so no need to be modules,\n // however i argue they should be as in theory they 'could' provide beans etc\n ModuleNames[\"AngularModule\"] = \"@ag-grid-community/angular\";\n ModuleNames[\"ReactModule\"] = \"@ag-grid-community/react\";\n ModuleNames[\"VueModule\"] = \"@ag-grid-community/vue\";\n ModuleNames[\"PolymerModule\"] = \"@ag-grid-community/polymer\";\n // and then this, which is definitely not a grid module, as it should not have any dependency\n // on the grid (ie shouldn't even reference the Module interface)\n // ChartsModule = \"@ag-grid-community/charts-core\",\n})(ModuleNames || (ModuleNames = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ModuleRegistry = /** @class */ (function () {\n function ModuleRegistry() {\n }\n ModuleRegistry.register = function (module, moduleBased) {\n if (moduleBased === void 0) { moduleBased = true; }\n ModuleRegistry.modulesMap[module.moduleName] = module;\n if (ModuleRegistry.moduleBased === undefined) {\n ModuleRegistry.moduleBased = moduleBased;\n }\n else {\n if (ModuleRegistry.moduleBased !== moduleBased) {\n doOnce(function () {\n console.warn(\"AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms.\");\n console.warn('Please see https://www.ag-grid.com/javascript-grid/packages-modules/ for more information.');\n }, 'ModulePackageCheck');\n }\n }\n };\n // noinspection JSUnusedGlobalSymbols\n ModuleRegistry.registerModules = function (modules, moduleBased) {\n if (moduleBased === void 0) { moduleBased = true; }\n if (!modules) {\n return;\n }\n modules.forEach(function (module) { return ModuleRegistry.register(module, moduleBased); });\n };\n ModuleRegistry.assertRegistered = function (moduleName, reason) {\n if (this.isRegistered(moduleName)) {\n return true;\n }\n var warningKey = reason + moduleName;\n var warningMessage;\n if (ModuleRegistry.moduleBased) {\n warningMessage = \"AG Grid: unable to use \" + reason + \" as module \" + moduleName + \" is not present. Please see: https://www.ag-grid.com/javascript-grid/modules/\";\n }\n else {\n warningMessage = \"AG Grid: unable to use \" + reason + \" as package 'ag-grid-enterprise' is not present. Please see: https://www.ag-grid.com/javascript-grid/packages/\";\n }\n doOnce(function () {\n console.warn(warningMessage);\n }, warningKey);\n return false;\n };\n ModuleRegistry.isRegistered = function (moduleName) {\n return !!ModuleRegistry.modulesMap[moduleName];\n };\n ModuleRegistry.getRegisteredModules = function () {\n return values(ModuleRegistry.modulesMap);\n };\n ModuleRegistry.isPackageBased = function () {\n return !ModuleRegistry.moduleBased;\n };\n // having in a map a) removes duplicates and b) allows fast lookup\n ModuleRegistry.modulesMap = {};\n return ModuleRegistry;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$2z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar instanceIdSequence$4 = 0;\n// Wrapper around a user provide column definition. The grid treats the column definition as ready only.\n// This class contains all the runtime information about a column, plus some logic (the definition has no logic).\n// This class implements both interfaces ColumnGroupChild and ProvidedColumnGroupChild as the class can\n// appear as a child of either the original tree or the displayed tree. However the relevant group classes\n// for each type only implements one, as each group can only appear in it's associated tree (eg ProvidedColumnGroup\n// can only appear in OriginalColumn tree).\nvar Column = /** @class */ (function () {\n function Column(colDef, userProvidedColDef, colId, primary) {\n // used by React (and possibly other frameworks) as key for rendering\n this.instanceId = instanceIdSequence$4++;\n // The measured height of this column's header when autoHeaderHeight is enabled\n this.autoHeaderHeight = null;\n this.moving = false;\n this.menuVisible = false;\n this.filterActive = false;\n this.eventService = new EventService();\n this.rowGroupActive = false;\n this.pivotActive = false;\n this.aggregationActive = false;\n this.colDef = colDef;\n this.userProvidedColDef = userProvidedColDef;\n this.colId = colId;\n this.primary = primary;\n this.setState(colDef);\n }\n Column.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n Column.prototype.setState = function (colDef) {\n // sort\n if (colDef.sort !== undefined) {\n if (colDef.sort === Constants.SORT_ASC || colDef.sort === Constants.SORT_DESC) {\n this.sort = colDef.sort;\n }\n }\n else {\n if (colDef.initialSort === Constants.SORT_ASC || colDef.initialSort === Constants.SORT_DESC) {\n this.sort = colDef.initialSort;\n }\n }\n // sortIndex\n var sortIndex = attrToNumber(colDef.sortIndex);\n var initialSortIndex = attrToNumber(colDef.initialSortIndex);\n if (sortIndex !== undefined) {\n if (sortIndex !== null) {\n this.sortIndex = sortIndex;\n }\n }\n else {\n if (initialSortIndex !== null) {\n this.sortIndex = initialSortIndex;\n }\n }\n // hide\n var hide = attrToBoolean(colDef.hide);\n var initialHide = attrToBoolean(colDef.initialHide);\n if (hide !== undefined) {\n this.visible = !hide;\n }\n else {\n this.visible = !initialHide;\n }\n // pinned\n if (colDef.pinned !== undefined) {\n this.setPinned(colDef.pinned);\n }\n else {\n this.setPinned(colDef.initialPinned);\n }\n // flex\n var flex = attrToNumber(colDef.flex);\n var initialFlex = attrToNumber(colDef.initialFlex);\n if (flex !== undefined) {\n this.flex = flex;\n }\n else if (initialFlex !== undefined) {\n this.flex = initialFlex;\n }\n };\n // gets called when user provides an alternative colDef, eg\n Column.prototype.setColDef = function (colDef, userProvidedColDef) {\n this.colDef = colDef;\n this.userProvidedColDef = userProvidedColDef;\n this.initMinAndMaxWidths();\n this.initDotNotation();\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_COL_DEF_CHANGED, \"api\"));\n };\n /**\n * Returns the column definition provided by the application.\n * This may not be correct, as items can be superseded by default column options.\n * However it's useful for comparison, eg to know which application column definition matches that column.\n */\n Column.prototype.getUserProvidedColDef = function () {\n return this.userProvidedColDef;\n };\n Column.prototype.setParent = function (parent) {\n this.parent = parent;\n };\n /** Returns the parent column group, if column grouping is active. */\n Column.prototype.getParent = function () {\n return this.parent;\n };\n Column.prototype.setOriginalParent = function (originalParent) {\n this.originalParent = originalParent;\n };\n Column.prototype.getOriginalParent = function () {\n return this.originalParent;\n };\n // this is done after constructor as it uses gridOptionsWrapper\n Column.prototype.initialise = function () {\n this.initMinAndMaxWidths();\n this.resetActualWidth('gridInitializing');\n this.initDotNotation();\n this.validate();\n };\n Column.prototype.initDotNotation = function () {\n var suppressDotNotation = this.gridOptionsWrapper.isSuppressFieldDotNotation();\n this.fieldContainsDots = exists(this.colDef.field) && this.colDef.field.indexOf('.') >= 0 && !suppressDotNotation;\n this.tooltipFieldContainsDots = exists(this.colDef.tooltipField) && this.colDef.tooltipField.indexOf('.') >= 0 && !suppressDotNotation;\n };\n Column.prototype.initMinAndMaxWidths = function () {\n var colDef = this.colDef;\n this.minWidth = this.columnUtils.calculateColMinWidth(colDef);\n this.maxWidth = this.columnUtils.calculateColMaxWidth(colDef);\n };\n Column.prototype.resetActualWidth = function (source) {\n if (source === void 0) { source = 'api'; }\n var initialWidth = this.columnUtils.calculateColInitialWidth(this.colDef);\n this.setActualWidth(initialWidth, source, true);\n };\n Column.prototype.isEmptyGroup = function () {\n return false;\n };\n Column.prototype.isRowGroupDisplayed = function (colId) {\n if (missing(this.colDef) || missing(this.colDef.showRowGroup)) {\n return false;\n }\n var showingAllGroups = this.colDef.showRowGroup === true;\n var showingThisGroup = this.colDef.showRowGroup === colId;\n return showingAllGroups || showingThisGroup;\n };\n /** Returns `true` if column is a primary column, `false` if secondary. Secondary columns are used for pivoting. */\n Column.prototype.isPrimary = function () {\n return this.primary;\n };\n /** Returns `true` if column filtering is allowed. */\n Column.prototype.isFilterAllowed = function () {\n // filter defined means it's a string, class or true.\n // if its false, null or undefined then it's false.\n var filterDefined = !!this.colDef.filter || !!this.colDef.filterFramework;\n return filterDefined;\n };\n Column.prototype.isFieldContainsDots = function () {\n return this.fieldContainsDots;\n };\n Column.prototype.isTooltipFieldContainsDots = function () {\n return this.tooltipFieldContainsDots;\n };\n Column.prototype.validate = function () {\n var colDefAny = this.colDef;\n function warnOnce(msg, key, obj) {\n doOnce(function () {\n if (obj) {\n console.warn(msg, obj);\n }\n else {\n doOnce(function () { return console.warn(msg); }, key);\n }\n }, key);\n }\n var usingCSRM = this.gridOptionsWrapper.isRowModelDefault();\n if (usingCSRM && !ModuleRegistry.isRegistered(ModuleNames.RowGroupingModule)) {\n var rowGroupingItems = ['enableRowGroup', 'rowGroup', 'rowGroupIndex', 'enablePivot', 'enableValue', 'pivot', 'pivotIndex', 'aggFunc'];\n rowGroupingItems.forEach(function (item) {\n if (exists(colDefAny[item])) {\n if (ModuleRegistry.isPackageBased()) {\n warnOnce(\"AG Grid: \" + item + \" is only valid in ag-grid-enterprise, your column definition should not have \" + item, 'ColumnRowGroupingMissing' + item);\n }\n else {\n warnOnce(\"AG Grid: \" + item + \" is only valid with AG Grid Enterprise Module \" + ModuleNames.RowGroupingModule + \" - your column definition should not have \" + item, 'ColumnRowGroupingMissing' + item);\n }\n }\n });\n }\n if (!ModuleRegistry.isRegistered(ModuleNames.RichSelectModule)) {\n if (this.colDef.cellEditor === 'agRichSelect' || this.colDef.cellEditor === 'agRichSelectCellEditor') {\n if (ModuleRegistry.isPackageBased()) {\n warnOnce(\"AG Grid: \" + this.colDef.cellEditor + \" can only be used with ag-grid-enterprise\", 'ColumnRichSelectMissing');\n }\n else {\n warnOnce(\"AG Grid: \" + this.colDef.cellEditor + \" can only be used with AG Grid Enterprise Module \" + ModuleNames.RichSelectModule, 'ColumnRichSelectMissing');\n }\n }\n }\n if (this.gridOptionsWrapper.isTreeData()) {\n var itemsNotAllowedWithTreeData = ['rowGroup', 'rowGroupIndex', 'pivot', 'pivotIndex'];\n itemsNotAllowedWithTreeData.forEach(function (item) {\n if (exists(colDefAny[item])) {\n warnOnce(\"AG Grid: \" + item + \" is not possible when doing tree data, your column definition should not have \" + item, 'TreeDataCannotRowGroup');\n }\n });\n }\n if (exists(this.colDef.width) && typeof this.colDef.width !== 'number') {\n warnOnce('AG Grid: colDef.width should be a number, not ' + typeof this.colDef.width, 'ColumnCheck_asdfawef');\n }\n if (colDefAny.pinnedRowCellRenderer) {\n warnOnce('AG Grid: pinnedRowCellRenderer no longer exists, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue. See https://www.ag-grid.com/javascript-grid/cell-rendering/#many-renderers-one-column', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n if (colDefAny.pinnedRowCellRendererParams) {\n warnOnce('AG Grid: pinnedRowCellRenderer no longer exists, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue. See https://www.ag-grid.com/javascript-grid/cell-rendering/#many-renderers-one-column', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n if (colDefAny.pinnedRowCellRendererFramework) {\n warnOnce('AG Grid: pinnedRowCellRenderer no longer exists, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue. See https://www.ag-grid.com/javascript-grid/cell-rendering/#many-renderers-one-column', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n if (colDefAny.pinnedRowValueGetter) {\n warnOnce('AG Grid: pinnedRowCellRenderer is deprecated, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue.', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n };\n /** Add an event listener to the column. */\n Column.prototype.addEventListener = function (eventType, listener) {\n this.eventService.addEventListener(eventType, listener);\n };\n /** Remove event listener from the column. */\n Column.prototype.removeEventListener = function (eventType, listener) {\n this.eventService.removeEventListener(eventType, listener);\n };\n Column.prototype.createColumnFunctionCallbackParams = function (rowNode) {\n return {\n node: rowNode,\n data: rowNode.data,\n column: this,\n colDef: this.colDef,\n context: this.gridOptionsWrapper.getContext(),\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi()\n };\n };\n Column.prototype.isSuppressNavigable = function (rowNode) {\n // if boolean set, then just use it\n if (typeof this.colDef.suppressNavigable === 'boolean') {\n return this.colDef.suppressNavigable;\n }\n // if function, then call the function to find out\n if (typeof this.colDef.suppressNavigable === 'function') {\n var params = this.createColumnFunctionCallbackParams(rowNode);\n var userFunc = this.colDef.suppressNavigable;\n return userFunc(params);\n }\n return false;\n };\n Column.prototype.isCellEditable = function (rowNode) {\n // only allow editing of groups if the user has this option enabled\n if (rowNode.group && !this.gridOptionsWrapper.isEnableGroupEdit()) {\n return false;\n }\n return this.isColumnFunc(rowNode, this.colDef.editable);\n };\n Column.prototype.isSuppressFillHandle = function () {\n return !!attrToBoolean(this.colDef.suppressFillHandle);\n };\n Column.prototype.isAutoHeight = function () {\n return !!attrToBoolean(this.colDef.autoHeight);\n };\n Column.prototype.isAutoHeaderHeight = function () {\n return !!attrToBoolean(this.colDef.autoHeaderHeight);\n };\n Column.prototype.isRowDrag = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef.rowDrag);\n };\n Column.prototype.isDndSource = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef.dndSource);\n };\n Column.prototype.isCellCheckboxSelection = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef.checkboxSelection);\n };\n Column.prototype.isSuppressPaste = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef ? this.colDef.suppressPaste : null);\n };\n Column.prototype.isResizable = function () {\n return !!attrToBoolean(this.colDef.resizable);\n };\n Column.prototype.isColumnFunc = function (rowNode, value) {\n // if boolean set, then just use it\n if (typeof value === 'boolean') {\n return value;\n }\n // if function, then call the function to find out\n if (typeof value === 'function') {\n var params = this.createColumnFunctionCallbackParams(rowNode);\n var editableFunc = value;\n return editableFunc(params);\n }\n return false;\n };\n Column.prototype.setMoving = function (moving, source) {\n if (source === void 0) { source = \"api\"; }\n this.moving = moving;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_MOVING_CHANGED, source));\n };\n Column.prototype.createColumnEvent = function (type, source) {\n return {\n type: type,\n column: this,\n columns: [this],\n source: source,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n };\n Column.prototype.isMoving = function () {\n return this.moving;\n };\n /** If sorting is active, returns the sort direction e.g. `'asc'` or `'desc'`. */\n Column.prototype.getSort = function () {\n return this.sort;\n };\n Column.prototype.setSort = function (sort, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.sort !== sort) {\n this.sort = sort;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_SORT_CHANGED, source));\n }\n };\n Column.prototype.setMenuVisible = function (visible, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.menuVisible !== visible) {\n this.menuVisible = visible;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_MENU_VISIBLE_CHANGED, source));\n }\n };\n Column.prototype.isMenuVisible = function () {\n return this.menuVisible;\n };\n Column.prototype.isSortAscending = function () {\n return this.sort === Constants.SORT_ASC;\n };\n Column.prototype.isSortDescending = function () {\n return this.sort === Constants.SORT_DESC;\n };\n Column.prototype.isSortNone = function () {\n return missing(this.sort);\n };\n Column.prototype.isSorting = function () {\n return exists(this.sort);\n };\n Column.prototype.getSortIndex = function () {\n return this.sortIndex;\n };\n Column.prototype.setSortIndex = function (sortOrder) {\n this.sortIndex = sortOrder;\n };\n Column.prototype.setAggFunc = function (aggFunc) {\n this.aggFunc = aggFunc;\n };\n /** If aggregation is set for the column, returns the aggregation function. */\n Column.prototype.getAggFunc = function () {\n return this.aggFunc;\n };\n Column.prototype.getLeft = function () {\n return this.left;\n };\n Column.prototype.getOldLeft = function () {\n return this.oldLeft;\n };\n Column.prototype.getRight = function () {\n return this.left + this.actualWidth;\n };\n Column.prototype.setLeft = function (left, source) {\n if (source === void 0) { source = \"api\"; }\n this.oldLeft = this.left;\n if (this.left !== left) {\n this.left = left;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_LEFT_CHANGED, source));\n }\n };\n /** Returns `true` if filter is active on the column. */\n Column.prototype.isFilterActive = function () {\n return this.filterActive;\n };\n // additionalEventAttributes is used by provided simple floating filter, so it can add 'floatingFilter=true' to the event\n Column.prototype.setFilterActive = function (active, source, additionalEventAttributes) {\n if (source === void 0) { source = \"api\"; }\n if (this.filterActive !== active) {\n this.filterActive = active;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_FILTER_ACTIVE_CHANGED, source));\n }\n var filterChangedEvent = this.createColumnEvent(Column.EVENT_FILTER_CHANGED, source);\n if (additionalEventAttributes) {\n mergeDeep(filterChangedEvent, additionalEventAttributes);\n }\n this.eventService.dispatchEvent(filterChangedEvent);\n };\n Column.prototype.setPinned = function (pinned) {\n if (pinned === true || pinned === Constants.PINNED_LEFT) {\n this.pinned = Constants.PINNED_LEFT;\n }\n else if (pinned === Constants.PINNED_RIGHT) {\n this.pinned = Constants.PINNED_RIGHT;\n }\n else {\n this.pinned = null;\n }\n };\n Column.prototype.setFirstRightPinned = function (firstRightPinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.firstRightPinned !== firstRightPinned) {\n this.firstRightPinned = firstRightPinned;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_FIRST_RIGHT_PINNED_CHANGED, source));\n }\n };\n Column.prototype.setLastLeftPinned = function (lastLeftPinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.lastLeftPinned !== lastLeftPinned) {\n this.lastLeftPinned = lastLeftPinned;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_LAST_LEFT_PINNED_CHANGED, source));\n }\n };\n Column.prototype.isFirstRightPinned = function () {\n return this.firstRightPinned;\n };\n Column.prototype.isLastLeftPinned = function () {\n return this.lastLeftPinned;\n };\n Column.prototype.isPinned = function () {\n return this.pinned === Constants.PINNED_LEFT || this.pinned === Constants.PINNED_RIGHT;\n };\n Column.prototype.isPinnedLeft = function () {\n return this.pinned === Constants.PINNED_LEFT;\n };\n Column.prototype.isPinnedRight = function () {\n return this.pinned === Constants.PINNED_RIGHT;\n };\n Column.prototype.getPinned = function () {\n return this.pinned;\n };\n Column.prototype.setVisible = function (visible, source) {\n if (source === void 0) { source = \"api\"; }\n var newValue = visible === true;\n if (this.visible !== newValue) {\n this.visible = newValue;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_VISIBLE_CHANGED, source));\n }\n };\n Column.prototype.isVisible = function () {\n return this.visible;\n };\n /** Returns the column definition for this column.\n * The column definition will be the result of merging the application provided column definition with any provided defaults\n * (e.g. `defaultColDef` grid option, or column types.\n *\n * Equivalent: `getDefinition` */\n Column.prototype.getColDef = function () {\n return this.colDef;\n };\n Column.prototype.getColumnGroupShow = function () {\n return this.colDef.columnGroupShow;\n };\n /**\n * Returns the unique ID for the column.\n *\n * Equivalent: `getId`, `getUniqueId` */\n Column.prototype.getColId = function () {\n return this.colId;\n };\n /**\n * Returns the unique ID for the column.\n *\n * Equivalent: `getColId`, `getUniqueId` */\n Column.prototype.getId = function () {\n return this.getColId();\n };\n /**\n * Returns the unique ID for the column.\n *\n * Equivalent: `getColId`, `getId` */\n Column.prototype.getUniqueId = function () {\n return this.getId();\n };\n Column.prototype.getDefinition = function () {\n return this.colDef;\n };\n /** Returns the current width of the column. If the column is resized, the actual width is the new size. */\n Column.prototype.getActualWidth = function () {\n return this.actualWidth;\n };\n Column.prototype.getAutoHeaderHeight = function () {\n return this.autoHeaderHeight;\n };\n /** Returns true if the header height has changed */\n Column.prototype.setAutoHeaderHeight = function (height) {\n var changed = height !== this.autoHeaderHeight;\n this.autoHeaderHeight = height;\n return changed;\n };\n Column.prototype.createBaseColDefParams = function (rowNode) {\n var params = {\n node: rowNode,\n data: rowNode.data,\n colDef: this.colDef,\n column: this,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n return params;\n };\n Column.prototype.getColSpan = function (rowNode) {\n if (missing(this.colDef.colSpan)) {\n return 1;\n }\n var params = this.createBaseColDefParams(rowNode);\n var colSpan = this.colDef.colSpan(params);\n // colSpan must be number equal to or greater than 1\n return Math.max(colSpan, 1);\n };\n Column.prototype.getRowSpan = function (rowNode) {\n if (missing(this.colDef.rowSpan)) {\n return 1;\n }\n var params = this.createBaseColDefParams(rowNode);\n var rowSpan = this.colDef.rowSpan(params);\n // rowSpan must be number equal to or greater than 1\n return Math.max(rowSpan, 1);\n };\n Column.prototype.setActualWidth = function (actualWidth, source, silent) {\n if (source === void 0) { source = \"api\"; }\n if (silent === void 0) { silent = false; }\n if (this.minWidth != null) {\n actualWidth = Math.max(actualWidth, this.minWidth);\n }\n if (this.maxWidth != null) {\n actualWidth = Math.min(actualWidth, this.maxWidth);\n }\n if (this.actualWidth !== actualWidth) {\n // disable flex for this column if it was manually resized.\n this.actualWidth = actualWidth;\n if (this.flex && source !== 'flex' && source !== 'gridInitializing') {\n this.flex = null;\n }\n if (!silent) {\n this.fireColumnWidthChangedEvent(source);\n }\n }\n };\n Column.prototype.fireColumnWidthChangedEvent = function (source) {\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_WIDTH_CHANGED, source));\n };\n Column.prototype.isGreaterThanMax = function (width) {\n if (this.maxWidth != null) {\n return width > this.maxWidth;\n }\n return false;\n };\n Column.prototype.getMinWidth = function () {\n return this.minWidth;\n };\n Column.prototype.getMaxWidth = function () {\n return this.maxWidth;\n };\n Column.prototype.getFlex = function () {\n return this.flex || 0;\n };\n // this method should only be used by the columnModel to\n // change flex when required by the setColumnState method.\n Column.prototype.setFlex = function (flex) {\n if (this.flex !== flex) {\n this.flex = flex;\n }\n };\n Column.prototype.setMinimum = function (source) {\n if (source === void 0) { source = \"api\"; }\n if (exists(this.minWidth)) {\n this.setActualWidth(this.minWidth, source);\n }\n };\n Column.prototype.setRowGroupActive = function (rowGroup, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.rowGroupActive !== rowGroup) {\n this.rowGroupActive = rowGroup;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_ROW_GROUP_CHANGED, source));\n }\n };\n /** Returns `true` if row group is currently active for this column. */\n Column.prototype.isRowGroupActive = function () {\n return this.rowGroupActive;\n };\n Column.prototype.setPivotActive = function (pivot, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.pivotActive !== pivot) {\n this.pivotActive = pivot;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_PIVOT_CHANGED, source));\n }\n };\n /** Returns `true` if pivot is currently active for this column. */\n Column.prototype.isPivotActive = function () {\n return this.pivotActive;\n };\n Column.prototype.isAnyFunctionActive = function () {\n return this.isPivotActive() || this.isRowGroupActive() || this.isValueActive();\n };\n Column.prototype.isAnyFunctionAllowed = function () {\n return this.isAllowPivot() || this.isAllowRowGroup() || this.isAllowValue();\n };\n Column.prototype.setValueActive = function (value, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.aggregationActive !== value) {\n this.aggregationActive = value;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_VALUE_CHANGED, source));\n }\n };\n /** Returns `true` if value (aggregation) is currently active for this column. */\n Column.prototype.isValueActive = function () {\n return this.aggregationActive;\n };\n Column.prototype.isAllowPivot = function () {\n return this.colDef.enablePivot === true;\n };\n Column.prototype.isAllowValue = function () {\n return this.colDef.enableValue === true;\n };\n Column.prototype.isAllowRowGroup = function () {\n return this.colDef.enableRowGroup === true;\n };\n Column.prototype.getMenuTabs = function (defaultValues) {\n var menuTabs = this.getColDef().menuTabs;\n if (menuTabs == null) {\n menuTabs = defaultValues;\n }\n return menuTabs;\n };\n // this used to be needed, as previous version of ag-grid had lockPosition as column state,\n // so couldn't depend on colDef version.\n Column.prototype.isLockPosition = function () {\n console.warn('AG Grid: since v21, col.isLockPosition() should not be used, please use col.getColDef().lockPosition instead.');\n return this.colDef ? !!this.colDef.lockPosition : false;\n };\n // this used to be needed, as previous version of ag-grid had lockVisible as column state,\n // so couldn't depend on colDef version.\n Column.prototype.isLockVisible = function () {\n console.warn('AG Grid: since v21, col.isLockVisible() should not be used, please use col.getColDef().lockVisible instead.');\n return this.colDef ? !!this.colDef.lockVisible : false;\n };\n // this used to be needed, as previous version of ag-grid had lockPinned as column state,\n // so couldn't depend on colDef version.\n Column.prototype.isLockPinned = function () {\n console.warn('AG Grid: since v21, col.isLockPinned() should not be used, please use col.getColDef().lockPinned instead.');\n return this.colDef ? !!this.colDef.lockPinned : false;\n };\n // + renderedHeaderCell - for making header cell transparent when moving\n Column.EVENT_MOVING_CHANGED = 'movingChanged';\n // + renderedCell - changing left position\n Column.EVENT_LEFT_CHANGED = 'leftChanged';\n // + renderedCell - changing width\n Column.EVENT_WIDTH_CHANGED = 'widthChanged';\n // + renderedCell - for changing pinned classes\n Column.EVENT_LAST_LEFT_PINNED_CHANGED = 'lastLeftPinnedChanged';\n Column.EVENT_FIRST_RIGHT_PINNED_CHANGED = 'firstRightPinnedChanged';\n // + renderedColumn - for changing visibility icon\n Column.EVENT_VISIBLE_CHANGED = 'visibleChanged';\n // + every time the filter changes, used in the floating filters\n Column.EVENT_FILTER_CHANGED = 'filterChanged';\n // + renderedHeaderCell - marks the header with filter icon\n Column.EVENT_FILTER_ACTIVE_CHANGED = 'filterActiveChanged';\n // + renderedHeaderCell - marks the header with sort icon\n Column.EVENT_SORT_CHANGED = 'sortChanged';\n // + renderedHeaderCell - marks the header with sort icon\n Column.EVENT_COL_DEF_CHANGED = 'colDefChanged';\n Column.EVENT_MENU_VISIBLE_CHANGED = 'menuVisibleChanged';\n // + toolpanel, for gui updates\n Column.EVENT_ROW_GROUP_CHANGED = 'columnRowGroupChanged';\n // + toolpanel, for gui updates\n Column.EVENT_PIVOT_CHANGED = 'columnPivotChanged';\n // + toolpanel, for gui updates\n Column.EVENT_VALUE_CHANGED = 'columnValueChanged';\n __decorate$2z([\n Autowired('gridOptionsWrapper')\n ], Column.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$2z([\n Autowired('columnUtils')\n ], Column.prototype, \"columnUtils\", void 0);\n __decorate$2z([\n PostConstruct\n ], Column.prototype, \"initialise\", null);\n return Column;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction firstExistingValue() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n if (exists(value)) {\n return value;\n }\n }\n return null;\n}\nfunction existsAndNotEmpty(value) {\n return value != null && value.length > 0;\n}\nfunction last(arr) {\n if (!arr || !arr.length) {\n return;\n }\n return arr[arr.length - 1];\n}\nfunction areEqual(a, b, comparator) {\n if (a == null && b == null) {\n return true;\n }\n return a != null &&\n b != null &&\n a.length === b.length &&\n a.every(function (value, index) { return comparator ? comparator(value, b[index]) : b[index] === value; });\n}\n/** @deprecated */\nfunction compareArrays(array1, array2) {\n return areEqual(array1, array2);\n}\n/** @deprecated */\nfunction shallowCompare(arr1, arr2) {\n return areEqual(arr1, arr2);\n}\nfunction sortNumerically(array) {\n return array.sort(function (a, b) { return a - b; });\n}\nfunction removeRepeatsFromArray(array, object) {\n if (!array) {\n return;\n }\n for (var index = array.length - 2; index >= 0; index--) {\n var thisOneMatches = array[index] === object;\n var nextOneMatches = array[index + 1] === object;\n if (thisOneMatches && nextOneMatches) {\n array.splice(index + 1, 1);\n }\n }\n}\nfunction removeFromArray(array, object) {\n var index = array.indexOf(object);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\nfunction removeAllFromArray(array, toRemove) {\n toRemove.forEach(function (item) { return removeFromArray(array, item); });\n}\nfunction insertIntoArray(array, object, toIndex) {\n array.splice(toIndex, 0, object);\n}\nfunction insertArrayIntoArray(dest, src, toIndex) {\n if (dest == null || src == null) {\n return;\n }\n // put items in backwards, otherwise inserted items end up in reverse order\n for (var i = src.length - 1; i >= 0; i--) {\n var item = src[i];\n insertIntoArray(dest, item, toIndex);\n }\n}\nfunction moveInArray(array, objectsToMove, toIndex) {\n // first take out items from the array\n removeAllFromArray(array, objectsToMove);\n // now add the objects, in same order as provided to us, that means we start at the end\n // as the objects will be pushed to the right as they are inserted\n objectsToMove.slice().reverse().forEach(function (obj) { return insertIntoArray(array, obj, toIndex); });\n}\nfunction includes(array, value) {\n return array.indexOf(value) > -1;\n}\nfunction flatten(arrayOfArrays) {\n return [].concat.apply([], arrayOfArrays);\n}\nfunction pushAll(target, source) {\n if (source == null || target == null) {\n return;\n }\n source.forEach(function (value) { return target.push(value); });\n}\nfunction toStrings(array) {\n return array.map(toStringOrNull);\n}\nfunction forEachReverse(list, action) {\n if (list == null) {\n return;\n }\n for (var i = list.length - 1; i >= 0; i--) {\n action(list[i], i);\n }\n}\n\nvar ArrayUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n firstExistingValue: firstExistingValue,\n existsAndNotEmpty: existsAndNotEmpty,\n last: last,\n areEqual: areEqual,\n compareArrays: compareArrays,\n shallowCompare: shallowCompare,\n sortNumerically: sortNumerically,\n removeRepeatsFromArray: removeRepeatsFromArray,\n removeFromArray: removeFromArray,\n removeAllFromArray: removeAllFromArray,\n insertIntoArray: insertIntoArray,\n insertArrayIntoArray: insertArrayIntoArray,\n moveInArray: moveInArray,\n includes: includes,\n flatten: flatten,\n pushAll: pushAll,\n toStrings: toStrings,\n forEachReverse: forEachReverse\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$2y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnGroup = /** @class */ (function () {\n function ColumnGroup(providedColumnGroup, groupId, instanceId, pinned) {\n // depends on the open/closed state of the group, only displaying columns are stored here\n this.displayedChildren = [];\n this.localEventService = new EventService();\n this.groupId = groupId;\n this.instanceId = instanceId;\n this.providedColumnGroup = providedColumnGroup;\n this.pinned = pinned;\n }\n // this is static, a it is used outside of this class\n ColumnGroup.createUniqueId = function (groupId, instanceId) {\n return groupId + '_' + instanceId;\n };\n // as the user is adding and removing columns, the groups are recalculated.\n // this reset clears out all children, ready for children to be added again\n ColumnGroup.prototype.reset = function () {\n this.parent = null;\n this.children = null;\n this.displayedChildren = null;\n };\n ColumnGroup.prototype.getParent = function () {\n return this.parent;\n };\n ColumnGroup.prototype.setParent = function (parent) {\n this.parent = parent;\n };\n ColumnGroup.prototype.getUniqueId = function () {\n return ColumnGroup.createUniqueId(this.groupId, this.instanceId);\n };\n ColumnGroup.prototype.isEmptyGroup = function () {\n return this.displayedChildren.length === 0;\n };\n ColumnGroup.prototype.isMoving = function () {\n var allLeafColumns = this.getProvidedColumnGroup().getLeafColumns();\n if (!allLeafColumns || allLeafColumns.length === 0) {\n return false;\n }\n return allLeafColumns.every(function (col) { return col.isMoving(); });\n };\n ColumnGroup.prototype.checkLeft = function () {\n // first get all children to setLeft, as it impacts our decision below\n this.displayedChildren.forEach(function (child) {\n if (child instanceof ColumnGroup) {\n child.checkLeft();\n }\n });\n // set our left based on first displayed column\n if (this.displayedChildren.length > 0) {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n var lastChild = last(this.displayedChildren);\n var lastChildLeft = lastChild.getLeft();\n this.setLeft(lastChildLeft);\n }\n else {\n var firstChildLeft = this.displayedChildren[0].getLeft();\n this.setLeft(firstChildLeft);\n }\n }\n else {\n // this should never happen, as if we have no displayed columns, then\n // this groups should not even exist.\n this.setLeft(null);\n }\n };\n ColumnGroup.prototype.getLeft = function () {\n return this.left;\n };\n ColumnGroup.prototype.getOldLeft = function () {\n return this.oldLeft;\n };\n ColumnGroup.prototype.setLeft = function (left) {\n this.oldLeft = left;\n if (this.left !== left) {\n this.left = left;\n this.localEventService.dispatchEvent(this.createAgEvent(ColumnGroup.EVENT_LEFT_CHANGED));\n }\n };\n ColumnGroup.prototype.getPinned = function () {\n return this.pinned;\n };\n ColumnGroup.prototype.createAgEvent = function (type) {\n return { type: type };\n };\n ColumnGroup.prototype.addEventListener = function (eventType, listener) {\n this.localEventService.addEventListener(eventType, listener);\n };\n ColumnGroup.prototype.removeEventListener = function (eventType, listener) {\n this.localEventService.removeEventListener(eventType, listener);\n };\n ColumnGroup.prototype.getGroupId = function () {\n return this.groupId;\n };\n ColumnGroup.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n ColumnGroup.prototype.isChildInThisGroupDeepSearch = function (wantedChild) {\n var result = false;\n this.children.forEach(function (foundChild) {\n if (wantedChild === foundChild) {\n result = true;\n }\n if (foundChild instanceof ColumnGroup) {\n if (foundChild.isChildInThisGroupDeepSearch(wantedChild)) {\n result = true;\n }\n }\n });\n return result;\n };\n ColumnGroup.prototype.getActualWidth = function () {\n var groupActualWidth = 0;\n if (this.displayedChildren) {\n this.displayedChildren.forEach(function (child) {\n groupActualWidth += child.getActualWidth();\n });\n }\n return groupActualWidth;\n };\n ColumnGroup.prototype.isResizable = function () {\n if (!this.displayedChildren) {\n return false;\n }\n // if at least one child is resizable, then the group is resizable\n var result = false;\n this.displayedChildren.forEach(function (child) {\n if (child.isResizable()) {\n result = true;\n }\n });\n return result;\n };\n ColumnGroup.prototype.getMinWidth = function () {\n var result = 0;\n this.displayedChildren.forEach(function (groupChild) {\n result += groupChild.getMinWidth() || 0;\n });\n return result;\n };\n ColumnGroup.prototype.addChild = function (child) {\n if (!this.children) {\n this.children = [];\n }\n this.children.push(child);\n };\n ColumnGroup.prototype.getDisplayedChildren = function () {\n return this.displayedChildren;\n };\n ColumnGroup.prototype.getLeafColumns = function () {\n var result = [];\n this.addLeafColumns(result);\n return result;\n };\n ColumnGroup.prototype.getDisplayedLeafColumns = function () {\n var result = [];\n this.addDisplayedLeafColumns(result);\n return result;\n };\n // why two methods here doing the same thing?\n ColumnGroup.prototype.getDefinition = function () {\n return this.providedColumnGroup.getColGroupDef();\n };\n ColumnGroup.prototype.getColGroupDef = function () {\n return this.providedColumnGroup.getColGroupDef();\n };\n ColumnGroup.prototype.isPadding = function () {\n return this.providedColumnGroup.isPadding();\n };\n ColumnGroup.prototype.isExpandable = function () {\n return this.providedColumnGroup.isExpandable();\n };\n ColumnGroup.prototype.isExpanded = function () {\n return this.providedColumnGroup.isExpanded();\n };\n ColumnGroup.prototype.setExpanded = function (expanded) {\n this.providedColumnGroup.setExpanded(expanded);\n };\n ColumnGroup.prototype.addDisplayedLeafColumns = function (leafColumns) {\n this.displayedChildren.forEach(function (child) {\n if (child instanceof Column) {\n leafColumns.push(child);\n }\n else if (child instanceof ColumnGroup) {\n child.addDisplayedLeafColumns(leafColumns);\n }\n });\n };\n ColumnGroup.prototype.addLeafColumns = function (leafColumns) {\n this.children.forEach(function (child) {\n if (child instanceof Column) {\n leafColumns.push(child);\n }\n else if (child instanceof ColumnGroup) {\n child.addLeafColumns(leafColumns);\n }\n });\n };\n ColumnGroup.prototype.getChildren = function () {\n return this.children;\n };\n ColumnGroup.prototype.getColumnGroupShow = function () {\n return this.providedColumnGroup.getColumnGroupShow();\n };\n ColumnGroup.prototype.getProvidedColumnGroup = function () {\n return this.providedColumnGroup;\n };\n /** @deprecated getOriginalColumnGroup is deprecated, use getOriginalColumnGroup. */\n ColumnGroup.prototype.getOriginalColumnGroup = function () {\n console.warn('AG Grid: columnGroup.getOriginalColumnGroup() is deprecated due to a method rename, use columnGroup.getProvidedColumnGroup() instead');\n return this.getProvidedColumnGroup();\n };\n ColumnGroup.prototype.getPaddingLevel = function () {\n var parent = this.getParent();\n if (!this.isPadding() || !parent || !parent.isPadding()) {\n return 0;\n }\n return 1 + parent.getPaddingLevel();\n };\n ColumnGroup.prototype.calculateDisplayedColumns = function () {\n var _this = this;\n // clear out last time we calculated\n this.displayedChildren = [];\n // find the column group that is controlling expandable. this is relevant when we have padding (empty)\n // groups, where the expandable is actually the first parent that is not a padding group.\n var parentWithExpansion = this;\n while (parentWithExpansion != null && parentWithExpansion.isPadding()) {\n parentWithExpansion = parentWithExpansion.getParent();\n }\n var isExpandable = parentWithExpansion ? parentWithExpansion.providedColumnGroup.isExpandable() : false;\n // it not expandable, everything is visible\n if (!isExpandable) {\n this.displayedChildren = this.children;\n this.localEventService.dispatchEvent(this.createAgEvent(ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED));\n return;\n }\n // Add cols based on columnGroupShow\n // Note - the below also adds padding groups, these are always added because they never have\n // colDef.columnGroupShow set.\n this.children.forEach(function (child) {\n // never add empty groups\n var emptyGroup = child instanceof ColumnGroup && (!child.displayedChildren || !child.displayedChildren.length);\n if (emptyGroup) {\n return;\n }\n var headerGroupShow = child.getColumnGroupShow();\n switch (headerGroupShow) {\n case ColumnGroup.HEADER_GROUP_SHOW_OPEN:\n // when set to open, only show col if group is open\n if (parentWithExpansion.providedColumnGroup.isExpanded()) {\n _this.displayedChildren.push(child);\n }\n break;\n case ColumnGroup.HEADER_GROUP_SHOW_CLOSED:\n // when set to open, only show col if group is open\n if (!parentWithExpansion.providedColumnGroup.isExpanded()) {\n _this.displayedChildren.push(child);\n }\n break;\n default:\n _this.displayedChildren.push(child);\n break;\n }\n });\n this.localEventService.dispatchEvent(this.createAgEvent(ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED));\n };\n ColumnGroup.HEADER_GROUP_SHOW_OPEN = 'open';\n ColumnGroup.HEADER_GROUP_SHOW_CLOSED = 'closed';\n ColumnGroup.EVENT_LEFT_CHANGED = 'leftChanged';\n ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED = 'displayedChildrenChanged';\n __decorate$2y([\n Autowired('gridOptionsWrapper')\n ], ColumnGroup.prototype, \"gridOptionsWrapper\", void 0);\n return ColumnGroup;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ProvidedColumnGroup = /** @class */ (function () {\n function ProvidedColumnGroup(colGroupDef, groupId, padding, level) {\n this.localEventService = new EventService();\n this.expandable = false;\n this.colGroupDef = colGroupDef;\n this.groupId = groupId;\n this.expanded = !!colGroupDef && !!colGroupDef.openByDefault;\n this.padding = padding;\n this.level = level;\n }\n ProvidedColumnGroup.prototype.reset = function (colGroupDef, level) {\n this.colGroupDef = colGroupDef;\n this.level = level;\n this.originalParent = null;\n // we use ! below, as we want to set the object back to the\n // way it was when it was first created\n this.children = undefined;\n this.expandable = undefined;\n };\n ProvidedColumnGroup.prototype.setOriginalParent = function (originalParent) {\n this.originalParent = originalParent;\n };\n ProvidedColumnGroup.prototype.getOriginalParent = function () {\n return this.originalParent;\n };\n ProvidedColumnGroup.prototype.getLevel = function () {\n return this.level;\n };\n ProvidedColumnGroup.prototype.isVisible = function () {\n // return true if at least one child is visible\n if (this.children) {\n return this.children.some(function (child) { return child.isVisible(); });\n }\n return false;\n };\n ProvidedColumnGroup.prototype.isPadding = function () {\n return this.padding;\n };\n ProvidedColumnGroup.prototype.setExpanded = function (expanded) {\n this.expanded = expanded === undefined ? false : expanded;\n var event = {\n type: ProvidedColumnGroup.EVENT_EXPANDED_CHANGED\n };\n this.localEventService.dispatchEvent(event);\n };\n ProvidedColumnGroup.prototype.isExpandable = function () {\n return this.expandable;\n };\n ProvidedColumnGroup.prototype.isExpanded = function () {\n return this.expanded;\n };\n ProvidedColumnGroup.prototype.getGroupId = function () {\n return this.groupId;\n };\n ProvidedColumnGroup.prototype.getId = function () {\n return this.getGroupId();\n };\n ProvidedColumnGroup.prototype.setChildren = function (children) {\n this.children = children;\n };\n ProvidedColumnGroup.prototype.getChildren = function () {\n return this.children;\n };\n ProvidedColumnGroup.prototype.getColGroupDef = function () {\n return this.colGroupDef;\n };\n ProvidedColumnGroup.prototype.getLeafColumns = function () {\n var result = [];\n this.addLeafColumns(result);\n return result;\n };\n ProvidedColumnGroup.prototype.addLeafColumns = function (leafColumns) {\n if (!this.children) {\n return;\n }\n this.children.forEach(function (child) {\n if (child instanceof Column) {\n leafColumns.push(child);\n }\n else if (child instanceof ProvidedColumnGroup) {\n child.addLeafColumns(leafColumns);\n }\n });\n };\n ProvidedColumnGroup.prototype.getColumnGroupShow = function () {\n var colGroupDef = this.colGroupDef;\n if (!colGroupDef) {\n return;\n }\n return colGroupDef.columnGroupShow;\n };\n // need to check that this group has at least one col showing when both expanded and contracted.\n // if not, then we don't allow expanding and contracting on this group\n ProvidedColumnGroup.prototype.setupExpandable = function () {\n var _this = this;\n this.setExpandable();\n // note - we should be removing this event listener\n this.getLeafColumns().forEach(function (col) { return col.addEventListener(Column.EVENT_VISIBLE_CHANGED, _this.onColumnVisibilityChanged.bind(_this)); });\n };\n ProvidedColumnGroup.prototype.setExpandable = function () {\n if (this.isPadding()) {\n return;\n }\n // want to make sure the group doesn't disappear when it's open\n var atLeastOneShowingWhenOpen = false;\n // want to make sure the group doesn't disappear when it's closed\n var atLeastOneShowingWhenClosed = false;\n // want to make sure the group has something to show / hide\n var atLeastOneChangeable = false;\n var children = this.findChildrenRemovingPadding();\n for (var i = 0, j = children.length; i < j; i++) {\n var abstractColumn = children[i];\n if (!abstractColumn.isVisible()) {\n continue;\n }\n // if the abstractColumn is a grid generated group, there will be no colDef\n var headerGroupShow = abstractColumn.getColumnGroupShow();\n if (headerGroupShow === ColumnGroup.HEADER_GROUP_SHOW_OPEN) {\n atLeastOneShowingWhenOpen = true;\n atLeastOneChangeable = true;\n }\n else if (headerGroupShow === ColumnGroup.HEADER_GROUP_SHOW_CLOSED) {\n atLeastOneShowingWhenClosed = true;\n atLeastOneChangeable = true;\n }\n else {\n atLeastOneShowingWhenOpen = true;\n atLeastOneShowingWhenClosed = true;\n }\n }\n var expandable = atLeastOneShowingWhenOpen && atLeastOneShowingWhenClosed && atLeastOneChangeable;\n if (this.expandable !== expandable) {\n this.expandable = expandable;\n var event_1 = {\n type: ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED\n };\n this.localEventService.dispatchEvent(event_1);\n }\n };\n ProvidedColumnGroup.prototype.findChildrenRemovingPadding = function () {\n var res = [];\n var process = function (items) {\n items.forEach(function (item) {\n // if padding, we add this children instead of the padding\n var skipBecausePadding = item instanceof ProvidedColumnGroup && item.isPadding();\n if (skipBecausePadding) {\n process(item.children);\n }\n else {\n res.push(item);\n }\n });\n };\n process(this.children);\n return res;\n };\n ProvidedColumnGroup.prototype.onColumnVisibilityChanged = function () {\n this.setExpandable();\n };\n ProvidedColumnGroup.prototype.addEventListener = function (eventType, listener) {\n this.localEventService.addEventListener(eventType, listener);\n };\n ProvidedColumnGroup.prototype.removeEventListener = function (eventType, listener) {\n this.localEventService.removeEventListener(eventType, listener);\n };\n ProvidedColumnGroup.EVENT_EXPANDED_CHANGED = 'expandedChanged';\n ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED = 'expandableChanged';\n return ProvidedColumnGroup;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar DefaultColumnTypes = {\n numericColumn: {\n headerClass: 'ag-right-aligned-header',\n cellClass: 'ag-right-aligned-cell'\n },\n rightAligned: {\n headerClass: 'ag-right-aligned-header',\n cellClass: 'ag-right-aligned-cell'\n }\n};\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar AG_GRID_STOP_PROPAGATION = '__ag_Grid_Stop_Propagation';\nvar PASSIVE_EVENTS$1 = ['touchstart', 'touchend', 'touchmove', 'touchcancel'];\nvar supports = {};\n/**\n * a user once raised an issue - they said that when you opened a popup (eg context menu)\n * and then clicked on a selection checkbox, the popup wasn't closed. this is because the\n * popup listens for clicks on the body, however ag-grid WAS stopping propagation on the\n * checkbox clicks (so the rows didn't pick them up as row selection selection clicks).\n * to get around this, we have a pattern to stop propagation for the purposes of AG Grid,\n * but we still let the event pass back to the body.\n * @param {Event} event\n */\nfunction stopPropagationForAgGrid(event) {\n event[AG_GRID_STOP_PROPAGATION] = true;\n}\nfunction isStopPropagationForAgGrid(event) {\n return event[AG_GRID_STOP_PROPAGATION] === true;\n}\nvar isEventSupported = (function () {\n var tags = {\n select: 'input',\n change: 'input',\n submit: 'form',\n reset: 'form',\n error: 'img',\n load: 'img',\n abort: 'img'\n };\n var eventChecker = function (eventName) {\n if (typeof supports[eventName] === 'boolean') {\n return supports[eventName];\n }\n var el = document.createElement(tags[eventName] || 'div');\n eventName = 'on' + eventName;\n return supports[eventName] = (eventName in el);\n };\n return eventChecker;\n})();\nfunction getCtrlForEvent(gridOptionsWrapper, event, type) {\n var sourceElement = event.target;\n while (sourceElement) {\n var renderedComp = gridOptionsWrapper.getDomData(sourceElement, type);\n if (renderedComp) {\n return renderedComp;\n }\n sourceElement = sourceElement.parentElement;\n }\n return null;\n}\n/**\n * @deprecated\n * Adds all type of change listeners to an element, intended to be a text field\n * @param {HTMLElement} element\n * @param {EventListener} listener\n */\nfunction addChangeListener(element, listener) {\n element.addEventListener('changed', listener);\n element.addEventListener('paste', listener);\n element.addEventListener('input', listener);\n}\nfunction isElementInEventPath(element, event) {\n if (!event || !element) {\n return false;\n }\n return getEventPath(event).indexOf(element) >= 0;\n}\nfunction createEventPath(event) {\n var res = [];\n var pointer = event.target;\n while (pointer) {\n res.push(pointer);\n pointer = pointer.parentElement;\n }\n return res;\n}\n/**\n * firefox doesn't have event.path set, or any alternative to it, so we hack\n * it in. this is needed as it's to late to work out the path when the item is\n * removed from the dom. used by MouseEventService, where it works out if a click\n * was from the current grid, or a detail grid (master / detail).\n * @param {Event} event\n */\nfunction addAgGridEventPath(event) {\n event.__agGridEventPath = getEventPath(event);\n}\n/**\n * Gets the path for an Event.\n * https://stackoverflow.com/questions/39245488/event-path-undefined-with-firefox-and-vue-js\n * https://developer.mozilla.org/en-US/docs/Web/API/Event\n * @param {Event} event\n * @returns {EventTarget[]}\n */\nfunction getEventPath(event) {\n var eventNoType = event;\n if (eventNoType.path) {\n // Chrome supports path\n return eventNoType.path;\n }\n if (eventNoType.composedPath) {\n // Firefox supports composePath\n return eventNoType.composedPath();\n }\n if (eventNoType.__agGridEventPath) {\n // Firefox supports composePath\n return eventNoType.__agGridEventPath;\n }\n // and finally, if none of the above worked,\n // we create the path ourselves\n return createEventPath(event);\n}\nfunction addSafePassiveEventListener(frameworkOverrides, eElement, event, listener) {\n var isPassive = includes(PASSIVE_EVENTS$1, event);\n var options = isPassive ? { passive: true } : undefined;\n // this check is here for certain scenarios where I believe the user must be destroying\n // the grid somehow but continuing for it to be used\n if (frameworkOverrides && frameworkOverrides.addEventListener) {\n frameworkOverrides.addEventListener(eElement, event, listener, options);\n }\n}\n\nvar EventUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n stopPropagationForAgGrid: stopPropagationForAgGrid,\n isStopPropagationForAgGrid: isStopPropagationForAgGrid,\n isEventSupported: isEventSupported,\n getCtrlForEvent: getCtrlForEvent,\n addChangeListener: addChangeListener,\n isElementInEventPath: isElementInEventPath,\n createEventPath: createEventPath,\n addAgGridEventPath: addAgGridEventPath,\n getEventPath: getEventPath,\n addSafePassiveEventListener: addSafePassiveEventListener\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$2x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar BeanStub = /** @class */ (function () {\n function BeanStub() {\n var _this = this;\n this.destroyFunctions = [];\n this.destroyed = false;\n // for vue 3 - prevents Vue from trying to make this (and obviously any sub classes) from being reactive\n // prevents vue from creating proxies for created objects and prevents identity related issues\n this.__v_skip = true;\n this.isAlive = function () { return !_this.destroyed; };\n }\n // this was a test constructor niall built, when active, it prints after 5 seconds all beans/components that are\n // not destroyed. to use, create a new grid, then api.destroy() before 5 seconds. then anything that gets printed\n // points to a bean or component that was not properly disposed of.\n // constructor() {\n // setTimeout(()=> {\n // if (this.isAlive()) {\n // let prototype: any = Object.getPrototypeOf(this);\n // const constructor: any = prototype.constructor;\n // const constructorString = constructor.toString();\n // const beanName = constructorString.substring(9, constructorString.indexOf(\"(\"));\n // console.log('is alive ' + beanName);\n // }\n // }, 5000);\n // }\n // CellComp and GridComp and override this because they get the FrameworkOverrides from the Beans bean\n BeanStub.prototype.getFrameworkOverrides = function () {\n return this.frameworkOverrides;\n };\n BeanStub.prototype.getContext = function () {\n return this.context;\n };\n BeanStub.prototype.destroy = function () {\n // let prototype: any = Object.getPrototypeOf(this);\n // const constructor: any = prototype.constructor;\n // const constructorString = constructor.toString();\n // const beanName = constructorString.substring(9, constructorString.indexOf(\"(\"));\n this.destroyFunctions.forEach(function (func) { return func(); });\n this.destroyFunctions.length = 0;\n this.destroyed = true;\n this.dispatchEvent({ type: BeanStub.EVENT_DESTROYED });\n };\n BeanStub.prototype.addEventListener = function (eventType, listener) {\n if (!this.localEventService) {\n this.localEventService = new EventService();\n }\n this.localEventService.addEventListener(eventType, listener);\n };\n BeanStub.prototype.removeEventListener = function (eventType, listener) {\n if (this.localEventService) {\n this.localEventService.removeEventListener(eventType, listener);\n }\n };\n BeanStub.prototype.dispatchEventAsync = function (event) {\n var _this = this;\n window.setTimeout(function () { return _this.dispatchEvent(event); }, 0);\n };\n BeanStub.prototype.dispatchEvent = function (event) {\n if (this.localEventService) {\n this.localEventService.dispatchEvent(event);\n }\n };\n BeanStub.prototype.addManagedListener = function (object, event, listener) {\n var _this = this;\n if (this.destroyed) {\n return;\n }\n if (object instanceof HTMLElement) {\n addSafePassiveEventListener(this.getFrameworkOverrides(), object, event, listener);\n }\n else {\n object.addEventListener(event, listener);\n }\n var destroyFunc = function () {\n object.removeEventListener(event, listener);\n _this.destroyFunctions = _this.destroyFunctions.filter(function (fn) { return fn !== destroyFunc; });\n return null;\n };\n this.destroyFunctions.push(destroyFunc);\n return destroyFunc;\n };\n BeanStub.prototype.addDestroyFunc = function (func) {\n // if we are already destroyed, we execute the func now\n if (this.isAlive()) {\n this.destroyFunctions.push(func);\n }\n else {\n func();\n }\n };\n BeanStub.prototype.createManagedBean = function (bean, context) {\n var res = this.createBean(bean, context);\n this.addDestroyFunc(this.destroyBean.bind(this, bean, context));\n return res;\n };\n BeanStub.prototype.createBean = function (bean, context, afterPreCreateCallback) {\n return (context || this.getContext()).createBean(bean, afterPreCreateCallback);\n };\n BeanStub.prototype.destroyBean = function (bean, context) {\n return (context || this.getContext()).destroyBean(bean);\n };\n BeanStub.prototype.destroyBeans = function (beans, context) {\n var _this = this;\n if (beans) {\n beans.forEach(function (bean) { return _this.destroyBean(bean, context); });\n }\n return [];\n };\n BeanStub.EVENT_DESTROYED = 'destroyed';\n __decorate$2x([\n Autowired('frameworkOverrides')\n ], BeanStub.prototype, \"frameworkOverrides\", void 0);\n __decorate$2x([\n Autowired('context')\n ], BeanStub.prototype, \"context\", void 0);\n __decorate$2x([\n Autowired('eventService')\n ], BeanStub.prototype, \"eventService\", void 0);\n __decorate$2x([\n Autowired('gridOptionsWrapper')\n ], BeanStub.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$2x([\n PreDestroy\n ], BeanStub.prototype, \"destroy\", null);\n return BeanStub;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2U = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$9 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\n// takes ColDefs and ColGroupDefs and turns them into Columns and OriginalGroups\nvar ColumnFactory = /** @class */ (function (_super) {\n __extends$2U(ColumnFactory, _super);\n function ColumnFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFactory.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('ColumnFactory');\n };\n ColumnFactory.prototype.createColumnTree = function (defs, primaryColumns, existingTree) {\n // column key creator dishes out unique column id's in a deterministic way,\n // so if we have two grids (that could be master/slave) with same column definitions,\n // then this ensures the two grids use identical id's.\n var columnKeyCreator = new ColumnKeyCreator();\n var _a = this.extractExistingTreeData(existingTree), existingCols = _a.existingCols, existingGroups = _a.existingGroups, existingColKeys = _a.existingColKeys;\n columnKeyCreator.addExistingKeys(existingColKeys);\n // create am unbalanced tree that maps the provided definitions\n var unbalancedTree = this.recursivelyCreateColumns(defs, 0, primaryColumns, existingCols, columnKeyCreator, existingGroups);\n var treeDept = this.findMaxDept(unbalancedTree, 0);\n this.logger.log('Number of levels for grouped columns is ' + treeDept);\n var columnTree = this.balanceColumnTree(unbalancedTree, 0, treeDept, columnKeyCreator);\n var deptFirstCallback = function (child, parent) {\n if (child instanceof ProvidedColumnGroup) {\n child.setupExpandable();\n }\n // we set the original parents at the end, rather than when we go along, as balancing the tree\n // adds extra levels into the tree. so we can only set parents when balancing is done.\n child.setOriginalParent(parent);\n };\n this.columnUtils.depthFirstOriginalTreeSearch(null, columnTree, deptFirstCallback);\n return {\n columnTree: columnTree,\n treeDept: treeDept\n };\n };\n ColumnFactory.prototype.extractExistingTreeData = function (existingTree) {\n var existingCols = [];\n var existingGroups = [];\n var existingColKeys = [];\n if (existingTree) {\n this.columnUtils.depthFirstOriginalTreeSearch(null, existingTree, function (item) {\n if (item instanceof ProvidedColumnGroup) {\n var group = item;\n existingGroups.push(group);\n }\n else {\n var col = item;\n existingColKeys.push(col.getId());\n existingCols.push(col);\n }\n });\n }\n return { existingCols: existingCols, existingGroups: existingGroups, existingColKeys: existingColKeys };\n };\n ColumnFactory.prototype.createForAutoGroups = function (autoGroupCols, gridBalancedTree) {\n var _this = this;\n return autoGroupCols.map(function (col) { return _this.createAutoGroupTreeItem(gridBalancedTree, col); });\n };\n ColumnFactory.prototype.createAutoGroupTreeItem = function (balancedColumnTree, column) {\n var dept = this.findDepth(balancedColumnTree);\n // at the end, this will be the top of the tree item.\n var nextChild = column;\n for (var i = dept - 1; i >= 0; i--) {\n var autoGroup = new ProvidedColumnGroup(null, \"FAKE_PATH_\" + column.getId() + \"}_\" + i, true, i);\n this.context.createBean(autoGroup);\n autoGroup.setChildren([nextChild]);\n nextChild.setOriginalParent(autoGroup);\n nextChild = autoGroup;\n }\n // at this point, the nextChild is the top most item in the tree\n return nextChild;\n };\n ColumnFactory.prototype.findDepth = function (balancedColumnTree) {\n var dept = 0;\n var pointer = balancedColumnTree;\n while (pointer && pointer[0] && pointer[0] instanceof ProvidedColumnGroup) {\n dept++;\n pointer = pointer[0].getChildren();\n }\n return dept;\n };\n ColumnFactory.prototype.balanceColumnTree = function (unbalancedTree, currentDept, columnDept, columnKeyCreator) {\n var result = [];\n // go through each child, for groups, recurse a level deeper,\n // for columns we need to pad\n for (var i = 0; i < unbalancedTree.length; i++) {\n var child = unbalancedTree[i];\n if (child instanceof ProvidedColumnGroup) {\n // child is a group, all we do is go to the next level of recursion\n var originalGroup = child;\n var newChildren = this.balanceColumnTree(originalGroup.getChildren(), currentDept + 1, columnDept, columnKeyCreator);\n originalGroup.setChildren(newChildren);\n result.push(originalGroup);\n }\n else {\n // child is a column - so here we add in the padded column groups if needed\n var firstPaddedGroup = void 0;\n var currentPaddedGroup = void 0;\n // this for loop will NOT run any loops if no padded column groups are needed\n for (var j = columnDept - 1; j >= currentDept; j--) {\n var newColId = columnKeyCreator.getUniqueKey(null, null);\n var colGroupDefMerged = this.createMergedColGroupDef(null);\n var paddedGroup = new ProvidedColumnGroup(colGroupDefMerged, newColId, true, currentDept);\n this.context.createBean(paddedGroup);\n if (currentPaddedGroup) {\n currentPaddedGroup.setChildren([paddedGroup]);\n }\n currentPaddedGroup = paddedGroup;\n if (!firstPaddedGroup) {\n firstPaddedGroup = currentPaddedGroup;\n }\n }\n // likewise this if statement will not run if no padded groups\n if (firstPaddedGroup && currentPaddedGroup) {\n result.push(firstPaddedGroup);\n var hasGroups = unbalancedTree.some(function (leaf) { return leaf instanceof ProvidedColumnGroup; });\n if (hasGroups) {\n currentPaddedGroup.setChildren([child]);\n continue;\n }\n else {\n currentPaddedGroup.setChildren(unbalancedTree);\n break;\n }\n }\n result.push(child);\n }\n }\n return result;\n };\n ColumnFactory.prototype.findMaxDept = function (treeChildren, dept) {\n var maxDeptThisLevel = dept;\n for (var i = 0; i < treeChildren.length; i++) {\n var abstractColumn = treeChildren[i];\n if (abstractColumn instanceof ProvidedColumnGroup) {\n var originalGroup = abstractColumn;\n var newDept = this.findMaxDept(originalGroup.getChildren(), dept + 1);\n if (maxDeptThisLevel < newDept) {\n maxDeptThisLevel = newDept;\n }\n }\n }\n return maxDeptThisLevel;\n };\n ColumnFactory.prototype.recursivelyCreateColumns = function (defs, level, primaryColumns, existingColsCopy, columnKeyCreator, existingGroups) {\n var _this = this;\n return (defs || []).map(function (def) {\n if (_this.isColumnGroup(def)) {\n return _this.createColumnGroup(primaryColumns, def, level, existingColsCopy, columnKeyCreator, existingGroups);\n }\n else {\n return _this.createColumn(primaryColumns, def, existingColsCopy, columnKeyCreator);\n }\n });\n };\n ColumnFactory.prototype.createColumnGroup = function (primaryColumns, colGroupDef, level, existingColumns, columnKeyCreator, existingGroups) {\n var colGroupDefMerged = this.createMergedColGroupDef(colGroupDef);\n var groupId = columnKeyCreator.getUniqueKey(colGroupDefMerged.groupId || null, null);\n var existingGroup = this.findExistingGroup(colGroupDef, existingGroups);\n var providedGroup;\n if (existingGroup) {\n providedGroup = existingGroup;\n providedGroup.reset(colGroupDefMerged, level);\n removeFromArray(existingGroups, existingGroup);\n }\n else {\n providedGroup = new ProvidedColumnGroup(colGroupDefMerged, groupId, false, level);\n this.context.createBean(providedGroup);\n }\n var children = this.recursivelyCreateColumns(colGroupDefMerged.children, level + 1, primaryColumns, existingColumns, columnKeyCreator, existingGroups);\n providedGroup.setChildren(children);\n return providedGroup;\n };\n ColumnFactory.prototype.createMergedColGroupDef = function (colGroupDef) {\n var colGroupDefMerged = {};\n Object.assign(colGroupDefMerged, this.gridOptionsWrapper.getDefaultColGroupDef());\n Object.assign(colGroupDefMerged, colGroupDef);\n this.checkForDeprecatedItems(colGroupDefMerged);\n return colGroupDefMerged;\n };\n ColumnFactory.prototype.createColumn = function (primaryColumns, colDef, existingColsCopy, columnKeyCreator) {\n var colDefMerged = this.mergeColDefs(colDef);\n this.checkForDeprecatedItems(colDefMerged);\n // see if column already exists\n var column = this.findExistingColumn(colDef, existingColsCopy);\n // make sure we remove, so if user provided duplicate id, then we don't have more than\n // one column instance for colDef with common id\n if (existingColsCopy && column) {\n removeFromArray(existingColsCopy, column);\n }\n if (!column) {\n // no existing column, need to create one\n var colId = columnKeyCreator.getUniqueKey(colDefMerged.colId, colDefMerged.field);\n column = new Column(colDefMerged, colDef, colId, primaryColumns);\n this.context.createBean(column);\n }\n else {\n column.setColDef(colDefMerged, colDef);\n this.applyColumnState(column, colDefMerged);\n }\n return column;\n };\n ColumnFactory.prototype.applyColumnState = function (column, colDef) {\n // flex\n var flex = attrToNumber(colDef.flex);\n if (flex !== undefined) {\n column.setFlex(flex);\n }\n // width - we only set width if column is not flexing\n var noFlexThisCol = column.getFlex() <= 0;\n if (noFlexThisCol) {\n // both null and undefined means we skip, as it's not possible to 'clear' width (a column must have a width)\n var width = attrToNumber(colDef.width);\n if (width != null) {\n column.setActualWidth(width);\n }\n else {\n // otherwise set the width again, in case min or max width has changed,\n // and width needs to be adjusted.\n var widthBeforeUpdate = column.getActualWidth();\n column.setActualWidth(widthBeforeUpdate);\n }\n }\n // sort - anything but undefined will set sort, thus null or empty string will clear the sort\n if (colDef.sort !== undefined) {\n if (colDef.sort == Constants.SORT_ASC || colDef.sort == Constants.SORT_DESC) {\n column.setSort(colDef.sort);\n }\n else {\n column.setSort(undefined);\n }\n }\n // sorted at - anything but undefined, thus null will clear the sortIndex\n var sortIndex = attrToNumber(colDef.sortIndex);\n if (sortIndex !== undefined) {\n column.setSortIndex(sortIndex);\n }\n // hide - anything but undefined, thus null will clear the hide\n var hide = attrToBoolean(colDef.hide);\n if (hide !== undefined) {\n column.setVisible(!hide);\n }\n // pinned - anything but undefined, thus null or empty string will remove pinned\n if (colDef.pinned !== undefined) {\n column.setPinned(colDef.pinned);\n }\n };\n ColumnFactory.prototype.findExistingColumn = function (newColDef, existingColsCopy) {\n return (existingColsCopy || []).find(function (existingCol) {\n var existingColDef = existingCol.getUserProvidedColDef();\n if (!existingColDef) {\n return false;\n }\n var newHasId = newColDef.colId != null;\n var newHasField = newColDef.field != null;\n if (newHasId) {\n return existingCol.getId() === newColDef.colId;\n }\n if (newHasField) {\n return existingColDef.field === newColDef.field;\n }\n // if no id or field present, then try object equivalence.\n if (existingColDef === newColDef) {\n return true;\n }\n return false;\n });\n };\n ColumnFactory.prototype.findExistingGroup = function (newGroupDef, existingGroups) {\n return existingGroups.find(function (existingGroup) {\n var existingDef = existingGroup.getColGroupDef();\n if (!existingDef) {\n return false;\n }\n var newHasId = newGroupDef.groupId != null;\n if (newHasId) {\n return existingGroup.getId() === newGroupDef.groupId;\n }\n return false;\n });\n };\n ColumnFactory.prototype.mergeColDefs = function (colDef) {\n // start with empty merged definition\n var colDefMerged = {};\n // merge properties from default column definitions\n var defaultColDef = this.gridOptionsWrapper.getDefaultColDef();\n mergeDeep(colDefMerged, defaultColDef, false, true);\n // merge properties from column type properties\n var columnType = colDef.type;\n if (!columnType) {\n columnType = defaultColDef && defaultColDef.type;\n }\n // if type of both colDef and defaultColDef, then colDef gets preference\n if (columnType) {\n this.assignColumnTypes(columnType, colDefMerged);\n }\n // merge properties from column definitions\n mergeDeep(colDefMerged, colDef, false, true);\n var autoGroupColDef = this.gridOptionsWrapper.getAutoGroupColumnDef();\n var isSortingCoupled = this.gridOptionsWrapper.isColumnsSortingCoupledToGroup();\n if (colDef.rowGroup && autoGroupColDef && isSortingCoupled) {\n // override the sort for row group columns where the autoGroupColDef defines these values.\n mergeDeep(colDefMerged, { sort: autoGroupColDef.sort, initialSort: autoGroupColDef.initialSort }, false, true);\n }\n return colDefMerged;\n };\n ColumnFactory.prototype.assignColumnTypes = function (type, colDefMerged) {\n var typeKeys = [];\n if (type instanceof Array) {\n var invalidArray = type.some(function (a) { return typeof a !== 'string'; });\n if (invalidArray) {\n console.warn(\"AG Grid: if colDef.type is supplied an array it should be of type 'string[]'\");\n }\n else {\n typeKeys = type;\n }\n }\n else if (typeof type === 'string') {\n typeKeys = type.split(',');\n }\n else {\n console.warn(\"AG Grid: colDef.type should be of type 'string' | 'string[]'\");\n return;\n }\n // merge user defined with default column types\n var allColumnTypes = Object.assign({}, DefaultColumnTypes);\n var userTypes = this.gridOptionsWrapper.getColumnTypes() || {};\n iterateObject(userTypes, function (key, value) {\n if (key in allColumnTypes) {\n console.warn(\"AG Grid: the column type '\" + key + \"' is a default column type and cannot be overridden.\");\n }\n else {\n allColumnTypes[key] = value;\n }\n });\n typeKeys.forEach(function (t) {\n var typeColDef = allColumnTypes[t.trim()];\n if (typeColDef) {\n mergeDeep(colDefMerged, typeColDef, false, true);\n }\n else {\n console.warn(\"AG Grid: colDef.type '\" + t + \"' does not correspond to defined gridOptions.columnTypes\");\n }\n });\n };\n ColumnFactory.prototype.checkForDeprecatedItems = function (colDef) {\n if (colDef) {\n var colDefNoType = colDef; // take out the type, so we can access attributes not defined in the type\n if (colDefNoType.group !== undefined) {\n console.warn('AG Grid: colDef.group is invalid, please check documentation on how to do grouping as it changed in version 3');\n }\n if (colDefNoType.headerGroup !== undefined) {\n console.warn('AG Grid: colDef.headerGroup is invalid, please check documentation on how to do grouping as it changed in version 3');\n }\n if (colDefNoType.headerGroupShow !== undefined) {\n console.warn('AG Grid: colDef.headerGroupShow is invalid, should be columnGroupShow, please check documentation on how to do grouping as it changed in version 3');\n }\n if (colDefNoType.suppressRowGroup !== undefined) {\n console.warn('AG Grid: colDef.suppressRowGroup is deprecated, please use colDef.type instead');\n }\n if (colDefNoType.suppressAggregation !== undefined) {\n console.warn('AG Grid: colDef.suppressAggregation is deprecated, please use colDef.type instead');\n }\n if (colDefNoType.suppressRowGroup || colDefNoType.suppressAggregation) {\n console.warn('AG Grid: colDef.suppressAggregation and colDef.suppressRowGroup are deprecated, use allowRowGroup, allowPivot and allowValue instead');\n }\n if (colDefNoType.displayName) {\n console.warn(\"AG Grid: Found displayName \" + colDefNoType.displayName + \", please use headerName instead, displayName is deprecated.\");\n colDefNoType.headerName = colDefNoType.displayName;\n }\n }\n };\n // if object has children, we assume it's a group\n ColumnFactory.prototype.isColumnGroup = function (abstractColDef) {\n return abstractColDef.children !== undefined;\n };\n __decorate$2w([\n Autowired('columnUtils')\n ], ColumnFactory.prototype, \"columnUtils\", void 0);\n __decorate$2w([\n __param$9(0, Qualifier('loggerFactory'))\n ], ColumnFactory.prototype, \"setBeans\", null);\n ColumnFactory = __decorate$2w([\n Bean('columnFactory')\n ], ColumnFactory);\n return ColumnFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar Events = /** @class */ (function () {\n function Events() {\n }\n /** Everything has changed with the columns. Either complete new set of columns set, or user called setState() */\n /** @deprecated - grid no longer uses this, and setSate() also fires individual events */\n Events.EVENT_COLUMN_EVERYTHING_CHANGED = 'columnEverythingChanged';\n /** User has set in new columns. */\n Events.EVENT_NEW_COLUMNS_LOADED = 'newColumnsLoaded';\n /** The pivot mode flag was changed */\n Events.EVENT_COLUMN_PIVOT_MODE_CHANGED = 'columnPivotModeChanged';\n /** A row group column was added, removed or order changed. */\n Events.EVENT_COLUMN_ROW_GROUP_CHANGED = 'columnRowGroupChanged';\n /** expandAll / collapseAll was called from the api. */\n Events.EVENT_EXPAND_COLLAPSE_ALL = 'expandOrCollapseAll';\n /** A pivot column was added, removed or order changed. */\n Events.EVENT_COLUMN_PIVOT_CHANGED = 'columnPivotChanged';\n /** The list of grid columns has changed. */\n Events.EVENT_GRID_COLUMNS_CHANGED = 'gridColumnsChanged';\n /** A value column was added, removed or agg function was changed. */\n Events.EVENT_COLUMN_VALUE_CHANGED = 'columnValueChanged';\n /** A column was moved */\n Events.EVENT_COLUMN_MOVED = 'columnMoved';\n /** One or more columns was shown / hidden */\n Events.EVENT_COLUMN_VISIBLE = 'columnVisible';\n /** One or more columns was pinned / unpinned*/\n Events.EVENT_COLUMN_PINNED = 'columnPinned';\n /** A column group was opened / closed */\n Events.EVENT_COLUMN_GROUP_OPENED = 'columnGroupOpened';\n /** One or more columns was resized. If just one, the column in the event is set. */\n Events.EVENT_COLUMN_RESIZED = 'columnResized';\n /** The list of displayed columns has changed, can result from columns open / close, column move, pivot, group, etc */\n Events.EVENT_DISPLAYED_COLUMNS_CHANGED = 'displayedColumnsChanged';\n /** The list of virtual columns has changed, results from viewport changing */\n Events.EVENT_VIRTUAL_COLUMNS_CHANGED = 'virtualColumnsChanged';\n /** Async Transactions Executed */\n Events.EVENT_ASYNC_TRANSACTIONS_FLUSHED = 'asyncTransactionsFlushed';\n /** A row group was opened / closed */\n Events.EVENT_ROW_GROUP_OPENED = 'rowGroupOpened';\n /** @deprecated use EVENT_ROW_DATA_UPDATED instead */\n Events.EVENT_ROW_DATA_CHANGED = 'rowDataChanged';\n /** The client has updated data for the grid */\n Events.EVENT_ROW_DATA_UPDATED = 'rowDataUpdated';\n /** The client has set new floating data into the grid */\n Events.EVENT_PINNED_ROW_DATA_CHANGED = 'pinnedRowDataChanged';\n /** Range selection has changed */\n Events.EVENT_RANGE_SELECTION_CHANGED = 'rangeSelectionChanged';\n /** Chart was created */\n Events.EVENT_CHART_CREATED = 'chartCreated';\n /** Chart Range selection has changed */\n Events.EVENT_CHART_RANGE_SELECTION_CHANGED = 'chartRangeSelectionChanged';\n /** Chart Options have changed */\n Events.EVENT_CHART_OPTIONS_CHANGED = 'chartOptionsChanged';\n /** Chart was destroyed */\n Events.EVENT_CHART_DESTROYED = 'chartDestroyed';\n /** For when the tool panel is shown / hidden */\n Events.EVENT_TOOL_PANEL_VISIBLE_CHANGED = 'toolPanelVisibleChanged';\n Events.EVENT_TOOL_PANEL_SIZE_CHANGED = 'toolPanelSizeChanged';\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_START = 'columnPanelItemDragStart';\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_END = 'columnPanelItemDragEnd';\n /** Model was updated - grid updates the drawn rows when this happens */\n Events.EVENT_MODEL_UPDATED = 'modelUpdated';\n Events.EVENT_PASTE_START = 'pasteStart';\n Events.EVENT_PASTE_END = 'pasteEnd';\n Events.EVENT_FILL_START = 'fillStart';\n Events.EVENT_FILL_END = 'fillEnd';\n Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_START = 'keyShortcutChangedCellStart';\n Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_END = 'keyShortcutChangedCellEnd';\n Events.EVENT_CELL_CLICKED = 'cellClicked';\n Events.EVENT_CELL_DOUBLE_CLICKED = 'cellDoubleClicked';\n Events.EVENT_CELL_MOUSE_DOWN = 'cellMouseDown';\n Events.EVENT_CELL_CONTEXT_MENU = 'cellContextMenu';\n Events.EVENT_CELL_VALUE_CHANGED = 'cellValueChanged';\n Events.EVENT_CELL_EDIT_REQUEST = 'cellEditRequest';\n Events.EVENT_ROW_VALUE_CHANGED = 'rowValueChanged';\n Events.EVENT_CELL_FOCUSED = 'cellFocused';\n Events.EVENT_FULL_WIDTH_ROW_FOCUSED = 'fullWidthRowFocused';\n Events.EVENT_ROW_SELECTED = 'rowSelected';\n Events.EVENT_SELECTION_CHANGED = 'selectionChanged';\n Events.EVENT_CELL_KEY_DOWN = 'cellKeyDown';\n Events.EVENT_CELL_KEY_PRESS = 'cellKeyPress';\n Events.EVENT_CELL_MOUSE_OVER = 'cellMouseOver';\n Events.EVENT_CELL_MOUSE_OUT = 'cellMouseOut';\n /** 2 events for filtering. The grid LISTENS for filterChanged and afterFilterChanged */\n Events.EVENT_FILTER_CHANGED = 'filterChanged';\n /** Filter was change but not applied. Only useful if apply buttons are used in filters. */\n Events.EVENT_FILTER_MODIFIED = 'filterModified';\n Events.EVENT_FILTER_OPENED = 'filterOpened';\n Events.EVENT_SORT_CHANGED = 'sortChanged';\n /** A row was removed from the dom, for any reason. Use to clean up resources (if any) used by the row. */\n Events.EVENT_VIRTUAL_ROW_REMOVED = 'virtualRowRemoved';\n Events.EVENT_ROW_CLICKED = 'rowClicked';\n Events.EVENT_ROW_DOUBLE_CLICKED = 'rowDoubleClicked';\n /** Gets called once after the grid has finished initialising. */\n Events.EVENT_GRID_READY = 'gridReady';\n /** Width of height of the main grid div has changed. Grid listens for this and does layout of grid if it's\n * changed, so always filling the space it was given. */\n Events.EVENT_GRID_SIZE_CHANGED = 'gridSizeChanged';\n /** The indexes of the rows rendered has changed, eg user has scrolled to a new vertical position. */\n Events.EVENT_VIEWPORT_CHANGED = 'viewportChanged';\n /* The width of the scrollbar has been calculated */\n Events.EVENT_SCROLLBAR_WIDTH_CHANGED = 'scrollbarWidthChanged';\n /** Rows were rendered for the first time (ie on async data load). */\n Events.EVENT_FIRST_DATA_RENDERED = 'firstDataRendered';\n /** A column drag has started, either resizing a column or moving a column. */\n Events.EVENT_DRAG_STARTED = 'dragStarted';\n /** A column drag has stopped */\n Events.EVENT_DRAG_STOPPED = 'dragStopped';\n Events.EVENT_CHECKBOX_CHANGED = 'checkboxChanged';\n Events.EVENT_ROW_EDITING_STARTED = 'rowEditingStarted';\n Events.EVENT_ROW_EDITING_STOPPED = 'rowEditingStopped';\n Events.EVENT_CELL_EDITING_STARTED = 'cellEditingStarted';\n Events.EVENT_CELL_EDITING_STOPPED = 'cellEditingStopped';\n /** Main body of grid has scrolled, either horizontally or vertically */\n Events.EVENT_BODY_SCROLL = 'bodyScroll';\n /** Main body of the grid has stopped scrolling, either horizontally or vertically */\n Events.EVENT_BODY_SCROLL_END = 'bodyScrollEnd';\n Events.EVENT_HEIGHT_SCALE_CHANGED = 'heightScaleChanged';\n /** The displayed page for pagination has changed. For example the data was filtered or sorted,\n * or the user has moved to a different page. */\n Events.EVENT_PAGINATION_CHANGED = 'paginationChanged';\n /** Only used by React, Angular, Web Components and VueJS AG Grid components\n * (not used if doing plain JavaScript). If the grid receives changes due\n * to bound properties, this event fires after the grid has finished processing the change. */\n Events.EVENT_COMPONENT_STATE_CHANGED = 'componentStateChanged';\n /***************************** INTERNAL EVENTS: START ******************************************* */\n /** Please remember to add to ComponentUtil.EXCLUDED_INTERNAL_EVENTS to not have these events exposed to framework components. */\n /** All items from here down are used internally by the grid, not intended for external use. */\n // not documented, either experimental, or we just don't want users using an depending on them\n Events.EVENT_BODY_HEIGHT_CHANGED = 'bodyHeightChanged';\n Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED = 'displayedColumnsWidthChanged';\n Events.EVENT_SCROLL_VISIBILITY_CHANGED = 'scrollVisibilityChanged';\n Events.EVENT_COLUMN_HOVER_CHANGED = 'columnHoverChanged';\n Events.EVENT_FLASH_CELLS = 'flashCells';\n Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED = 'paginationPixelOffsetChanged';\n Events.EVENT_DISPLAYED_ROWS_CHANGED = 'displayedRowsChanged';\n Events.EVENT_LEFT_PINNED_WIDTH_CHANGED = 'leftPinnedWidthChanged';\n Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED = 'rightPinnedWidthChanged';\n Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED = 'rowContainerHeightChanged';\n Events.EVENT_HEADER_HEIGHT_CHANGED = 'headerHeightChanged';\n Events.EVENT_COLUMN_HEADER_HEIGHT_CHANGED = 'columnHeaderHeightChanged';\n Events.EVENT_ROW_DRAG_ENTER = 'rowDragEnter';\n Events.EVENT_ROW_DRAG_MOVE = 'rowDragMove';\n Events.EVENT_ROW_DRAG_LEAVE = 'rowDragLeave';\n Events.EVENT_ROW_DRAG_END = 'rowDragEnd';\n // primarily for charts\n Events.EVENT_POPUP_TO_FRONT = 'popupToFront';\n // these are used for server side group and agg - only used by CS with Viewport Row Model - intention is\n // to design these better around server side functions and then release to general public when fully working with\n // all the row models.\n Events.EVENT_COLUMN_ROW_GROUP_CHANGE_REQUEST = 'columnRowGroupChangeRequest';\n Events.EVENT_COLUMN_PIVOT_CHANGE_REQUEST = 'columnPivotChangeRequest';\n Events.EVENT_COLUMN_VALUE_CHANGE_REQUEST = 'columnValueChangeRequest';\n Events.EVENT_COLUMN_AGG_FUNC_CHANGE_REQUEST = 'columnAggFuncChangeRequest';\n Events.EVENT_KEYBOARD_FOCUS = 'keyboardFocus';\n Events.EVENT_MOUSE_FOCUS = 'mouseFocus';\n Events.EVENT_STORE_UPDATED = 'storeUpdated';\n return Events;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// class returns unique instance id's for columns.\n// eg, the following calls (in this order) will result in:\n//\n// getInstanceIdForKey('country') => 0\n// getInstanceIdForKey('country') => 1\n// getInstanceIdForKey('country') => 2\n// getInstanceIdForKey('country') => 3\n// getInstanceIdForKey('age') => 0\n// getInstanceIdForKey('age') => 1\n// getInstanceIdForKey('country') => 4\nvar GroupInstanceIdCreator = /** @class */ (function () {\n function GroupInstanceIdCreator() {\n // this map contains keys to numbers, so we remember what the last call was\n this.existingIds = {};\n }\n GroupInstanceIdCreator.prototype.getInstanceIdForKey = function (key) {\n var lastResult = this.existingIds[key];\n var result;\n if (typeof lastResult !== 'number') {\n // first time this key\n result = 0;\n }\n else {\n result = lastResult + 1;\n }\n this.existingIds[key] = result;\n return result;\n };\n return GroupInstanceIdCreator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar reUnescapedHtml = /[&<>\"']/g;\n/**\n * HTML Escapes.\n */\nvar HTML_ESCAPES = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n/**\n * It encodes any string in UTF-8 format\n * taken from https://github.com/mathiasbynens/utf8.js\n * @param {string} s\n * @returns {string}\n */\nfunction utf8_encode(s) {\n var stringFromCharCode = String.fromCharCode;\n function ucs2decode(string) {\n var output = [];\n if (!string) {\n return [];\n }\n var len = string.length;\n var counter = 0;\n var value;\n var extra;\n while (counter < len) {\n value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < len) {\n // high surrogate, and there is a next character\n extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // low surrogate\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n }\n else {\n // unmatched surrogate; only append this code unit, in case the next\n // code unit is the high surrogate of a surrogate pair\n output.push(value);\n counter--;\n }\n }\n else {\n output.push(value);\n }\n }\n return output;\n }\n function checkScalarValue(point) {\n if (point >= 0xD800 && point <= 0xDFFF) {\n throw Error('Lone surrogate U+' + point.toString(16).toUpperCase() +\n ' is not a scalar value');\n }\n }\n function createByte(point, shift) {\n return stringFromCharCode(((point >> shift) & 0x3F) | 0x80);\n }\n function encodeCodePoint(point) {\n if ((point >= 0 && point <= 31 && point !== 10)) {\n var convertedCode = point.toString(16).toUpperCase();\n var paddedCode = convertedCode.padStart(4, '0');\n return \"_x\" + paddedCode + \"_\";\n }\n if ((point & 0xFFFFFF80) == 0) { // 1-byte sequence\n return stringFromCharCode(point);\n }\n var symbol = '';\n if ((point & 0xFFFFF800) == 0) { // 2-byte sequence\n symbol = stringFromCharCode(((point >> 6) & 0x1F) | 0xC0);\n }\n else if ((point & 0xFFFF0000) == 0) { // 3-byte sequence\n checkScalarValue(point);\n symbol = stringFromCharCode(((point >> 12) & 0x0F) | 0xE0);\n symbol += createByte(point, 6);\n }\n else if ((point & 0xFFE00000) == 0) { // 4-byte sequence\n symbol = stringFromCharCode(((point >> 18) & 0x07) | 0xF0);\n symbol += createByte(point, 12);\n symbol += createByte(point, 6);\n }\n symbol += stringFromCharCode((point & 0x3F) | 0x80);\n return symbol;\n }\n var codePoints = ucs2decode(s);\n var length = codePoints.length;\n var index = -1;\n var codePoint;\n var byteString = '';\n while (++index < length) {\n codePoint = codePoints[index];\n byteString += encodeCodePoint(codePoint);\n }\n return byteString;\n}\n/**\n * Converts a camelCase string into hyphenated string\n * from https://gist.github.com/youssman/745578062609e8acac9f\n * @param {string} str\n * @return {string}\n */\nfunction camelCaseToHyphen(str) {\n if (str === null || str === undefined) {\n return null;\n }\n return str.replace(/([A-Z])/g, function (g) { return '-' + g[0].toLowerCase(); });\n}\n/**\n * Converts a hyphenated string into camelCase string\n * from https://stackoverflow.com/questions/6660977/convert-hyphens-to-camel-case-camelcase\n * @param {string} str\n * @return {string}\n */\nfunction hyphenToCamelCase(str) {\n if (str === null || str === undefined) {\n return null;\n }\n return str.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });\n}\nfunction capitalise(str) {\n return str[0].toUpperCase() + str.substr(1).toLowerCase();\n}\nfunction escapeString(toEscape, skipEscapingHtmlChars) {\n if (toEscape == null) {\n return null;\n }\n // we call toString() twice, in case value is an object, where user provides\n // a toString() method, and first call to toString() returns back something other\n // than a string (eg a number to render)\n var stringResult = toEscape.toString().toString();\n if (skipEscapingHtmlChars) {\n return stringResult;\n }\n // in react we don't need to escape html characters, as it's done by the framework\n return stringResult.replace(reUnescapedHtml, function (chr) { return HTML_ESCAPES[chr]; });\n}\n/**\n * Converts a camelCase string into regular text\n * from: https://stackoverflow.com/questions/15369566/putting-space-in-camel-case-string-using-regular-expression\n * @param {string} camelCase\n * @return {string}\n */\nfunction camelCaseToHumanText(camelCase) {\n if (!camelCase || camelCase == null) {\n return null;\n }\n var rex = /([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g;\n var words = camelCase.replace(rex, '$1$4 $2$3$5').replace('.', ' ').split(' ');\n return words.map(function (word) { return word.substring(0, 1).toUpperCase() + ((word.length > 1) ? word.substring(1, word.length) : ''); }).join(' ');\n}\n\nvar StringUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n utf8_encode: utf8_encode,\n camelCaseToHyphen: camelCaseToHyphen,\n hyphenToCamelCase: hyphenToCamelCase,\n capitalise: capitalise,\n escapeString: escapeString,\n camelCaseToHumanText: camelCaseToHumanText\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction convertToMap(arr) {\n var map = new Map();\n arr.forEach(function (pair) { return map.set(pair[0], pair[1]); });\n return map;\n}\n// handy for organising a list into a map, where each item is mapped by an attribute, eg mapping Columns by ID\nfunction mapById(arr, callback) {\n var map = new Map();\n arr.forEach(function (item) { return map.set(callback(item), item); });\n return map;\n}\nfunction keys(map) {\n var arr = [];\n map.forEach(function (_, key) { return arr.push(key); });\n return arr;\n}\n\nvar MapUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n convertToMap: convertToMap,\n mapById: mapById,\n keys: keys\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$p = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$j = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$p(arguments[i]));\n return ar;\n};\nvar ColDefUtil = /** @class */ (function () {\n function ColDefUtil() {\n }\n ColDefUtil.STRING_PROPERTIES = [\n 'headerName',\n 'columnGroupShow',\n 'headerClass',\n 'toolPanelClass',\n 'headerValueGetter',\n 'pivotKeys',\n 'groupId',\n 'colId',\n 'sort',\n 'initialSort',\n 'field',\n 'type',\n 'tooltipComponent',\n 'tooltipField',\n 'headerTooltip',\n 'cellClass',\n 'showRowGroup',\n 'filter',\n 'initialAggFunc',\n 'defaultAggFunc',\n 'aggFunc',\n 'pinned',\n 'initialPinned',\n 'chartDataType',\n 'cellEditorPopupPosition'\n ];\n ColDefUtil.OBJECT_PROPERTIES = [\n 'headerGroupComponent',\n 'headerGroupComponentFramework',\n 'headerGroupComponentParams',\n 'cellStyle',\n 'cellRenderer',\n 'cellRendererParams',\n 'cellRendererFramework',\n 'cellEditor',\n 'cellEditorFramework',\n 'cellEditorParams',\n 'pinnedRowCellRendererFramework',\n 'pinnedRowCellRendererParams',\n 'filterFramework',\n 'filterParams',\n 'pivotValueColumn',\n 'headerComponent',\n 'headerComponentFramework',\n 'headerComponentParams',\n 'floatingFilterComponent',\n 'floatingFilterComponentParams',\n 'floatingFilterComponentFramework',\n 'tooltipComponent',\n 'tooltipComponentParams',\n 'tooltipComponentFramework',\n 'refData',\n 'columnsMenuParams'\n ];\n ColDefUtil.ARRAY_PROPERTIES = [\n 'children',\n 'sortingOrder',\n 'allowedAggFuncs',\n 'menuTabs',\n 'pivotTotalColumnIds',\n 'cellClassRules',\n 'icons'\n ];\n ColDefUtil.NUMBER_PROPERTIES = [\n 'sortedAt',\n 'sortIndex',\n 'initialSortIndex',\n 'flex',\n 'initialFlex',\n 'width',\n 'initialWidth',\n 'minWidth',\n 'maxWidth',\n 'rowGroupIndex',\n 'initialRowGroupIndex',\n 'pivotIndex',\n 'initialPivotIndex'\n ];\n ColDefUtil.BOOLEAN_PROPERTIES = [\n 'suppressCellFlash',\n 'suppressColumnsToolPanel',\n 'suppressFiltersToolPanel',\n 'openByDefault',\n 'marryChildren',\n 'hide',\n 'initialHide',\n 'rowGroup',\n 'initialRowGroup',\n 'pivot',\n 'initialPivot',\n 'checkboxSelection',\n 'showDisabledCheckboxes',\n 'headerCheckboxSelection',\n 'headerCheckboxSelectionFilteredOnly',\n 'suppressMenu',\n 'suppressMovable',\n 'lockPosition',\n 'lockVisible',\n 'lockPinned',\n 'unSortIcon',\n 'suppressSizeToFit',\n 'suppressAutoSize',\n 'enableRowGroup',\n 'enablePivot',\n 'enableValue',\n 'editable',\n 'suppressPaste',\n 'suppressNavigable',\n 'enableCellChangeFlash',\n 'rowDrag',\n 'dndSource',\n 'autoHeight',\n 'wrapText',\n 'sortable',\n 'resizable',\n 'singleClickEdit',\n 'floatingFilter',\n 'cellEditorPopup',\n 'suppressFillHandle',\n 'wrapHeaderText',\n 'autoHeaderHeight'\n ];\n ColDefUtil.FUNCTION_PROPERTIES = [\n 'dndSourceOnRowDrag',\n 'valueGetter',\n 'valueSetter',\n 'filterValueGetter',\n 'keyCreator',\n 'pinnedRowCellRenderer',\n 'valueFormatter',\n 'pinnedRowValueFormatter',\n 'valueParser',\n 'comparator',\n 'equals',\n 'pivotComparator',\n 'suppressKeyboardEvent',\n 'suppressHeaderKeyboardEvent',\n 'colSpan',\n 'rowSpan',\n 'getQuickFilterText',\n 'newValueHandler',\n 'onCellValueChanged',\n 'onCellClicked',\n 'onCellDoubleClicked',\n 'onCellContextMenu',\n 'rowDragText',\n 'tooltipValueGetter',\n 'tooltipComponent',\n 'tooltipComponentFramework',\n 'cellRendererSelector',\n 'cellEditorSelector'\n ];\n ColDefUtil.ALL_PROPERTIES = __spread$j(ColDefUtil.ARRAY_PROPERTIES, ColDefUtil.OBJECT_PROPERTIES, ColDefUtil.STRING_PROPERTIES, ColDefUtil.NUMBER_PROPERTIES, ColDefUtil.FUNCTION_PROPERTIES, ColDefUtil.BOOLEAN_PROPERTIES);\n // used when doing property checks - this causes noise when using frameworks which can add their own fw specific\n // properties to colDefs, gridOptions etc\n ColDefUtil.FRAMEWORK_PROPERTIES = [\n '__ob__',\n '__v_skip',\n '__metadata__',\n 'mappedColumnProperties',\n 'hasChildColumns',\n 'toColDef',\n 'createColDefFromGridColumn'\n ];\n return ColDefUtil;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$o = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$i = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$o(arguments[i]));\n return ar;\n};\n/**\n * These keys are used for validating properties supplied on a gridOptions object, and for code generation.\n * If you change the properties on the gridOptions interface, you *must* update this file as well to be consistent.\n */\nvar PropertyKeys = /** @class */ (function () {\n function PropertyKeys() {\n }\n PropertyKeys.STRING_PROPERTIES = [\n 'rowSelection', 'overlayLoadingTemplate', 'overlayNoRowsTemplate',\n 'quickFilterText', 'rowModelType', 'editType', 'domLayout', 'clipboardDelimiter', 'rowGroupPanelShow',\n 'multiSortKey', 'pivotColumnGroupTotals', 'pivotRowTotals', 'pivotPanelShow', 'fillHandleDirection',\n 'serverSideStoreType', 'groupDisplayType', 'treeDataDisplayType', 'colResizeDefault'\n ];\n PropertyKeys.OBJECT_PROPERTIES = [\n 'components', 'frameworkComponents', 'rowStyle', 'context', 'autoGroupColumnDef', 'localeText', 'icons',\n 'datasource', 'serverSideDatasource', 'viewportDatasource', 'groupRowRendererParams', 'aggFuncs', 'fullWidthCellRendererParams',\n 'defaultColGroupDef', 'defaultColDef', 'defaultExportParams', 'defaultCsvExportParams', 'defaultExcelExportParams', 'columnTypes',\n 'rowClassRules', 'detailCellRendererParams', 'loadingCellRendererParams', 'loadingOverlayComponentParams',\n 'noRowsOverlayComponentParams', 'popupParent', 'statusBar', 'sideBar', 'chartThemeOverrides',\n 'customChartThemes', 'chartToolPanelsDef'\n ];\n PropertyKeys.ARRAY_PROPERTIES = [\n 'sortingOrder', 'alignedGrids', 'rowData', 'columnDefs', 'excelStyles', 'pinnedTopRowData', 'pinnedBottomRowData', 'chartThemes', 'rowClass'\n ];\n PropertyKeys.NUMBER_PROPERTIES = [\n 'rowHeight', 'detailRowHeight', 'rowBuffer', 'colWidth', 'headerHeight', 'groupHeaderHeight', 'floatingFiltersHeight',\n 'pivotHeaderHeight', 'pivotGroupHeaderHeight', 'groupDefaultExpanded', 'minColWidth', 'maxColWidth', 'viewportRowModelPageSize',\n 'viewportRowModelBufferSize', 'autoSizePadding', 'maxBlocksInCache', 'maxConcurrentDatasourceRequests', 'tooltipShowDelay',\n 'tooltipHideDelay', 'cacheOverflowSize', 'paginationPageSize', 'cacheBlockSize', 'infiniteInitialRowCount', 'serverSideInitialRowCount', 'scrollbarWidth',\n 'batchUpdateWaitMillis', 'asyncTransactionWaitMillis', 'blockLoadDebounceMillis', 'keepDetailRowsCount',\n 'undoRedoCellEditingLimit', 'cellFlashDelay', 'cellFadeDelay', 'tabIndex'\n ];\n PropertyKeys.BOOLEAN_PROPERTIES = [\n 'suppressMakeColumnVisibleAfterUnGroup', 'suppressRowClickSelection', 'suppressCellSelection', 'suppressCellFocus', 'suppressHorizontalScroll',\n 'alwaysShowHorizontalScroll', 'alwaysShowVerticalScroll', 'debug', 'enableBrowserTooltips', 'enableCellExpressions',\n 'angularCompileRows', 'angularCompileFilters', 'groupSuppressAutoColumn', 'groupSelectsChildren', 'groupIncludeFooter',\n 'groupIncludeTotalFooter', 'groupUseEntireRow', 'groupSuppressBlankHeader', 'suppressMenuHide', 'suppressRowDeselection',\n 'unSortIcon', 'suppressMultiSort', 'alwaysMultiSort', 'singleClickEdit', 'suppressLoadingOverlay', 'suppressNoRowsOverlay', 'suppressAutoSize',\n 'skipHeaderOnAutoSize', 'suppressParentsInRowNodes', 'suppressColumnMoveAnimation', 'suppressMovableColumns',\n 'suppressFieldDotNotation', 'enableRangeSelection', 'enableRangeHandle', 'enableFillHandle', 'suppressClearOnFillReduction',\n 'deltaSort', 'suppressTouch', 'suppressAsyncEvents', 'allowContextMenuWithControlKey', 'suppressContextMenu',\n 'rememberGroupStateWhenNewData', 'enableCellChangeFlash', 'suppressDragLeaveHidesColumns', 'suppressRowGroupHidesColumns', 'suppressMiddleClickScrolls',\n 'suppressPreventDefaultOnMouseWheel', 'suppressCopyRowsToClipboard', 'copyHeadersToClipboard', 'copyGroupHeadersToClipboard',\n 'pivotMode', 'suppressAggFuncInHeader', 'suppressColumnVirtualisation', 'suppressAggAtRootLevel', 'suppressFocusAfterRefresh',\n 'functionsPassive', 'functionsReadOnly', 'animateRows', 'groupSelectsFiltered', 'groupRemoveSingleChildren',\n 'groupRemoveLowestSingleChildren', 'enableRtl', 'suppressClickEdit', 'rowDragEntireRow', 'rowDragManaged', 'suppressRowDrag',\n 'suppressMoveWhenRowDragging', 'rowDragMultiRow', 'enableGroupEdit', 'embedFullWidthRows', 'deprecatedEmbedFullWidthRows',\n 'suppressPaginationPanel', 'groupHideOpenParents', 'groupMultiAutoColumn', 'pagination',\n 'stopEditingWhenGridLosesFocus', 'paginationAutoPageSize', 'suppressScrollOnNewData', 'suppressScrollWhenPopupsAreOpen',\n 'purgeClosedRowNodes', 'cacheQuickFilter', 'deltaRowDataMode', 'ensureDomOrder', 'accentedSort', 'suppressChangeDetection',\n 'valueCache', 'valueCacheNeverExpires', 'aggregateOnlyChangedColumns', 'suppressAnimationFrame', 'suppressExcelExport',\n 'suppressCsvExport', 'treeData', 'masterDetail', 'suppressMultiRangeSelection', 'enterMovesDownAfterEdit', 'enterMovesDown',\n 'suppressPropertyNamesCheck', 'rowMultiSelectWithClick', 'suppressEnterpriseResetOnNewColumns',\n 'suppressRowHoverHighlight', 'suppressRowTransform', 'suppressClipboardPaste', 'suppressLastEmptyLineOnPaste',\n 'suppressSetColumnStateEvents', 'suppressColumnStateEvents', 'enableCharts', 'enableChartToolPanelsButton', 'deltaColumnMode',\n 'suppressMaintainUnsortedOrder', 'enableCellTextSelection', 'suppressBrowserResizeObserver', 'suppressMaxRenderedRowRestriction',\n 'excludeChildrenWhenTreeDataFiltering', 'tooltipMouseTrack', 'keepDetailRows', 'paginateChildRows', 'preventDefaultOnContextMenu',\n 'undoRedoCellEditing', 'allowDragFromColumnsToolPanel', 'immutableData', 'immutableColumns', 'pivotSuppressAutoColumn',\n 'suppressExpandablePivotGroups', 'applyColumnDefOrder', 'debounceVerticalScrollbar', 'detailRowAutoHeight',\n 'serverSideFilteringAlwaysResets', 'serverSideSortingAlwaysResets', 'serverSideSortAllLevels', 'serverSideFilterAllLevels',\n 'serverSideSortOnServer', 'serverSideFilterOnServer', 'suppressAggFilteredOnly', 'showOpenedGroup', 'suppressClipboardApi',\n 'suppressModelUpdateAfterUpdateTransaction', 'stopEditingWhenCellsLoseFocus', 'maintainColumnOrder', 'groupMaintainOrder',\n 'columnHoverHighlight', 'reactUi', 'suppressReactUi', 'readOnlyEdit', 'suppressRowVirtualisation', 'enableCellEditingOnBackspace',\n 'resetRowDataOnUpdate', 'removePivotHeaderRowWhenSingleValueColumn', 'suppressCopySingleCellRanges',\n 'groupRowsSticky', 'serverSideInfiniteScroll', 'rowGroupPanelSuppressSort', 'allowShowChangeAfterFilter'\n ];\n /** You do not need to include event callbacks in this list, as they are generated automatically. */\n PropertyKeys.FUNCTIONAL_PROPERTIES = [\n 'localeTextFunc', 'doesExternalFilterPass', 'groupRowAggNodes', 'isFullWidthCell', 'processSecondaryColDef', 'processSecondaryColGroupDef', 'processPivotResultColDef',\n 'processPivotResultColGroupDef', 'getBusinessKeyForNode', 'isRowSelectable', 'postSort', 'defaultGroupSortComparator', 'defaultGroupOrderComparator', 'rowDragText',\n 'groupRowInnerRenderer', 'groupRowInnerRendererFramework', 'groupRowRenderer', 'groupRowRendererFramework', 'fullWidthCellRenderer', 'fullWidthCellRendererFramework',\n 'loadingCellRenderer', 'loadingCellRendererFramework', 'loadingOverlayComponent', 'loadingOverlayComponentFramework', 'noRowsOverlayComponent', 'noRowsOverlayComponentFramework',\n 'detailCellRenderer', 'detailCellRendererFramework'\n ];\n PropertyKeys.CALLBACK_PROPERTIES = [\n 'getLocaleText', 'isExternalFilterPresent', 'getRowHeight', 'getRowClass', 'getRowStyle', 'getContextMenuItems', 'getMainMenuItems',\n 'processRowPostCreate', 'processCellForClipboard', 'getGroupRowAgg', 'getRowNodeId', 'isFullWidthRow',\n 'sendToClipboard', 'navigateToNextHeader', 'tabToNextHeader', 'navigateToNextCell',\n 'tabToNextCell', 'processCellFromClipboard', 'getDocument', 'postProcessPopup', 'getChildCount', 'getDataPath', 'isRowMaster', 'postSortRows', 'processHeaderForClipboard',\n 'processGroupHeaderForClipboard', 'paginationNumberFormatter', 'processDataFromClipboard', 'getServerSideGroupKey', 'isServerSideGroup', 'suppressKeyboardEvent',\n 'createChartContainer', 'getChartToolbarItems', 'fillOperation', 'isApplyServerSideTransaction', 'getServerSideStoreParams', 'getServerSideGroupLevelParams',\n 'isServerSideGroupOpenByDefault', 'isGroupOpenByDefault', 'initialGroupOrderComparator',\n 'loadingCellRendererSelector', 'getRowId', 'groupAggFiltering'\n ];\n PropertyKeys.FUNCTION_PROPERTIES = __spread$i(PropertyKeys.FUNCTIONAL_PROPERTIES, PropertyKeys.CALLBACK_PROPERTIES);\n PropertyKeys.ALL_PROPERTIES = __spread$i(PropertyKeys.ARRAY_PROPERTIES, PropertyKeys.OBJECT_PROPERTIES, PropertyKeys.STRING_PROPERTIES, PropertyKeys.NUMBER_PROPERTIES, PropertyKeys.FUNCTION_PROPERTIES, PropertyKeys.BOOLEAN_PROPERTIES);\n /**\n * Used when performing property checks. This avoids noise caused when using frameworks, which can add their own\n * framework-specific properties to colDefs, gridOptions etc.\n */\n PropertyKeys.FRAMEWORK_PROPERTIES = [\n '__ob__', '__v_skip', '__metadata__', 'mappedColumnProperties', 'hasChildColumns', 'toColDef', 'createColDefFromGridColumn'\n ];\n return PropertyKeys;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$h = (undefined && undefined.__assign) || function () {\n __assign$h = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$h.apply(this, arguments);\n};\nvar __read$n = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$h = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$n(arguments[i]));\n return ar;\n};\nvar ComponentUtil = /** @class */ (function () {\n function ComponentUtil() {\n }\n ComponentUtil.getEventCallbacks = function () {\n if (!ComponentUtil.EVENT_CALLBACKS) {\n ComponentUtil.EVENT_CALLBACKS = ComponentUtil.EVENTS.map(function (event) { return ComponentUtil.getCallbackForEvent(event); });\n }\n return ComponentUtil.EVENT_CALLBACKS;\n };\n ComponentUtil.copyAttributesToGridOptions = function (gridOptions, component, skipEventDeprecationCheck) {\n // create empty grid options if none were passed\n if (typeof gridOptions !== 'object') {\n gridOptions = {};\n }\n // to allow array style lookup in TypeScript, take type away from 'this' and 'gridOptions'\n var pGridOptions = gridOptions;\n var keyExists = function (key) { return typeof component[key] !== 'undefined'; };\n // if groupAggFiltering exists and isn't a function, handle as a boolean.\n if (keyExists('groupAggFiltering') && typeof component.groupAggFiltering !== 'function') {\n pGridOptions.groupAggFiltering = ComponentUtil.toBoolean(component.groupAggFiltering);\n delete component.groupAggFiltering;\n }\n // add in all the simple properties\n __spread$h(ComponentUtil.ARRAY_PROPERTIES, ComponentUtil.STRING_PROPERTIES, ComponentUtil.OBJECT_PROPERTIES, ComponentUtil.FUNCTION_PROPERTIES, ComponentUtil.getEventCallbacks()).filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = component[key]; });\n ComponentUtil.BOOLEAN_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toBoolean(component[key]); });\n ComponentUtil.NUMBER_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toNumber(component[key]); });\n return gridOptions;\n };\n ComponentUtil.getCallbackForEvent = function (eventName) {\n if (!eventName || eventName.length < 2) {\n return eventName;\n }\n return 'on' + eventName[0].toUpperCase() + eventName.substr(1);\n };\n ComponentUtil.processOnChange = function (changes, gridOptions, api, columnApi) {\n if (!changes) {\n return;\n }\n var changesToApply = __assign$h({}, changes);\n // to allow array style lookup in TypeScript, take type away from 'this' and 'gridOptions'\n var pGridOptions = gridOptions;\n var keyExists = function (key) { return changesToApply[key]; };\n // if groupAggFiltering exists and isn't a function, handle as a boolean.\n if (keyExists('groupAggFiltering')) {\n if (typeof changesToApply.groupAggFiltering === 'function') {\n pGridOptions.groupAggFiltering = changesToApply.groupAggFiltering;\n }\n else {\n pGridOptions.groupAggFiltering = ComponentUtil.toBoolean(changesToApply.groupAggFiltering);\n }\n delete changesToApply.groupAggFiltering;\n }\n if (keyExists('groupDisplayType')) {\n if (typeof changesToApply.groupDisplayType.currentValue === 'string') {\n api.setGroupDisplayType(changesToApply.groupDisplayType.currentValue);\n delete changesToApply.groupDisplayType;\n }\n }\n // ********* CODE ORDER TO AVOID BUGS *************** //\n // If you want to call an update method that just calls through to gridOptionsWrapper.setProperty then it needs to be\n // called before the values get copied across otherwise the change will not fire an event because the method\n // gridOptionsWrapper.setProperty does a diff check first.\n // All these manual calls are required in the current setup as changes to these properties are being listened to in the \n // rest of the code base which can be found by searching for: \"addManagedListener(this.gridOptionsWrapper\"\n if (changesToApply.domLayout) {\n api.setDomLayout(changesToApply.domLayout.currentValue);\n delete changesToApply.domLayout;\n }\n if (changesToApply.rowClass) {\n api.setRowClass(changesToApply.rowClass.currentValue);\n delete changesToApply.rowClass;\n }\n if (changesToApply.paginationPageSize) {\n api.paginationSetPageSize(ComponentUtil.toNumber(changesToApply.paginationPageSize.currentValue));\n delete changesToApply.paginationPageSize;\n }\n if (changesToApply.rowGroupPanelShow) {\n api.setRowGroupPanelShow(changesToApply.rowGroupPanelShow.currentValue);\n delete changesToApply.rowGroupPanelShow;\n }\n if (changesToApply.groupRemoveSingleChildren) {\n api.setGroupRemoveSingleChildren(ComponentUtil.toBoolean(changesToApply.groupRemoveSingleChildren.currentValue));\n delete changesToApply.groupRemoveSingleChildren;\n }\n if (changesToApply.groupRemoveLowestSingleChildren) {\n api.setGroupRemoveLowestSingleChildren(ComponentUtil.toBoolean(changesToApply.groupRemoveLowestSingleChildren.currentValue));\n delete changesToApply.groupRemoveLowestSingleChildren;\n }\n if (changesToApply.suppressRowDrag) {\n api.setSuppressRowDrag(ComponentUtil.toBoolean(changesToApply.suppressRowDrag.currentValue));\n delete changesToApply.suppressRowDrag;\n }\n if (changesToApply.suppressMoveWhenRowDragging) {\n api.setSuppressMoveWhenRowDragging(ComponentUtil.toBoolean(changesToApply.suppressMoveWhenRowDragging.currentValue));\n delete changesToApply.suppressMoveWhenRowDragging;\n }\n if (changesToApply.suppressRowClickSelection) {\n api.setSuppressRowClickSelection(ComponentUtil.toBoolean(changesToApply.suppressRowClickSelection.currentValue));\n delete changesToApply.suppressRowClickSelection;\n }\n if (changesToApply.suppressClipboardPaste) {\n api.setSuppressClipboardPaste(ComponentUtil.toBoolean(changesToApply.suppressClipboardPaste.currentValue));\n delete changesToApply.suppressClipboardPaste;\n }\n if (changesToApply.headerHeight) {\n api.setHeaderHeight(ComponentUtil.toNumber(changesToApply.headerHeight.currentValue));\n delete changesToApply.headerHeight;\n }\n if (changesToApply.pivotHeaderHeight) {\n api.setPivotHeaderHeight(ComponentUtil.toNumber(changesToApply.pivotHeaderHeight.currentValue));\n delete changesToApply.pivotHeaderHeight;\n }\n if (changesToApply.groupHeaderHeight) {\n api.setGroupHeaderHeight(ComponentUtil.toNumber(changesToApply.groupHeaderHeight.currentValue));\n delete changesToApply.groupHeaderHeight;\n }\n if (changesToApply.pivotGroupHeaderHeight) {\n api.setPivotGroupHeaderHeight(ComponentUtil.toNumber(changesToApply.pivotGroupHeaderHeight.currentValue));\n delete changesToApply.pivotGroupHeaderHeight;\n }\n if (changesToApply.floatingFiltersHeight) {\n api.setFloatingFiltersHeight(ComponentUtil.toNumber(changesToApply.floatingFiltersHeight.currentValue));\n delete changesToApply.floatingFiltersHeight;\n }\n if (changesToApply.functionsReadOnly) {\n api.setFunctionsReadOnly(ComponentUtil.toBoolean(changesToApply.functionsReadOnly.currentValue));\n delete changesToApply.functionsReadOnly;\n }\n // ********* CODE ORDER TO AVOID BUGS *************** //\n // check if any change for the simple types, and if so, then just copy in the new value\n __spread$h(ComponentUtil.ARRAY_PROPERTIES, ComponentUtil.OBJECT_PROPERTIES, ComponentUtil.STRING_PROPERTIES, ComponentUtil.getEventCallbacks()).filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = changesToApply[key].currentValue; });\n ComponentUtil.BOOLEAN_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toBoolean(changesToApply[key].currentValue); });\n ComponentUtil.NUMBER_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toNumber(changesToApply[key].currentValue); });\n // ********* CODE ORDER TO AVOID BUGS *************** //\n // The following manual updates call directly into code models and rely on the simple copy being made by the\n // code above to keep gridOptions in sync with the change.\n if (changesToApply.enableCellTextSelection) {\n api.setEnableCellTextSelection(ComponentUtil.toBoolean(changesToApply.enableCellTextSelection.currentValue));\n delete changesToApply.enableCellTextSelection;\n }\n if (changesToApply.quickFilterText) {\n api.setQuickFilter(changesToApply.quickFilterText.currentValue);\n delete changesToApply.quickFilterText;\n }\n if (changesToApply.autoGroupColumnDef) {\n api.setAutoGroupColumnDef(changesToApply.autoGroupColumnDef.currentValue, \"gridOptionsChanged\");\n delete changesToApply.autoGroupColumnDef;\n }\n if (changesToApply.columnDefs) {\n api.setColumnDefs(changesToApply.columnDefs.currentValue, \"gridOptionsChanged\");\n delete changesToApply.columnDefs;\n }\n if (changesToApply.defaultColDef) {\n api.setDefaultColDef(changesToApply.defaultColDef.currentValue, \"gridOptionsChanged\");\n delete changesToApply.defaultColDef;\n }\n if (changesToApply.pivotMode) {\n columnApi.setPivotMode(ComponentUtil.toBoolean(changesToApply.pivotMode.currentValue));\n delete changesToApply.pivotMode;\n }\n // any remaining properties can be set in a generic way\n // ie the setter takes the form of setXXX and the argument requires no formatting/translation first\n var dynamicApi = api;\n Object.keys(changesToApply)\n .forEach(function (property) {\n var setterName = \"set\" + property.charAt(0).toUpperCase() + property.substring(1);\n if (dynamicApi[setterName]) {\n dynamicApi[setterName](changes[property].currentValue);\n }\n });\n // copy changes into an event for dispatch\n var event = {\n type: Events.EVENT_COMPONENT_STATE_CHANGED\n };\n iterateObject(changes, function (key, value) {\n event[key] = value;\n });\n api.dispatchEvent(event);\n };\n ComponentUtil.toBoolean = function (value) {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'string') {\n // for boolean, compare to empty String to allow attributes appearing with\n // no value to be treated as 'true'\n return value.toUpperCase() === 'TRUE' || value == '';\n }\n return false;\n };\n ComponentUtil.toNumber = function (value) {\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n return Number(value);\n }\n };\n // all the events are populated in here AFTER this class (at the bottom of the file).\n ComponentUtil.EVENTS = [];\n // events that are available for use by users of AG Grid and so should be documented\n ComponentUtil.PUBLIC_EVENTS = [];\n // events that are internal to AG Grid and should not be exposed to users via documentation or generated framework components\n ComponentUtil.EXCLUDED_INTERNAL_EVENTS = [];\n ComponentUtil.STRING_PROPERTIES = PropertyKeys.STRING_PROPERTIES;\n ComponentUtil.OBJECT_PROPERTIES = PropertyKeys.OBJECT_PROPERTIES;\n ComponentUtil.ARRAY_PROPERTIES = PropertyKeys.ARRAY_PROPERTIES;\n ComponentUtil.NUMBER_PROPERTIES = PropertyKeys.NUMBER_PROPERTIES;\n ComponentUtil.BOOLEAN_PROPERTIES = PropertyKeys.BOOLEAN_PROPERTIES;\n ComponentUtil.FUNCTION_PROPERTIES = PropertyKeys.FUNCTION_PROPERTIES;\n ComponentUtil.ALL_PROPERTIES = PropertyKeys.ALL_PROPERTIES;\n return ComponentUtil;\n}());\nComponentUtil.EVENTS = values(Events);\n/** Exclude the following internal events from code generation to prevent exposing these events via framework components */\nComponentUtil.EXCLUDED_INTERNAL_EVENTS = [\n Events.EVENT_SCROLLBAR_WIDTH_CHANGED,\n Events.EVENT_CHECKBOX_CHANGED,\n Events.EVENT_HEIGHT_SCALE_CHANGED,\n Events.EVENT_BODY_HEIGHT_CHANGED,\n Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED,\n Events.EVENT_SCROLL_VISIBILITY_CHANGED,\n Events.EVENT_COLUMN_HOVER_CHANGED,\n Events.EVENT_FLASH_CELLS,\n Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED,\n Events.EVENT_DISPLAYED_ROWS_CHANGED,\n Events.EVENT_LEFT_PINNED_WIDTH_CHANGED,\n Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED,\n Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED,\n Events.EVENT_POPUP_TO_FRONT,\n Events.EVENT_KEYBOARD_FOCUS,\n Events.EVENT_MOUSE_FOCUS,\n Events.EVENT_STORE_UPDATED,\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_START,\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_END,\n Events.EVENT_FILL_START,\n Events.EVENT_FILL_END,\n Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_START,\n Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_END,\n Events.EVENT_FULL_WIDTH_ROW_FOCUSED,\n Events.EVENT_HEADER_HEIGHT_CHANGED,\n Events.EVENT_COLUMN_HEADER_HEIGHT_CHANGED\n];\n/** EVENTS that should be exposed via code generation for the framework components. */\nComponentUtil.PUBLIC_EVENTS = ComponentUtil.EVENTS.filter(function (e) { return !includes(ComponentUtil.EXCLUDED_INTERNAL_EVENTS, e); });\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar SideBarDefParser = /** @class */ (function () {\n function SideBarDefParser() {\n }\n SideBarDefParser.parse = function (toParse) {\n if (!toParse) {\n return null;\n }\n if (toParse === true) {\n return {\n toolPanels: [\n SideBarDefParser.DEFAULT_COLUMN_COMP,\n SideBarDefParser.DEFAULT_FILTER_COMP,\n ],\n defaultToolPanel: 'columns'\n };\n }\n if (typeof toParse === 'string') {\n return SideBarDefParser.parse([toParse]);\n }\n if (Array.isArray(toParse)) {\n var comps_1 = [];\n toParse.forEach(function (key) {\n var lookupResult = SideBarDefParser.DEFAULT_BY_KEY[key];\n if (!lookupResult) {\n console.warn(\"AG Grid: the key \" + key + \" is not a valid key for specifying a tool panel, valid keys are: \" + Object.keys(SideBarDefParser.DEFAULT_BY_KEY).join(','));\n return;\n }\n comps_1.push(lookupResult);\n });\n if (comps_1.length === 0) {\n return null;\n }\n return {\n toolPanels: comps_1,\n defaultToolPanel: comps_1[0].id\n };\n }\n var result = {\n toolPanels: SideBarDefParser.parseComponents(toParse.toolPanels),\n defaultToolPanel: toParse.defaultToolPanel,\n hiddenByDefault: toParse.hiddenByDefault,\n position: toParse.position\n };\n return result;\n };\n SideBarDefParser.parseComponents = function (from) {\n var result = [];\n if (!from) {\n return result;\n }\n from.forEach(function (it) {\n var toAdd = null;\n if (typeof it === 'string') {\n var lookupResult = SideBarDefParser.DEFAULT_BY_KEY[it];\n if (!lookupResult) {\n console.warn(\"AG Grid: the key \" + it + \" is not a valid key for specifying a tool panel, valid keys are: \" + Object.keys(SideBarDefParser.DEFAULT_BY_KEY).join(','));\n return;\n }\n toAdd = lookupResult;\n }\n else {\n toAdd = it;\n }\n result.push(toAdd);\n });\n return result;\n };\n SideBarDefParser.DEFAULT_COLUMN_COMP = {\n id: 'columns',\n labelDefault: 'Columns',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n };\n SideBarDefParser.DEFAULT_FILTER_COMP = {\n id: 'filters',\n labelDefault: 'Filters',\n labelKey: 'filters',\n iconKey: 'filter',\n toolPanel: 'agFiltersToolPanel',\n };\n SideBarDefParser.DEFAULT_BY_KEY = {\n columns: SideBarDefParser.DEFAULT_COLUMN_COMP,\n filters: SideBarDefParser.DEFAULT_FILTER_COMP\n };\n return SideBarDefParser;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __values$5 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n * These variables are lazy loaded, as otherwise they try and get initialised when we are loading\n * unit tests and we don't have references to window or document in the unit tests\n * from http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser\n */\nvar isSafari;\nvar isIE;\nvar isEdge;\nvar isChrome;\nvar isFirefox;\nvar isMacOs;\nvar isIOS;\nvar invisibleScrollbar;\nvar browserScrollbarWidth;\nvar browserInfo;\n/**\n * from https://stackoverflow.com/a/16938481/1388233\n */\nfunction getBrowserInfo() {\n if (browserInfo) {\n return browserInfo;\n }\n var userAgent = navigator.userAgent;\n var match = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n var tem;\n var version;\n if (/trident/i.test(match[1])) {\n tem = /\\brv[ :]+(\\d+)/g.exec(userAgent) || [];\n version = tem[1] != null ? parseFloat(tem[1]) : 0;\n return {\n name: 'IE',\n version: version\n };\n }\n if (match[1] === 'Chrome') {\n tem = userAgent.match(/\\bOPR|Edge\\/(\\d+)/);\n if (tem != null) {\n version = tem[1] != null ? parseFloat(tem[1]) : 0;\n return {\n name: 'Opera',\n version: version\n };\n }\n }\n match = match[2] ? [match[1], match[2]] : [navigator.appName, navigator.appVersion, '-?'];\n tem = userAgent.match(/version\\/(\\d+)/i);\n if (tem != null) {\n match.splice(1, 1, tem[1]);\n }\n var name = match[0];\n version = match[1] != null ? parseFloat(match[1]) : 0;\n browserInfo = { name: name, version: version };\n return browserInfo;\n}\nfunction isBrowserIE() {\n if (isIE === undefined) {\n isIE = /*@cc_on!@*/ !!document.documentMode; // At least IE6\n }\n return isIE;\n}\nfunction isBrowserEdge() {\n if (isEdge === undefined) {\n isEdge = !isBrowserIE() && !!window.StyleMedia;\n }\n return isEdge;\n}\nfunction isBrowserSafari() {\n if (isSafari === undefined) {\n // taken from https://stackoverflow.com/a/23522755/1388233\n isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n }\n return isSafari;\n}\nfunction isBrowserChrome() {\n if (isChrome === undefined) {\n var win = window;\n isChrome = (!!win.chrome && (!!win.chrome.webstore || !!win.chrome.runtime)) ||\n (/Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor));\n }\n return isChrome;\n}\nfunction isBrowserFirefox() {\n if (isFirefox === undefined) {\n var win = window;\n isFirefox = typeof win.InstallTrigger !== 'undefined';\n }\n return isFirefox;\n}\nfunction isMacOsUserAgent() {\n if (isMacOs === undefined) {\n isMacOs = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);\n }\n return isMacOs;\n}\nfunction isIOSUserAgent() {\n if (isIOS === undefined) {\n // taken from https://stackoverflow.com/a/58064481/1388233\n isIOS = (/iPad|iPhone|iPod/.test(navigator.platform) ||\n // eslint-disable-next-line\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) &&\n // @ts-ignore\n !window.MSStream;\n }\n return isIOS;\n}\nfunction browserSupportsPreventScroll() {\n // all browsers except safari support focus({ preventScroll: true }).\n // this feature was added on Safari 15+\n return !isBrowserSafari() || getBrowserInfo().version >= 15;\n}\nfunction getTabIndex(el) {\n if (!el) {\n return null;\n }\n var numberTabIndex = el.tabIndex;\n var tabIndex = el.getAttribute('tabIndex');\n if (numberTabIndex === -1 && (tabIndex === null || (tabIndex === '' && !isBrowserFirefox()))) {\n return null;\n }\n return numberTabIndex.toString();\n}\nfunction getMaxDivHeight() {\n if (!document.body) {\n return -1;\n }\n var res = 1000000;\n // FF reports the height back but still renders blank after ~6M px\n var testUpTo = navigator.userAgent.toLowerCase().match(/firefox/) ? 6000000 : 1000000000;\n var div = document.createElement('div');\n document.body.appendChild(div);\n while (true) {\n var test = res * 2;\n div.style.height = test + 'px';\n if (test > testUpTo || div.clientHeight !== test) {\n break;\n }\n else {\n res = test;\n }\n }\n document.body.removeChild(div);\n return res;\n}\nfunction getScrollbarWidth() {\n if (browserScrollbarWidth == null) {\n initScrollbarWidthAndVisibility();\n }\n return browserScrollbarWidth;\n}\nfunction initScrollbarWidthAndVisibility() {\n var body = document.body;\n var div = document.createElement('div');\n div.style.width = div.style.height = '100px';\n div.style.opacity = '0';\n div.style.overflow = 'scroll';\n div.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n div.style.position = 'absolute';\n body.appendChild(div);\n var width = div.offsetWidth - div.clientWidth;\n // if width is 0 and client width is 0, means the DOM isn't ready\n if (width === 0 && div.clientWidth === 0) {\n width = null;\n }\n // remove div\n if (div.parentNode) {\n div.parentNode.removeChild(div);\n }\n if (width != null) {\n browserScrollbarWidth = width;\n invisibleScrollbar = width === 0;\n }\n}\nfunction isInvisibleScrollbar() {\n if (invisibleScrollbar == null) {\n initScrollbarWidthAndVisibility();\n }\n return invisibleScrollbar;\n}\n/** @deprecated */\nfunction hasOverflowScrolling() {\n var e_1, _a;\n var prefixes = ['webkit', 'moz', 'o', 'ms'];\n var div = document.createElement('div');\n var body = document.getElementsByTagName('body')[0];\n var found = false;\n var p;\n body.appendChild(div);\n div.setAttribute('style', prefixes.map(function (prefix) { return \"-\" + prefix + \"-overflow-scrolling: touch\"; }).concat('overflow-scrolling: touch').join(';'));\n var computedStyle = window.getComputedStyle(div);\n if (computedStyle.overflowScrolling === 'touch') {\n found = true;\n }\n if (!found) {\n try {\n for (var prefixes_1 = __values$5(prefixes), prefixes_1_1 = prefixes_1.next(); !prefixes_1_1.done; prefixes_1_1 = prefixes_1.next()) {\n p = prefixes_1_1.value;\n if (computedStyle[p + \"OverflowScrolling\"] === 'touch') {\n found = true;\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (prefixes_1_1 && !prefixes_1_1.done && (_a = prefixes_1.return)) _a.call(prefixes_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n if (div.parentNode) {\n div.parentNode.removeChild(div);\n }\n return found;\n}\n/**\n * Gets the document body width\n * from: http://stackoverflow.com/questions/1038727/how-to-get-browser-width-using-javascript-code\n * @returns {number}\n */\nfunction getBodyWidth() {\n if (document.body) {\n return document.body.clientWidth;\n }\n if (window.innerHeight) {\n return window.innerWidth;\n }\n if (document.documentElement && document.documentElement.clientWidth) {\n return document.documentElement.clientWidth;\n }\n return -1;\n}\n/**\n * Gets the body height\n * from: http://stackoverflow.com/questions/1038727/how-to-get-browser-width-using-javascript-code\n * @returns {number}\n */\nfunction getBodyHeight() {\n if (document.body) {\n return document.body.clientHeight;\n }\n if (window.innerHeight) {\n return window.innerHeight;\n }\n if (document.documentElement && document.documentElement.clientHeight) {\n return document.documentElement.clientHeight;\n }\n return -1;\n}\n\nvar BrowserUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getBrowserInfo: getBrowserInfo,\n isBrowserEdge: isBrowserEdge,\n isBrowserSafari: isBrowserSafari,\n isBrowserChrome: isBrowserChrome,\n isBrowserFirefox: isBrowserFirefox,\n isMacOsUserAgent: isMacOsUserAgent,\n isIOSUserAgent: isIOSUserAgent,\n browserSupportsPreventScroll: browserSupportsPreventScroll,\n getTabIndex: getTabIndex,\n getMaxDivHeight: getMaxDivHeight,\n getScrollbarWidth: getScrollbarWidth,\n isInvisibleScrollbar: isInvisibleScrollbar,\n hasOverflowScrolling: hasOverflowScrolling,\n getBodyWidth: getBodyWidth,\n getBodyHeight: getBodyHeight\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction fuzzyCheckStrings(inputValues, validValues, allSuggestions) {\n var fuzzyMatches = {};\n var invalidInputs = inputValues.filter(function (inputValue) {\n return !validValues.some(function (validValue) { return validValue === inputValue; });\n });\n if (invalidInputs.length > 0) {\n invalidInputs.forEach(function (invalidInput) {\n return fuzzyMatches[invalidInput] = fuzzySuggestions(invalidInput, allSuggestions);\n });\n }\n return fuzzyMatches;\n}\n/**\n *\n * @param {String} inputValue The value to be compared against a list of strings\n * @param allSuggestions The list of strings to be compared against\n * @param hideIrrelevant By default, fuzzy suggestions will just sort the allSuggestions list, set this to true\n * to filter out the irrelevant values\n * @param weighted Set this to true, to make letters matched in the order they were typed have priority in the results.\n */\nfunction fuzzySuggestions(inputValue, allSuggestions, hideIrrelevant, weighted) {\n var search = weighted ? string_weighted_distances : string_distances;\n var thisSuggestions = allSuggestions.map(function (text) { return ({\n value: text,\n relevance: search(inputValue.toLowerCase(), text.toLocaleLowerCase())\n }); });\n thisSuggestions.sort(function (a, b) { return b.relevance - a.relevance; });\n if (hideIrrelevant) {\n thisSuggestions = thisSuggestions.filter(function (suggestion) { return suggestion.relevance !== 0; });\n }\n return thisSuggestions.map(function (suggestion) { return suggestion.value; });\n}\n/**\n * Algorithm to do fuzzy search\n * from https://stackoverflow.com/questions/23305000/javascript-fuzzy-search-that-makes-sense\n * @param {string} from\n * @return {[]}\n */\nfunction get_bigrams(from) {\n var s = from.toLowerCase();\n var v = new Array(s.length - 1);\n var i;\n var j;\n var ref;\n for (i = j = 0, ref = v.length; j <= ref; i = j += 1) {\n v[i] = s.slice(i, i + 2);\n }\n return v;\n}\nfunction string_distances(str1, str2) {\n if (str1.length === 0 && str2.length === 0) {\n return 0;\n }\n var pairs1 = get_bigrams(str1);\n var pairs2 = get_bigrams(str2);\n var union = pairs1.length + pairs2.length;\n var hit_count = 0;\n var j;\n var len;\n for (j = 0, len = pairs1.length; j < len; j++) {\n var x = pairs1[j];\n var k = void 0;\n var len1 = void 0;\n for (k = 0, len1 = pairs2.length; k < len1; k++) {\n var y = pairs2[k];\n if (x === y) {\n hit_count++;\n }\n }\n }\n return hit_count > 0 ? (2 * hit_count) / union : 0;\n}\nfunction string_weighted_distances(str1, str2) {\n var a = str1.replace(/\\s/g, '');\n var b = str2.replace(/\\s/g, '');\n var weight = 0;\n var lastIndex = 0;\n for (var i = 0; i < a.length; i++) {\n var idx = b.indexOf(a[i], lastIndex);\n if (idx === -1) {\n continue;\n }\n lastIndex = idx;\n weight += (100 - (lastIndex * 100 / 10000) * 100);\n }\n return weight;\n}\n\nvar FuzzyMatchUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fuzzyCheckStrings: fuzzyCheckStrings,\n fuzzySuggestions: fuzzySuggestions,\n get_bigrams: get_bigrams,\n string_distances: string_distances,\n string_weighted_distances: string_weighted_distances\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction padStartWidthZeros(value, totalStringSize) {\n return value.toString().padStart(totalStringSize, '0');\n}\nfunction createArrayOfNumbers(first, last) {\n var result = [];\n for (var i = first; i <= last; i++) {\n result.push(i);\n }\n return result;\n}\n/**\n * Check if a value is numeric\n * from http://stackoverflow.com/questions/9716468/is-there-any-function-like-isnumeric-in-javascript-to-validate-numbers\n * @param {any} value\n * @return {boolean}\n */\nfunction isNumeric(value) {\n return value !== '' && !isNaN(parseFloat(value)) && isFinite(value);\n}\nfunction cleanNumber(value) {\n if (typeof value === 'string') {\n value = parseInt(value, 10);\n }\n if (typeof value === 'number') {\n return Math.floor(value);\n }\n return null;\n}\nfunction decToHex(number, bytes) {\n var hex = '';\n for (var i = 0; i < bytes; i++) {\n hex += String.fromCharCode(number & 0xff);\n number >>>= 8;\n }\n return hex;\n}\nfunction formatNumberTwoDecimalPlacesAndCommas(value, thousandSeparator, decimalSeparator) {\n if (typeof value !== 'number') {\n return '';\n }\n return formatNumberCommas(Math.round(value * 100) / 100, thousandSeparator, decimalSeparator);\n}\n/**\n * the native method number.toLocaleString(undefined, {minimumFractionDigits: 0})\n * puts in decimal places in IE, so we use this method instead\n * from: http://blog.tompawlak.org/number-currency-formatting-javascript\n * @param {number} value\n * @returns {string}\n */\nfunction formatNumberCommas(value, thousandSeparator, decimalSeparator) {\n if (typeof value !== 'number') {\n return '';\n }\n return value.toString().replace('.', decimalSeparator).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1\" + thousandSeparator);\n}\nfunction sum(values) {\n return values == null ? null : values.reduce(function (total, value) { return total + value; }, 0);\n}\n\nvar NumberUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n padStartWidthZeros: padStartWidthZeros,\n createArrayOfNumbers: createArrayOfNumbers,\n isNumeric: isNumeric,\n cleanNumber: cleanNumber,\n decToHex: decToHex,\n formatNumberTwoDecimalPlacesAndCommas: formatNumberTwoDecimalPlacesAndCommas,\n formatNumberCommas: formatNumberCommas,\n sum: sum\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$g = (undefined && undefined.__assign) || function () {\n __assign$g = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$g.apply(this, arguments);\n};\nvar __decorate$2v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$8 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar __read$m = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$g = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$m(arguments[i]));\n return ar;\n};\nvar DEFAULT_ROW_HEIGHT = 25;\nvar DEFAULT_DETAIL_ROW_HEIGHT = 300;\nvar DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE = 5;\nvar DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE = 5;\nvar DEFAULT_KEEP_DETAIL_ROW_COUNT = 10;\nfunction isTrue(value) {\n return value === true || value === 'true';\n}\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (typeof value == 'string') {\n return parseInt(value, 10);\n }\n}\nfunction zeroOrGreater(value, defaultValue) {\n if (value >= 0) {\n return value;\n }\n // zero gets returned if number is missing or the wrong type\n return defaultValue;\n}\nfunction oneOrGreater(value, defaultValue) {\n var valueNumber = parseInt(value, 10);\n if (isNumeric(valueNumber) && valueNumber > 0) {\n return valueNumber;\n }\n return defaultValue;\n}\nvar GridOptionsWrapper = /** @class */ (function () {\n function GridOptionsWrapper() {\n this.propertyEventService = new EventService();\n this.domDataKey = '__AG_' + Math.random().toString();\n this.destroyed = false;\n }\n GridOptionsWrapper_1 = GridOptionsWrapper;\n GridOptionsWrapper.prototype.agWire = function (gridApi, columnApi) {\n this.gridOptions.api = gridApi;\n this.gridOptions.columnApi = columnApi;\n this.checkForDeprecated();\n this.checkForViolations();\n };\n GridOptionsWrapper.prototype.destroy = function () {\n // need to remove these, as we don't own the lifecycle of the gridOptions, we need to\n // remove the references in case the user keeps the grid options, we want the rest\n // of the grid to be picked up by the garbage collector\n this.gridOptions.api = null;\n this.gridOptions.columnApi = null;\n this.destroyed = true;\n };\n GridOptionsWrapper.prototype.init = function () {\n var _this = this;\n if (this.gridOptions.suppressPropertyNamesCheck !== true) {\n this.checkGridOptionsProperties();\n this.checkColumnDefProperties();\n }\n // parse side bar options into correct format\n if (this.gridOptions.sideBar != null) {\n this.gridOptions.sideBar = SideBarDefParser.parse(this.gridOptions.sideBar);\n }\n var async = this.useAsyncEvents();\n this.eventService.addGlobalListener(this.globalEventHandler.bind(this), async);\n if (this.isGroupSelectsChildren() && this.isSuppressParentsInRowNodes()) {\n console.warn(\"AG Grid: 'groupSelectsChildren' does not work with 'suppressParentsInRowNodes', this selection method needs the part in rowNode to work\");\n }\n if (this.isGroupSelectsChildren()) {\n if (!this.isRowSelectionMulti()) {\n console.warn(\"AG Grid: rowSelection must be 'multiple' for groupSelectsChildren to make sense\");\n }\n if (this.isRowModelServerSide()) {\n console.warn('AG Grid: group selects children is NOT support for Server Side Row Model. ' +\n 'This is because the rows are lazy loaded, so selecting a group is not possible as' +\n 'the grid has no way of knowing what the children are.');\n }\n }\n if (this.isGroupRemoveSingleChildren() && this.isGroupHideOpenParents()) {\n console.warn(\"AG Grid: groupRemoveSingleChildren and groupHideOpenParents do not work with each other, you need to pick one. And don't ask us how to use these together on our support forum either, you will get the same answer!\");\n }\n if (this.isRowModelServerSide()) {\n var msg = function (prop) { return \"AG Grid: '\" + prop + \"' is not supported on the Server-Side Row Model\"; };\n if (exists(this.gridOptions.groupDefaultExpanded)) {\n console.warn(msg('groupDefaultExpanded'));\n }\n if (exists(this.gridOptions.groupDefaultExpanded)) {\n console.warn(msg('groupIncludeFooter'));\n }\n if (exists(this.gridOptions.groupDefaultExpanded)) {\n console.warn(msg('groupIncludeTotalFooter'));\n }\n }\n if (isTrue(this.gridOptions.enableRangeSelection)) {\n ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'enableRangeSelection');\n }\n else if (this.isEnableRangeHandle() || this.isEnableFillHandle()) {\n console.warn(\"AG Grid: 'enableRangeHandle' or 'enableFillHandle' will not work unless 'enableRangeSelection' is set to true\");\n }\n if (this.isGroupRowsSticky()) {\n if (this.isGroupHideOpenParents()) {\n console.warn(\"AG Grid: groupRowsSticky and groupHideOpenParents do not work with each other, you need to pick one.\");\n }\n if (this.isMasterDetail()) {\n console.warn(\"AG Grid: groupRowsSticky and masterDetail do not work with each other, you need to pick one.\");\n }\n if (this.isPagination()) {\n console.warn(\"AG Grid: groupRowsSticky and pagination do not work with each other, you need to pick one.\");\n }\n }\n var warnOfDeprecaredIcon = function (name) {\n if (_this.gridOptions.icons && _this.gridOptions.icons[name]) {\n console.warn(\"gridOptions.icons.\" + name + \" is no longer supported. For information on how to style checkboxes and radio buttons, see https://www.ag-grid.com/javascript-grid-icons/\");\n }\n };\n warnOfDeprecaredIcon('radioButtonOff');\n warnOfDeprecaredIcon('radioButtonOn');\n warnOfDeprecaredIcon('checkboxChecked');\n warnOfDeprecaredIcon('checkboxUnchecked');\n warnOfDeprecaredIcon('checkboxIndeterminate');\n // sets an initial calculation for the scrollbar width\n this.getScrollbarWidth();\n };\n GridOptionsWrapper.prototype.checkColumnDefProperties = function () {\n var _this = this;\n if (this.gridOptions.columnDefs == null) {\n return;\n }\n this.gridOptions.columnDefs.forEach(function (colDef) {\n var userProperties = Object.getOwnPropertyNames(colDef);\n var validProperties = __spread$g(ColDefUtil.ALL_PROPERTIES, ColDefUtil.FRAMEWORK_PROPERTIES);\n _this.checkProperties(userProperties, validProperties, validProperties, 'colDef', 'https://www.ag-grid.com/javascript-grid-column-properties/');\n });\n };\n GridOptionsWrapper.prototype.checkGridOptionsProperties = function () {\n var userProperties = Object.getOwnPropertyNames(this.gridOptions);\n var validProperties = __spread$g(PropertyKeys.ALL_PROPERTIES, PropertyKeys.FRAMEWORK_PROPERTIES, values(Events).map(function (event) { return ComponentUtil.getCallbackForEvent(event); }));\n var validPropertiesAndExceptions = __spread$g(validProperties, ['api', 'columnApi']);\n this.checkProperties(userProperties, validPropertiesAndExceptions, validProperties, 'gridOptions', 'https://www.ag-grid.com/javascript-data-grid/grid-options/');\n };\n GridOptionsWrapper.prototype.checkProperties = function (userProperties, validPropertiesAndExceptions, validProperties, containerName, docsUrl) {\n var invalidProperties = fuzzyCheckStrings(userProperties, validPropertiesAndExceptions, validProperties);\n iterateObject(invalidProperties, function (key, value) {\n console.warn(\"ag-grid: invalid \" + containerName + \" property '\" + key + \"' did you mean any of these: \" + value.slice(0, 8).join(\", \"));\n });\n if (Object.keys(invalidProperties).length > 0) {\n console.warn(\"ag-grid: to see all the valid \" + containerName + \" properties please check: \" + docsUrl);\n }\n };\n /**\n * Wrap the user callback and attach the api, columnApi and context to the params object on the way through.\n * @param callback User provided callback\n * @returns Wrapped callback where the params object not require api, columnApi and context\n */\n GridOptionsWrapper.prototype.mergeGridCommonParams = function (callback) {\n var _this = this;\n if (callback) {\n var wrapped = function (callbackParams) {\n var mergedParams = __assign$g(__assign$g({}, callbackParams), { api: _this.getApi(), columnApi: _this.getColumnApi(), context: _this.getContext() });\n return callback(mergedParams);\n };\n return wrapped;\n }\n return callback;\n };\n GridOptionsWrapper.prototype.getDomDataKey = function () {\n return this.domDataKey;\n };\n // returns the dom data, or undefined if not found\n GridOptionsWrapper.prototype.getDomData = function (element, key) {\n var domData = element[this.getDomDataKey()];\n return domData ? domData[key] : undefined;\n };\n GridOptionsWrapper.prototype.setDomData = function (element, key, value) {\n var domDataKey = this.getDomDataKey();\n var domData = element[domDataKey];\n if (missing(domData)) {\n domData = {};\n element[domDataKey] = domData;\n }\n domData[key] = value;\n };\n GridOptionsWrapper.prototype.isRowSelection = function () {\n return this.gridOptions.rowSelection === 'single' || this.gridOptions.rowSelection === 'multiple';\n };\n GridOptionsWrapper.prototype.isSuppressRowDeselection = function () {\n return isTrue(this.gridOptions.suppressRowDeselection);\n };\n GridOptionsWrapper.prototype.isRowSelectionMulti = function () {\n return this.gridOptions.rowSelection === 'multiple';\n };\n GridOptionsWrapper.prototype.isRowMultiSelectWithClick = function () {\n return isTrue(this.gridOptions.rowMultiSelectWithClick);\n };\n GridOptionsWrapper.prototype.getContext = function () {\n return this.gridOptions.context;\n };\n GridOptionsWrapper.prototype.isPivotMode = function () {\n return isTrue(this.gridOptions.pivotMode);\n };\n GridOptionsWrapper.prototype.isSuppressExpandablePivotGroups = function () {\n return isTrue(this.gridOptions.suppressExpandablePivotGroups);\n };\n GridOptionsWrapper.prototype.getPivotColumnGroupTotals = function () {\n return this.gridOptions.pivotColumnGroupTotals;\n };\n GridOptionsWrapper.prototype.getPivotRowTotals = function () {\n return this.gridOptions.pivotRowTotals;\n };\n GridOptionsWrapper.prototype.isRowModelInfinite = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_INFINITE;\n };\n GridOptionsWrapper.prototype.isRowModelViewport = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_VIEWPORT;\n };\n GridOptionsWrapper.prototype.isRowModelServerSide = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE;\n };\n GridOptionsWrapper.prototype.isRowModelDefault = function () {\n return (missing(this.gridOptions.rowModelType) ||\n this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE);\n };\n GridOptionsWrapper.prototype.isFullRowEdit = function () {\n return this.gridOptions.editType === 'fullRow';\n };\n GridOptionsWrapper.prototype.isSuppressFocusAfterRefresh = function () {\n return isTrue(this.gridOptions.suppressFocusAfterRefresh);\n };\n GridOptionsWrapper.prototype.isSuppressBrowserResizeObserver = function () {\n return isTrue(this.gridOptions.suppressBrowserResizeObserver);\n };\n GridOptionsWrapper.prototype.isSuppressMaintainUnsortedOrder = function () {\n return isTrue(this.gridOptions.suppressMaintainUnsortedOrder);\n };\n GridOptionsWrapper.prototype.isSuppressClearOnFillReduction = function () {\n return isTrue(this.gridOptions.suppressClearOnFillReduction);\n };\n GridOptionsWrapper.prototype.isShowToolPanel = function () {\n return isTrue(this.gridOptions.sideBar && Array.isArray(this.getSideBar().toolPanels));\n };\n GridOptionsWrapper.prototype.getSideBar = function () {\n return this.gridOptions.sideBar;\n };\n GridOptionsWrapper.prototype.isSuppressTouch = function () {\n return isTrue(this.gridOptions.suppressTouch);\n };\n GridOptionsWrapper.prototype.isMaintainColumnOrder = function () {\n return isTrue(this.gridOptions.maintainColumnOrder);\n };\n GridOptionsWrapper.prototype.isSuppressRowTransform = function () {\n return isTrue(this.gridOptions.suppressRowTransform);\n };\n GridOptionsWrapper.prototype.isSuppressColumnStateEvents = function () {\n return isTrue(this.gridOptions.suppressColumnStateEvents);\n };\n GridOptionsWrapper.prototype.isAllowDragFromColumnsToolPanel = function () {\n return isTrue(this.gridOptions.allowDragFromColumnsToolPanel);\n };\n GridOptionsWrapper.prototype.useAsyncEvents = function () {\n return !isTrue(this.gridOptions.suppressAsyncEvents);\n };\n GridOptionsWrapper.prototype.isEnableCellChangeFlash = function () {\n return isTrue(this.gridOptions.enableCellChangeFlash);\n };\n GridOptionsWrapper.prototype.getCellFlashDelay = function () {\n return this.gridOptions.cellFlashDelay || 500;\n };\n GridOptionsWrapper.prototype.getCellFadeDelay = function () {\n return this.gridOptions.cellFadeDelay || 1000;\n };\n GridOptionsWrapper.prototype.isGroupSelectsChildren = function () {\n return isTrue(this.gridOptions.groupSelectsChildren);\n };\n GridOptionsWrapper.prototype.isSuppressRowHoverHighlight = function () {\n return isTrue(this.gridOptions.suppressRowHoverHighlight);\n };\n GridOptionsWrapper.prototype.isColumnHoverHighlight = function () {\n return isTrue(this.gridOptions.columnHoverHighlight);\n };\n GridOptionsWrapper.prototype.isGroupSelectsFiltered = function () {\n return isTrue(this.gridOptions.groupSelectsFiltered);\n };\n GridOptionsWrapper.prototype.isGroupHideOpenParents = function () {\n return isTrue(this.gridOptions.groupHideOpenParents);\n };\n GridOptionsWrapper.prototype.isGroupMaintainOrder = function () {\n return isTrue(this.gridOptions.groupMaintainOrder);\n };\n GridOptionsWrapper.prototype.getAutoGroupColumnDef = function () {\n return this.gridOptions.autoGroupColumnDef;\n };\n GridOptionsWrapper.prototype.isColumnsSortingCoupledToGroup = function () {\n var _a;\n var autoGroupColumnDef = this.getAutoGroupColumnDef();\n var isClientSideRowModel = this.isRowModelDefault();\n return isClientSideRowModel && !((_a = autoGroupColumnDef) === null || _a === void 0 ? void 0 : _a.comparator);\n };\n GridOptionsWrapper.prototype.isGroupMultiAutoColumn = function () {\n if (this.gridOptions.groupDisplayType) {\n return this.matchesGroupDisplayType('multipleColumns', this.gridOptions.groupDisplayType);\n }\n // if we are doing hideOpenParents we also show multiple columns, otherwise hideOpenParents would not work\n return isTrue(this.gridOptions.groupHideOpenParents);\n };\n GridOptionsWrapper.prototype.isGroupUseEntireRow = function (pivotMode) {\n // we never allow groupUseEntireRow if in pivot mode, otherwise we won't see the pivot values.\n if (pivotMode) {\n return false;\n }\n return this.gridOptions.groupDisplayType ?\n this.matchesGroupDisplayType('groupRows', this.gridOptions.groupDisplayType) : false;\n };\n GridOptionsWrapper.prototype.isRowGroupPanelSuppressSort = function () {\n return isTrue(this.gridOptions.rowGroupPanelSuppressSort);\n };\n GridOptionsWrapper.prototype.isGroupRowsSticky = function () {\n return isTrue(this.gridOptions.groupRowsSticky);\n };\n GridOptionsWrapper.prototype.isGroupSuppressAutoColumn = function () {\n var isCustomRowGroups = this.gridOptions.groupDisplayType ?\n this.matchesGroupDisplayType('custom', this.gridOptions.groupDisplayType) : false;\n if (isCustomRowGroups) {\n return true;\n }\n return this.gridOptions.treeDataDisplayType ?\n this.matchesTreeDataDisplayType('custom', this.gridOptions.treeDataDisplayType) : false;\n };\n GridOptionsWrapper.prototype.isGroupRemoveSingleChildren = function () {\n return isTrue(this.gridOptions.groupRemoveSingleChildren);\n };\n GridOptionsWrapper.prototype.isGroupRemoveLowestSingleChildren = function () {\n return isTrue(this.gridOptions.groupRemoveLowestSingleChildren);\n };\n GridOptionsWrapper.prototype.isGroupIncludeFooter = function () {\n return isTrue(this.gridOptions.groupIncludeFooter);\n };\n GridOptionsWrapper.prototype.isGroupIncludeTotalFooter = function () {\n return isTrue(this.gridOptions.groupIncludeTotalFooter);\n };\n GridOptionsWrapper.prototype.isGroupSuppressBlankHeader = function () {\n return isTrue(this.gridOptions.groupSuppressBlankHeader);\n };\n GridOptionsWrapper.prototype.isSuppressRowClickSelection = function () {\n return isTrue(this.gridOptions.suppressRowClickSelection);\n };\n GridOptionsWrapper.prototype.isSuppressCellFocus = function () {\n return isTrue(this.gridOptions.suppressCellFocus);\n };\n GridOptionsWrapper.prototype.isSuppressMultiSort = function () {\n return isTrue(this.gridOptions.suppressMultiSort);\n };\n GridOptionsWrapper.prototype.isAlwaysMultiSort = function () {\n return isTrue(this.gridOptions.alwaysMultiSort);\n };\n GridOptionsWrapper.prototype.isMultiSortKeyCtrl = function () {\n return this.gridOptions.multiSortKey === 'ctrl';\n };\n GridOptionsWrapper.prototype.isPivotSuppressAutoColumn = function () {\n return isTrue(this.gridOptions.pivotSuppressAutoColumn);\n };\n GridOptionsWrapper.prototype.isSuppressDragLeaveHidesColumns = function () {\n return isTrue(this.gridOptions.suppressDragLeaveHidesColumns);\n };\n GridOptionsWrapper.prototype.isSuppressRowGroupHidesColumns = function () {\n return isTrue(this.gridOptions.suppressRowGroupHidesColumns);\n };\n GridOptionsWrapper.prototype.isSuppressScrollOnNewData = function () {\n return isTrue(this.gridOptions.suppressScrollOnNewData);\n };\n GridOptionsWrapper.prototype.isSuppressScrollWhenPopupsAreOpen = function () {\n return isTrue(this.gridOptions.suppressScrollWhenPopupsAreOpen);\n };\n GridOptionsWrapper.prototype.isRowDragEntireRow = function () {\n return isTrue(this.gridOptions.rowDragEntireRow);\n };\n GridOptionsWrapper.prototype.getRowDragText = function (column) {\n if (column) {\n var colDef = column.getColDef();\n if (colDef.rowDragText) {\n return colDef.rowDragText;\n }\n }\n return this.gridOptions.rowDragText;\n };\n GridOptionsWrapper.prototype.isSuppressRowDrag = function () {\n return isTrue(this.gridOptions.suppressRowDrag);\n };\n GridOptionsWrapper.prototype.isRowDragManaged = function () {\n return isTrue(this.gridOptions.rowDragManaged);\n };\n GridOptionsWrapper.prototype.isSuppressMoveWhenRowDragging = function () {\n return isTrue(this.gridOptions.suppressMoveWhenRowDragging);\n };\n GridOptionsWrapper.prototype.isRowDragMultiRow = function () {\n return isTrue(this.gridOptions.rowDragMultiRow);\n };\n // returns either 'print', 'autoHeight' or 'normal' (normal is the default)\n GridOptionsWrapper.prototype.getDomLayout = function () {\n var domLayout = this.gridOptions.domLayout || Constants.DOM_LAYOUT_NORMAL;\n var validLayouts = [\n Constants.DOM_LAYOUT_PRINT,\n Constants.DOM_LAYOUT_AUTO_HEIGHT,\n Constants.DOM_LAYOUT_NORMAL\n ];\n if (validLayouts.indexOf(domLayout) === -1) {\n doOnce(function () {\n return console.warn(\"AG Grid: \" + domLayout + \" is not valid for DOM Layout, valid values are \" + Constants.DOM_LAYOUT_NORMAL + \", \" + Constants.DOM_LAYOUT_AUTO_HEIGHT + \" and \" + Constants.DOM_LAYOUT_PRINT);\n }, 'warn about dom layout values');\n return Constants.DOM_LAYOUT_NORMAL;\n }\n return domLayout;\n };\n GridOptionsWrapper.prototype.isSuppressHorizontalScroll = function () {\n return isTrue(this.gridOptions.suppressHorizontalScroll);\n };\n GridOptionsWrapper.prototype.isSuppressMaxRenderedRowRestriction = function () {\n return isTrue(this.gridOptions.suppressMaxRenderedRowRestriction);\n };\n GridOptionsWrapper.prototype.isExcludeChildrenWhenTreeDataFiltering = function () {\n return isTrue(this.gridOptions.excludeChildrenWhenTreeDataFiltering);\n };\n GridOptionsWrapper.prototype.isAlwaysShowHorizontalScroll = function () {\n return isTrue(this.gridOptions.alwaysShowHorizontalScroll);\n };\n GridOptionsWrapper.prototype.isAlwaysShowVerticalScroll = function () {\n return isTrue(this.gridOptions.alwaysShowVerticalScroll);\n };\n GridOptionsWrapper.prototype.isDebounceVerticalScrollbar = function () {\n return isTrue(this.gridOptions.debounceVerticalScrollbar);\n };\n GridOptionsWrapper.prototype.isSuppressLoadingOverlay = function () {\n return isTrue(this.gridOptions.suppressLoadingOverlay);\n };\n GridOptionsWrapper.prototype.isSuppressNoRowsOverlay = function () {\n return isTrue(this.gridOptions.suppressNoRowsOverlay);\n };\n GridOptionsWrapper.prototype.isSuppressFieldDotNotation = function () {\n return isTrue(this.gridOptions.suppressFieldDotNotation);\n };\n GridOptionsWrapper.prototype.getPinnedTopRowData = function () {\n return this.gridOptions.pinnedTopRowData;\n };\n GridOptionsWrapper.prototype.getPinnedBottomRowData = function () {\n return this.gridOptions.pinnedBottomRowData;\n };\n GridOptionsWrapper.prototype.isFunctionsPassive = function () {\n return isTrue(this.gridOptions.functionsPassive);\n };\n GridOptionsWrapper.prototype.isSuppressChangeDetection = function () {\n return isTrue(this.gridOptions.suppressChangeDetection);\n };\n GridOptionsWrapper.prototype.isSuppressAnimationFrame = function () {\n return isTrue(this.gridOptions.suppressAnimationFrame);\n };\n GridOptionsWrapper.prototype.getQuickFilterText = function () {\n return this.gridOptions.quickFilterText;\n };\n GridOptionsWrapper.prototype.isCacheQuickFilter = function () {\n return isTrue(this.gridOptions.cacheQuickFilter);\n };\n GridOptionsWrapper.prototype.isUnSortIcon = function () {\n return isTrue(this.gridOptions.unSortIcon);\n };\n GridOptionsWrapper.prototype.isSuppressMenuHide = function () {\n return isTrue(this.gridOptions.suppressMenuHide);\n };\n GridOptionsWrapper.prototype.isEnterMovesDownAfterEdit = function () {\n return isTrue(this.gridOptions.enterMovesDownAfterEdit);\n };\n GridOptionsWrapper.prototype.isEnterMovesDown = function () {\n return isTrue(this.gridOptions.enterMovesDown);\n };\n GridOptionsWrapper.prototype.isUndoRedoCellEditing = function () {\n return isTrue(this.gridOptions.undoRedoCellEditing);\n };\n GridOptionsWrapper.prototype.getUndoRedoCellEditingLimit = function () {\n return toNumber(this.gridOptions.undoRedoCellEditingLimit);\n };\n GridOptionsWrapper.prototype.isEnableCellEditingOnBackspace = function () {\n return isTrue(this.gridOptions.enableCellEditingOnBackspace);\n };\n GridOptionsWrapper.prototype.getRowStyle = function () {\n return this.gridOptions.rowStyle;\n };\n GridOptionsWrapper.prototype.getRowClass = function () {\n return this.gridOptions.rowClass;\n };\n GridOptionsWrapper.prototype.getRowStyleFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getRowStyle);\n };\n GridOptionsWrapper.prototype.getRowClassFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getRowClass);\n };\n GridOptionsWrapper.prototype.rowClassRules = function () {\n return this.gridOptions.rowClassRules;\n };\n GridOptionsWrapper.prototype.isServerSideInfiniteScroll = function () {\n return isTrue(this.gridOptions.serverSideInfiniteScroll);\n };\n GridOptionsWrapper.prototype.getServerSideGroupLevelParamsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getServerSideGroupLevelParams);\n };\n GridOptionsWrapper.prototype.getCreateChartContainerFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.createChartContainer);\n };\n GridOptionsWrapper.prototype.getPopupParent = function () {\n return this.gridOptions.popupParent;\n };\n GridOptionsWrapper.prototype.getBlockLoadDebounceMillis = function () {\n return this.gridOptions.blockLoadDebounceMillis;\n };\n GridOptionsWrapper.prototype.getPostProcessPopupFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.postProcessPopup);\n };\n GridOptionsWrapper.prototype.getPaginationNumberFormatterFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.paginationNumberFormatter);\n };\n GridOptionsWrapper.prototype.getChildCountFunc = function () {\n return this.gridOptions.getChildCount;\n };\n GridOptionsWrapper.prototype.getIsApplyServerSideTransactionFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.isApplyServerSideTransaction);\n };\n GridOptionsWrapper.prototype.getInitialGroupOrderComparator = function () {\n var _a = this.gridOptions, initialGroupOrderComparator = _a.initialGroupOrderComparator, defaultGroupOrderComparator = _a.defaultGroupOrderComparator;\n if (initialGroupOrderComparator) {\n return this.mergeGridCommonParams(initialGroupOrderComparator);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (defaultGroupOrderComparator) {\n return function (params) { return defaultGroupOrderComparator(params.nodeA, params.nodeB); };\n }\n };\n GridOptionsWrapper.prototype.getIsFullWidthCellFunc = function () {\n var _a = this.gridOptions, isFullWidthRow = _a.isFullWidthRow, isFullWidthCell = _a.isFullWidthCell;\n if (isFullWidthRow) {\n return this.mergeGridCommonParams(isFullWidthRow);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (isFullWidthCell) {\n return function (params) { return isFullWidthCell(params.rowNode); };\n }\n };\n GridOptionsWrapper.prototype.getFullWidthCellRendererParams = function () {\n return this.gridOptions.fullWidthCellRendererParams;\n };\n GridOptionsWrapper.prototype.isEmbedFullWidthRows = function () {\n return isTrue(this.gridOptions.embedFullWidthRows) || isTrue(this.gridOptions.deprecatedEmbedFullWidthRows);\n };\n GridOptionsWrapper.prototype.isDetailRowAutoHeight = function () {\n return isTrue(this.gridOptions.detailRowAutoHeight);\n };\n GridOptionsWrapper.prototype.getSuppressKeyboardEventFunc = function () {\n return this.gridOptions.suppressKeyboardEvent;\n };\n GridOptionsWrapper.prototype.getBusinessKeyForNodeFunc = function () {\n return this.gridOptions.getBusinessKeyForNode;\n };\n GridOptionsWrapper.prototype.getApi = function () {\n return this.gridOptions.api;\n };\n GridOptionsWrapper.prototype.getColumnApi = function () {\n return this.gridOptions.columnApi;\n };\n GridOptionsWrapper.prototype.isReadOnlyEdit = function () {\n return isTrue(this.gridOptions.readOnlyEdit);\n };\n GridOptionsWrapper.prototype.isImmutableData = function () {\n // we used to have a property immutableData for this. however this was deprecated\n // in favour of having Immutable Data on by default when getRowId is provided\n var getRowIdProvided = this.gridOptions.getRowId != null;\n var immutableData = isTrue(this.gridOptions.immutableData);\n // this property is a backwards compatibility property, for those who want\n // the old behaviour of Row ID's but NOT Immutable Data.\n var resetRowDataOnUpdate = isTrue(this.gridOptions.resetRowDataOnUpdate);\n if (resetRowDataOnUpdate) {\n return false;\n }\n return getRowIdProvided || immutableData;\n };\n GridOptionsWrapper.prototype.isEnsureDomOrder = function () {\n return isTrue(this.gridOptions.ensureDomOrder);\n };\n GridOptionsWrapper.prototype.isEnableCharts = function () {\n if (isTrue(this.gridOptions.enableCharts)) {\n return ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'enableCharts');\n }\n return false;\n };\n GridOptionsWrapper.prototype.isEnableChartToolPanelsButton = function () {\n return isTrue(this.gridOptions.enableChartToolPanelsButton);\n };\n GridOptionsWrapper.prototype.getColResizeDefault = function () {\n return this.gridOptions.colResizeDefault;\n };\n GridOptionsWrapper.prototype.isSingleClickEdit = function () {\n return isTrue(this.gridOptions.singleClickEdit);\n };\n GridOptionsWrapper.prototype.isSuppressClickEdit = function () {\n return isTrue(this.gridOptions.suppressClickEdit);\n };\n GridOptionsWrapper.prototype.isStopEditingWhenCellsLoseFocus = function () {\n return isTrue(this.gridOptions.stopEditingWhenCellsLoseFocus);\n };\n GridOptionsWrapper.prototype.getGroupDefaultExpanded = function () {\n return this.gridOptions.groupDefaultExpanded;\n };\n GridOptionsWrapper.prototype.getMaxConcurrentDatasourceRequests = function () {\n var res = toNumber(this.gridOptions.maxConcurrentDatasourceRequests);\n if (res == null) {\n return 2;\n } // 2 is the default\n if (res <= 0) {\n return;\n } // negative number, eg -1, means no max restriction\n return res;\n };\n GridOptionsWrapper.prototype.getMaxBlocksInCache = function () {\n return this.gridOptions.maxBlocksInCache;\n };\n GridOptionsWrapper.prototype.getCacheOverflowSize = function () {\n return this.gridOptions.cacheOverflowSize;\n };\n GridOptionsWrapper.prototype.getPaginationPageSize = function () {\n return toNumber(this.gridOptions.paginationPageSize);\n };\n GridOptionsWrapper.prototype.isPaginateChildRows = function () {\n var shouldPaginate = this.isGroupRemoveSingleChildren() || this.isGroupRemoveLowestSingleChildren();\n if (shouldPaginate) {\n return true;\n }\n return isTrue(this.gridOptions.paginateChildRows);\n };\n GridOptionsWrapper.prototype.getCacheBlockSize = function () {\n return oneOrGreater(this.gridOptions.cacheBlockSize);\n };\n GridOptionsWrapper.prototype.getInfiniteInitialRowCount = function () {\n return this.gridOptions.infiniteInitialRowCount;\n };\n GridOptionsWrapper.prototype.getServerSideInitialRowCount = function () {\n var rowCount = this.gridOptions.serverSideInitialRowCount;\n if (typeof rowCount === 'number' && rowCount > 0) {\n return rowCount;\n }\n return 1;\n };\n GridOptionsWrapper.prototype.isPurgeClosedRowNodes = function () {\n return isTrue(this.gridOptions.purgeClosedRowNodes);\n };\n GridOptionsWrapper.prototype.isSuppressPaginationPanel = function () {\n return isTrue(this.gridOptions.suppressPaginationPanel);\n };\n GridOptionsWrapper.prototype.getRowData = function () {\n return this.gridOptions.rowData;\n };\n GridOptionsWrapper.prototype.isEnableRtl = function () {\n return isTrue(this.gridOptions.enableRtl);\n };\n GridOptionsWrapper.prototype.getRowGroupPanelShow = function () {\n return this.gridOptions.rowGroupPanelShow;\n };\n GridOptionsWrapper.prototype.getPivotPanelShow = function () {\n return this.gridOptions.pivotPanelShow;\n };\n GridOptionsWrapper.prototype.isAngularCompileRows = function () {\n return isTrue(this.gridOptions.angularCompileRows);\n };\n GridOptionsWrapper.prototype.isAngularCompileFilters = function () {\n return isTrue(this.gridOptions.angularCompileFilters);\n };\n GridOptionsWrapper.prototype.isDebug = function () {\n return isTrue(this.gridOptions.debug);\n };\n GridOptionsWrapper.prototype.getColumnDefs = function () {\n return this.gridOptions.columnDefs;\n };\n GridOptionsWrapper.prototype.getColumnTypes = function () {\n return this.gridOptions.columnTypes;\n };\n GridOptionsWrapper.prototype.getDatasource = function () {\n return this.gridOptions.datasource;\n };\n GridOptionsWrapper.prototype.getViewportDatasource = function () {\n return this.gridOptions.viewportDatasource;\n };\n GridOptionsWrapper.prototype.getServerSideDatasource = function () {\n return this.gridOptions.serverSideDatasource;\n };\n GridOptionsWrapper.prototype.isAccentedSort = function () {\n return isTrue(this.gridOptions.accentedSort);\n };\n GridOptionsWrapper.prototype.isEnableBrowserTooltips = function () {\n return isTrue(this.gridOptions.enableBrowserTooltips);\n };\n GridOptionsWrapper.prototype.isEnableCellExpressions = function () {\n return isTrue(this.gridOptions.enableCellExpressions);\n };\n GridOptionsWrapper.prototype.isEnableGroupEdit = function () {\n return isTrue(this.gridOptions.enableGroupEdit);\n };\n GridOptionsWrapper.prototype.isSuppressMiddleClickScrolls = function () {\n return isTrue(this.gridOptions.suppressMiddleClickScrolls);\n };\n GridOptionsWrapper.prototype.isPreventDefaultOnContextMenu = function () {\n return isTrue(this.gridOptions.preventDefaultOnContextMenu);\n };\n GridOptionsWrapper.prototype.isSuppressPreventDefaultOnMouseWheel = function () {\n return isTrue(this.gridOptions.suppressPreventDefaultOnMouseWheel);\n };\n GridOptionsWrapper.prototype.isSuppressColumnVirtualisation = function () {\n return isTrue(this.gridOptions.suppressColumnVirtualisation);\n };\n GridOptionsWrapper.prototype.isSuppressRowVirtualisation = function () {\n return isTrue(this.gridOptions.suppressRowVirtualisation);\n };\n GridOptionsWrapper.prototype.isSuppressContextMenu = function () {\n return isTrue(this.gridOptions.suppressContextMenu);\n };\n GridOptionsWrapper.prototype.isAllowContextMenuWithControlKey = function () {\n return isTrue(this.gridOptions.allowContextMenuWithControlKey);\n };\n GridOptionsWrapper.prototype.isSuppressCopyRowsToClipboard = function () {\n return isTrue(this.gridOptions.suppressCopyRowsToClipboard);\n };\n GridOptionsWrapper.prototype.isSuppressCopySingleCellRanges = function () {\n return isTrue(this.gridOptions.suppressCopySingleCellRanges);\n };\n GridOptionsWrapper.prototype.isCopyHeadersToClipboard = function () {\n return isTrue(this.gridOptions.copyHeadersToClipboard);\n };\n GridOptionsWrapper.prototype.isCopyGroupHeadersToClipboard = function () {\n return isTrue(this.gridOptions.copyGroupHeadersToClipboard);\n };\n GridOptionsWrapper.prototype.isSuppressClipboardPaste = function () {\n return isTrue(this.gridOptions.suppressClipboardPaste);\n };\n GridOptionsWrapper.prototype.isSuppressLastEmptyLineOnPaste = function () {\n return isTrue(this.gridOptions.suppressLastEmptyLineOnPaste);\n };\n GridOptionsWrapper.prototype.isPagination = function () {\n return isTrue(this.gridOptions.pagination);\n };\n GridOptionsWrapper.prototype.isSuppressEnterpriseResetOnNewColumns = function () {\n return isTrue(this.gridOptions.suppressEnterpriseResetOnNewColumns);\n };\n GridOptionsWrapper.prototype.getProcessDataFromClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processDataFromClipboard);\n };\n GridOptionsWrapper.prototype.getAsyncTransactionWaitMillis = function () {\n return exists(this.gridOptions.asyncTransactionWaitMillis) ? this.gridOptions.asyncTransactionWaitMillis : Constants.BATCH_WAIT_MILLIS;\n };\n GridOptionsWrapper.prototype.isSuppressMovableColumns = function () {\n return isTrue(this.gridOptions.suppressMovableColumns);\n };\n GridOptionsWrapper.prototype.isAnimateRows = function () {\n // never allow animating if enforcing the row order\n if (this.isEnsureDomOrder()) {\n return false;\n }\n return isTrue(this.gridOptions.animateRows);\n };\n GridOptionsWrapper.prototype.isSuppressColumnMoveAnimation = function () {\n return isTrue(this.gridOptions.suppressColumnMoveAnimation);\n };\n GridOptionsWrapper.prototype.isSuppressAggFuncInHeader = function () {\n return isTrue(this.gridOptions.suppressAggFuncInHeader);\n };\n GridOptionsWrapper.prototype.isSuppressAggAtRootLevel = function () {\n return isTrue(this.gridOptions.suppressAggAtRootLevel);\n };\n GridOptionsWrapper.prototype.isSuppressAggFilteredOnly = function () {\n var isGroupAggFiltering = this.getGroupAggFiltering() !== undefined;\n return isGroupAggFiltering || isTrue(this.gridOptions.suppressAggFilteredOnly);\n };\n GridOptionsWrapper.prototype.isRemovePivotHeaderRowWhenSingleValueColumn = function () {\n return isTrue(this.gridOptions.removePivotHeaderRowWhenSingleValueColumn);\n };\n GridOptionsWrapper.prototype.isShowOpenedGroup = function () {\n return isTrue(this.gridOptions.showOpenedGroup);\n };\n GridOptionsWrapper.prototype.isReactUi = function () {\n return isTrue(this.gridOptions.reactUi);\n };\n GridOptionsWrapper.prototype.isSuppressReactUi = function () {\n return isTrue(this.gridOptions.suppressReactUi);\n };\n GridOptionsWrapper.prototype.isEnableRangeSelection = function () {\n return ModuleRegistry.isRegistered(ModuleNames.RangeSelectionModule) && isTrue(this.gridOptions.enableRangeSelection);\n };\n GridOptionsWrapper.prototype.isEnableRangeHandle = function () {\n return isTrue(this.gridOptions.enableRangeHandle);\n };\n GridOptionsWrapper.prototype.isEnableFillHandle = function () {\n return isTrue(this.gridOptions.enableFillHandle);\n };\n GridOptionsWrapper.prototype.getFillHandleDirection = function () {\n var direction = this.gridOptions.fillHandleDirection;\n if (!direction) {\n return 'xy';\n }\n if (direction !== 'x' && direction !== 'y' && direction !== 'xy') {\n doOnce(function () { return console.warn(\"AG Grid: valid values for fillHandleDirection are 'x', 'y' and 'xy'. Default to 'xy'.\"); }, 'warn invalid fill direction');\n return 'xy';\n }\n return direction;\n };\n GridOptionsWrapper.prototype.getFillOperation = function () {\n return this.mergeGridCommonParams(this.gridOptions.fillOperation);\n };\n GridOptionsWrapper.prototype.isSuppressMultiRangeSelection = function () {\n return isTrue(this.gridOptions.suppressMultiRangeSelection);\n };\n GridOptionsWrapper.prototype.isPaginationAutoPageSize = function () {\n return isTrue(this.gridOptions.paginationAutoPageSize);\n };\n GridOptionsWrapper.prototype.isRememberGroupStateWhenNewData = function () {\n return isTrue(this.gridOptions.rememberGroupStateWhenNewData);\n };\n GridOptionsWrapper.prototype.getIcons = function () {\n return this.gridOptions.icons;\n };\n GridOptionsWrapper.prototype.getGroupAggFiltering = function () {\n var userValue = this.gridOptions.groupAggFiltering;\n if (typeof userValue === 'function') {\n return this.mergeGridCommonParams(userValue);\n }\n if (isTrue(userValue)) {\n return function () { return true; };\n }\n return undefined;\n };\n GridOptionsWrapper.prototype.getAggFuncs = function () {\n return this.gridOptions.aggFuncs;\n };\n GridOptionsWrapper.prototype.getSortingOrder = function () {\n return this.gridOptions.sortingOrder;\n };\n GridOptionsWrapper.prototype.getAlignedGrids = function () {\n return this.gridOptions.alignedGrids;\n };\n GridOptionsWrapper.prototype.isMasterDetail = function () {\n var masterDetail = isTrue(this.gridOptions.masterDetail);\n if (masterDetail) {\n return ModuleRegistry.assertRegistered(ModuleNames.MasterDetailModule, 'masterDetail');\n }\n else {\n return false;\n }\n };\n GridOptionsWrapper.prototype.isKeepDetailRows = function () {\n return isTrue(this.gridOptions.keepDetailRows);\n };\n GridOptionsWrapper.prototype.getKeepDetailRowsCount = function () {\n var keepDetailRowsCount = this.gridOptions.keepDetailRowsCount;\n if (exists(keepDetailRowsCount) && keepDetailRowsCount > 0) {\n return this.gridOptions.keepDetailRowsCount;\n }\n return DEFAULT_KEEP_DETAIL_ROW_COUNT;\n };\n GridOptionsWrapper.prototype.getIsRowMasterFunc = function () {\n return this.gridOptions.isRowMaster;\n };\n GridOptionsWrapper.prototype.getIsRowSelectableFunc = function () {\n return this.gridOptions.isRowSelectable;\n };\n GridOptionsWrapper.prototype.getGroupRowRendererParams = function () {\n return this.gridOptions.groupRowRendererParams;\n };\n GridOptionsWrapper.prototype.getOverlayLoadingTemplate = function () {\n return this.gridOptions.overlayLoadingTemplate;\n };\n GridOptionsWrapper.prototype.getOverlayNoRowsTemplate = function () {\n return this.gridOptions.overlayNoRowsTemplate;\n };\n GridOptionsWrapper.prototype.isSuppressAutoSize = function () {\n return isTrue(this.gridOptions.suppressAutoSize);\n };\n GridOptionsWrapper.prototype.isEnableCellTextSelection = function () {\n return isTrue(this.gridOptions.enableCellTextSelection);\n };\n GridOptionsWrapper.prototype.isSuppressParentsInRowNodes = function () {\n return isTrue(this.gridOptions.suppressParentsInRowNodes);\n };\n GridOptionsWrapper.prototype.isSuppressClipboardApi = function () {\n return isTrue(this.gridOptions.suppressClipboardApi);\n };\n GridOptionsWrapper.prototype.isFunctionsReadOnly = function () {\n return isTrue(this.gridOptions.functionsReadOnly);\n };\n GridOptionsWrapper.prototype.isEnableCellTextSelect = function () {\n return isTrue(this.gridOptions.enableCellTextSelection);\n };\n GridOptionsWrapper.prototype.getDefaultColDef = function () {\n return this.gridOptions.defaultColDef;\n };\n GridOptionsWrapper.prototype.getDefaultColGroupDef = function () {\n return this.gridOptions.defaultColGroupDef;\n };\n GridOptionsWrapper.prototype.getDefaultExportParams = function (type) {\n if (this.gridOptions.defaultExportParams) {\n console.warn(\"AG Grid: Since v25.2 `defaultExportParams` has been replaced by `default\" + capitalise(type) + \"ExportParams`'\");\n if (type === 'csv') {\n return this.gridOptions.defaultExportParams;\n }\n return this.gridOptions.defaultExportParams;\n }\n if (type === 'csv' && this.gridOptions.defaultCsvExportParams) {\n return this.gridOptions.defaultCsvExportParams;\n }\n if (type === 'excel' && this.gridOptions.defaultExcelExportParams) {\n return this.gridOptions.defaultExcelExportParams;\n }\n };\n GridOptionsWrapper.prototype.isSuppressCsvExport = function () {\n return isTrue(this.gridOptions.suppressCsvExport);\n };\n GridOptionsWrapper.prototype.isAllowShowChangeAfterFilter = function () {\n return isTrue(this.gridOptions.allowShowChangeAfterFilter);\n };\n GridOptionsWrapper.prototype.isSuppressExcelExport = function () {\n return isTrue(this.gridOptions.suppressExcelExport);\n };\n GridOptionsWrapper.prototype.isSuppressMakeColumnVisibleAfterUnGroup = function () {\n return isTrue(this.gridOptions.suppressMakeColumnVisibleAfterUnGroup);\n };\n GridOptionsWrapper.prototype.getDataPathFunc = function () {\n return this.gridOptions.getDataPath;\n };\n GridOptionsWrapper.prototype.getIsServerSideGroupFunc = function () {\n return this.gridOptions.isServerSideGroup;\n };\n GridOptionsWrapper.prototype.getIsServerSideGroupOpenByDefaultFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.isServerSideGroupOpenByDefault);\n };\n GridOptionsWrapper.prototype.getIsGroupOpenByDefaultFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.isGroupOpenByDefault);\n };\n GridOptionsWrapper.prototype.getServerSideGroupKeyFunc = function () {\n return this.gridOptions.getServerSideGroupKey;\n };\n GridOptionsWrapper.prototype.getGroupRowAggFunc = function () {\n var _a = this.gridOptions, getGroupRowAgg = _a.getGroupRowAgg, groupRowAggNodes = _a.groupRowAggNodes;\n if (getGroupRowAgg) {\n return this.mergeGridCommonParams(getGroupRowAgg);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (groupRowAggNodes) {\n return function (params) { return groupRowAggNodes(params.nodes); };\n }\n };\n GridOptionsWrapper.prototype.getContextMenuItemsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getContextMenuItems);\n };\n GridOptionsWrapper.prototype.getMainMenuItemsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getMainMenuItems);\n };\n GridOptionsWrapper.prototype.getRowIdFunc = function () {\n var _a = this.gridOptions, getRowId = _a.getRowId, getRowNodeId = _a.getRowNodeId;\n if (getRowId) {\n return this.mergeGridCommonParams(getRowId);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (getRowNodeId) {\n return function (params) { return getRowNodeId(params.data); };\n }\n };\n GridOptionsWrapper.prototype.getNavigateToNextHeaderFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.navigateToNextHeader);\n };\n GridOptionsWrapper.prototype.getTabToNextHeaderFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.tabToNextHeader);\n };\n GridOptionsWrapper.prototype.getNavigateToNextCellFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.navigateToNextCell);\n };\n GridOptionsWrapper.prototype.getTabToNextCellFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.tabToNextCell);\n };\n GridOptionsWrapper.prototype.getGridTabIndex = function () {\n return (this.gridOptions.tabIndex || 0).toString();\n };\n GridOptionsWrapper.prototype.isTreeData = function () {\n var usingTreeData = isTrue(this.gridOptions.treeData);\n if (usingTreeData) {\n return ModuleRegistry.assertRegistered(ModuleNames.RowGroupingModule, 'Tree Data');\n }\n return false;\n };\n GridOptionsWrapper.prototype.isValueCache = function () {\n return isTrue(this.gridOptions.valueCache);\n };\n GridOptionsWrapper.prototype.isValueCacheNeverExpires = function () {\n return isTrue(this.gridOptions.valueCacheNeverExpires);\n };\n GridOptionsWrapper.prototype.isDeltaSort = function () {\n return isTrue(this.gridOptions.deltaSort);\n };\n GridOptionsWrapper.prototype.isAggregateOnlyChangedColumns = function () {\n return isTrue(this.gridOptions.aggregateOnlyChangedColumns);\n };\n GridOptionsWrapper.prototype.getProcessPivotResultColDefFunc = function () {\n return this.gridOptions.processPivotResultColDef || this.gridOptions.processSecondaryColDef;\n };\n GridOptionsWrapper.prototype.getProcessPivotResultColGroupDefFunc = function () {\n return this.gridOptions.processPivotResultColGroupDef || this.gridOptions.processSecondaryColGroupDef;\n };\n GridOptionsWrapper.prototype.getSendToClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.sendToClipboard);\n };\n GridOptionsWrapper.prototype.getProcessRowPostCreateFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processRowPostCreate);\n };\n GridOptionsWrapper.prototype.getProcessCellForClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processCellForClipboard);\n };\n GridOptionsWrapper.prototype.getProcessHeaderForClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processHeaderForClipboard);\n };\n GridOptionsWrapper.prototype.getProcessGroupHeaderForClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processGroupHeaderForClipboard);\n };\n GridOptionsWrapper.prototype.getProcessCellFromClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processCellFromClipboard);\n };\n GridOptionsWrapper.prototype.getViewportRowModelPageSize = function () {\n return oneOrGreater(this.gridOptions.viewportRowModelPageSize, DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE);\n };\n GridOptionsWrapper.prototype.getViewportRowModelBufferSize = function () {\n return zeroOrGreater(this.gridOptions.viewportRowModelBufferSize, DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE);\n };\n GridOptionsWrapper.prototype.isServerSideSortAllLevels = function () {\n var isEnabled = isTrue(this.gridOptions.serverSideSortAllLevels);\n if (!this.isRowModelServerSide() && isEnabled) {\n doOnce(function () { return console.warn('AG Grid: The `serverSideSortAllLevels` property can only be used with the server side row model.'); }, 'serverSideSortAllLevels');\n return false;\n }\n return isEnabled;\n };\n GridOptionsWrapper.prototype.isServerSideFilterAllLevels = function () {\n var isEnabled = isTrue(this.gridOptions.serverSideFilterAllLevels);\n if (!this.isRowModelServerSide() && isEnabled) {\n doOnce(function () { return console.warn('AG Grid: The `serverSideFilterAllLevels` property can only be used with the server side row model.'); }, 'serverSideFilterAllLevels');\n return false;\n }\n return isEnabled;\n };\n GridOptionsWrapper.prototype.isServerSideSortOnServer = function () {\n var isEnabled = isTrue(this.gridOptions.serverSideSortOnServer);\n if (!this.isRowModelServerSide() && isEnabled) {\n doOnce(function () { return console.warn('AG Grid: The `serverSideSortOnServer` property can only be used with the server side row model.'); }, 'serverSideSortOnServerRowModel');\n return false;\n }\n if (this.isTreeData() && isEnabled) {\n doOnce(function () { return console.warn('AG Grid: The `serverSideSortOnServer` property cannot be used while using tree data.'); }, 'serverSideSortOnServerTreeData');\n return false;\n }\n return isEnabled;\n };\n GridOptionsWrapper.prototype.isServerSideFilterOnServer = function () {\n var isEnabled = isTrue(this.gridOptions.serverSideFilterOnServer);\n if (!this.isRowModelServerSide() && isEnabled) {\n doOnce(function () { return console.warn('AG Grid: The `serverSideFilterOnServer` property can only be used with the server side row model.'); }, 'serverSideFilterOnServerRowModel');\n return false;\n }\n if (this.isTreeData() && isEnabled) {\n doOnce(function () { return console.warn('AG Grid: The `serverSideFilterOnServer` property cannot be used while using tree data.'); }, 'serverSideFilterOnServerTreeData');\n return false;\n }\n return isEnabled;\n };\n GridOptionsWrapper.prototype.getPostSortFunc = function () {\n var _a = this.gridOptions, postSortRows = _a.postSortRows, postSort = _a.postSort;\n if (postSortRows) {\n return this.mergeGridCommonParams(postSortRows);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (postSort) {\n return function (params) { return postSort(params.nodes); };\n }\n };\n GridOptionsWrapper.prototype.getChartToolbarItemsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getChartToolbarItems);\n };\n GridOptionsWrapper.prototype.getChartThemeOverrides = function () {\n return this.gridOptions.chartThemeOverrides;\n };\n GridOptionsWrapper.prototype.getCustomChartThemes = function () {\n return this.gridOptions.customChartThemes;\n };\n GridOptionsWrapper.prototype.getChartThemes = function () {\n // return default themes if user hasn't supplied any\n return this.gridOptions.chartThemes || ['ag-default', 'ag-material', 'ag-pastel', 'ag-vivid', 'ag-solar'];\n };\n GridOptionsWrapper.prototype.getChartToolPanelsDef = function () {\n return this.gridOptions.chartToolPanelsDef;\n };\n GridOptionsWrapper.prototype.getClipboardDelimiter = function () {\n return exists(this.gridOptions.clipboardDelimiter) ? this.gridOptions.clipboardDelimiter : '\\t';\n };\n GridOptionsWrapper.prototype.setProperty = function (key, value, force) {\n if (force === void 0) { force = false; }\n var previousValue = this.gridOptions[key];\n if (force || previousValue !== value) {\n this.gridOptions[key] = value;\n var event_1 = {\n type: key,\n currentValue: value,\n previousValue: previousValue\n };\n this.propertyEventService.dispatchEvent(event_1);\n }\n };\n GridOptionsWrapper.prototype.addEventListener = function (key, listener) {\n this.propertyEventService.addEventListener(key, listener);\n };\n GridOptionsWrapper.prototype.removeEventListener = function (key, listener) {\n this.propertyEventService.removeEventListener(key, listener);\n };\n GridOptionsWrapper.prototype.isSkipHeaderOnAutoSize = function () {\n return !!this.gridOptions.skipHeaderOnAutoSize;\n };\n GridOptionsWrapper.prototype.getAutoSizePadding = function () {\n var value = this.gridOptions.autoSizePadding;\n return value != null && value >= 0 ? value : 20;\n };\n // properties\n GridOptionsWrapper.prototype.getHeaderHeight = function () {\n if (typeof this.gridOptions.headerHeight === 'number') {\n return this.gridOptions.headerHeight;\n }\n return this.getFromTheme(25, 'headerHeight');\n };\n GridOptionsWrapper.prototype.getFloatingFiltersHeight = function () {\n if (typeof this.gridOptions.floatingFiltersHeight === 'number') {\n return this.gridOptions.floatingFiltersHeight;\n }\n return this.getFromTheme(25, 'headerHeight');\n };\n GridOptionsWrapper.prototype.getGroupHeaderHeight = function () {\n if (typeof this.gridOptions.groupHeaderHeight === 'number') {\n return this.gridOptions.groupHeaderHeight;\n }\n return this.getHeaderHeight();\n };\n GridOptionsWrapper.prototype.getPivotHeaderHeight = function () {\n if (typeof this.gridOptions.pivotHeaderHeight === 'number') {\n return this.gridOptions.pivotHeaderHeight;\n }\n return this.getHeaderHeight();\n };\n GridOptionsWrapper.prototype.getPivotGroupHeaderHeight = function () {\n if (typeof this.gridOptions.pivotGroupHeaderHeight === 'number') {\n return this.gridOptions.pivotGroupHeaderHeight;\n }\n return this.getGroupHeaderHeight();\n };\n GridOptionsWrapper.prototype.isExternalFilterPresent = function () {\n if (typeof this.gridOptions.isExternalFilterPresent === 'function') {\n return this.gridOptions.isExternalFilterPresent({ api: this.getApi(), columnApi: this.getColumnApi(), context: this.getContext() });\n }\n return false;\n };\n GridOptionsWrapper.prototype.doesExternalFilterPass = function (node) {\n if (typeof this.gridOptions.doesExternalFilterPass === 'function') {\n return this.gridOptions.doesExternalFilterPass(node);\n }\n return false;\n };\n GridOptionsWrapper.prototype.getTooltipDelay = function (type) {\n var _a = this.gridOptions, tooltipShowDelay = _a.tooltipShowDelay, tooltipHideDelay = _a.tooltipHideDelay;\n var delay = type === 'show' ? tooltipShowDelay : tooltipHideDelay;\n var capitalisedType = capitalise(type);\n if (exists(delay)) {\n if (delay < 0) {\n doOnce(function () { return console.warn(\"ag-grid: tooltip\" + capitalisedType + \"Delay should not be lower than 0\"); }, \"tooltip\" + capitalisedType + \"DelayWarn\");\n }\n return Math.max(200, delay);\n }\n return null;\n };\n GridOptionsWrapper.prototype.isTooltipMouseTrack = function () {\n return isTrue(this.gridOptions.tooltipMouseTrack);\n };\n GridOptionsWrapper.prototype.isSuppressModelUpdateAfterUpdateTransaction = function () {\n return isTrue(this.gridOptions.suppressModelUpdateAfterUpdateTransaction);\n };\n GridOptionsWrapper.prototype.getDocument = function () {\n // if user is providing document, we use the users one,\n // otherwise we use the document on the global namespace.\n var result = null;\n if (this.gridOptions.getDocument && exists(this.gridOptions.getDocument)) {\n result = this.gridOptions.getDocument();\n }\n else if (this.eGridDiv) {\n result = this.eGridDiv.ownerDocument;\n }\n if (result && exists(result)) {\n return result;\n }\n return document;\n };\n GridOptionsWrapper.prototype.getMinColWidth = function () {\n var minColWidth = this.gridOptions.minColWidth;\n if (exists(minColWidth) && minColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return this.gridOptions.minColWidth;\n }\n var measuredMin = this.getFromTheme(null, 'headerCellMinWidth');\n return exists(measuredMin) ? Math.max(measuredMin, GridOptionsWrapper_1.MIN_COL_WIDTH) : GridOptionsWrapper_1.MIN_COL_WIDTH;\n };\n GridOptionsWrapper.prototype.getMaxColWidth = function () {\n if (this.gridOptions.maxColWidth && this.gridOptions.maxColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return this.gridOptions.maxColWidth;\n }\n return null;\n };\n GridOptionsWrapper.prototype.getColWidth = function () {\n if (typeof this.gridOptions.colWidth !== 'number' || this.gridOptions.colWidth < GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return 200;\n }\n return this.gridOptions.colWidth;\n };\n GridOptionsWrapper.prototype.getRowBuffer = function () {\n var rowBuffer = this.gridOptions.rowBuffer;\n if (typeof rowBuffer === 'number') {\n if (rowBuffer < 0) {\n doOnce(function () { return console.warn(\"AG Grid: rowBuffer should not be negative\"); }, 'warn rowBuffer negative');\n this.gridOptions.rowBuffer = rowBuffer = 0;\n }\n }\n else {\n rowBuffer = Constants.ROW_BUFFER_SIZE;\n }\n return rowBuffer;\n };\n GridOptionsWrapper.prototype.getRowBufferInPixels = function () {\n var rowsToBuffer = this.getRowBuffer();\n var defaultRowHeight = this.getRowHeightAsNumber();\n return rowsToBuffer * defaultRowHeight;\n };\n // the user might be using some non-standard scrollbar, eg a scrollbar that has zero\n // width and overlays (like the Safari scrollbar, but presented in Chrome). so we\n // allow the user to provide the scroll width before we work it out.\n GridOptionsWrapper.prototype.getScrollbarWidth = function () {\n if (this.scrollbarWidth == null) {\n var useGridOptions = typeof this.gridOptions.scrollbarWidth === 'number' && this.gridOptions.scrollbarWidth >= 0;\n var scrollbarWidth = useGridOptions ? this.gridOptions.scrollbarWidth : getScrollbarWidth();\n if (scrollbarWidth != null) {\n this.scrollbarWidth = scrollbarWidth;\n this.eventService.dispatchEvent({\n type: Events.EVENT_SCROLLBAR_WIDTH_CHANGED\n });\n }\n }\n return this.scrollbarWidth;\n };\n GridOptionsWrapper.prototype.checkForDeprecated = function () {\n // casting to generic object, so typescript compiles even though\n // we are looking for attributes that don't exist\n var options = this.gridOptions;\n if (options.deprecatedEmbedFullWidthRows) {\n console.warn(\"AG Grid: since v21.2, deprecatedEmbedFullWidthRows has been replaced with embedFullWidthRows.\");\n }\n if (options.rowDeselection) {\n console.warn('AG Grid: since v24.x, rowDeselection is deprecated and the behaviour is true by default. Please use `suppressRowDeselection` to prevent rows from being deselected.');\n }\n if (options.enableMultiRowDragging) {\n options.rowDragMultiRow = true;\n delete options.enableMultiRowDragging;\n console.warn('AG Grid: since v26.1, `enableMultiRowDragging` is deprecated. Please use `rowDragMultiRow`.');\n }\n var checkRenamedProperty = function (oldProp, newProp, version) {\n if (options[oldProp] != null) {\n console.warn(\"AG Grid: since version \" + version + \", '\" + oldProp + \"' is deprecated / renamed, please use the new property name '\" + newProp + \"' instead.\");\n if (options[newProp] == null) {\n options[newProp] = options[oldProp];\n }\n }\n };\n checkRenamedProperty('batchUpdateWaitMillis', 'asyncTransactionWaitMillis', '23.1.x');\n checkRenamedProperty('deltaRowDataMode', 'immutableData', '23.1.x');\n checkRenamedProperty('serverSideFilteringAlwaysResets', 'serverSideFilterAllLevels', '28.0.0');\n checkRenamedProperty('serverSideSortingAlwaysResets', 'serverSideSortAllLevels', '28.0.0');\n if (options.immutableColumns || options.deltaColumnMode) {\n console.warn('AG Grid: since v24.0, immutableColumns and deltaColumnMode properties are gone. The grid now works like this as default. To keep column order maintained, set grid property applyColumnDefOrder=true');\n }\n checkRenamedProperty('suppressSetColumnStateEvents', 'suppressColumnStateEvents', '24.0.x');\n if (options.groupRowInnerRenderer || options.groupRowInnerRendererParams || options.groupRowInnerRendererFramework) {\n console.warn('AG Grid: since v24.0, grid properties groupRowInnerRenderer, groupRowInnerRendererFramework and groupRowInnerRendererParams are no longer used.');\n console.warn(' Instead use the grid properties groupRowRendererParams.innerRenderer, groupRowRendererParams.innerRendererFramework and groupRowRendererParams.innerRendererParams.');\n console.warn(' For example instead of this:');\n console.warn(' groupRowInnerRenderer: \"myRenderer\"');\n console.warn(' groupRowInnerRendererParams: {x: a}');\n console.warn(' Replace with this:');\n console.warn(' groupRowRendererParams: {');\n console.warn(' innerRenderer: \"myRenderer\",');\n console.warn(' innerRendererParams: {x: a}');\n console.warn(' }');\n console.warn(' We have copied the properties over for you. However to stop this error message, please change your application code.');\n if (!options.groupRowRendererParams) {\n options.groupRowRendererParams = {};\n }\n var params = options.groupRowRendererParams;\n if (options.groupRowInnerRenderer) {\n params.innerRenderer = options.groupRowInnerRenderer;\n }\n if (options.groupRowInnerRendererParams) {\n params.innerRendererParams = options.groupRowInnerRendererParams;\n }\n if (options.groupRowInnerRendererFramework) {\n params.innerRendererFramework = options.groupRowInnerRendererFramework;\n }\n }\n if (options.rememberGroupStateWhenNewData) {\n console.warn('AG Grid: since v24.0, grid property rememberGroupStateWhenNewData is deprecated. This feature was provided before Transaction Updates worked (which keep group state). Now that transaction updates are possible and they keep group state, this feature is no longer needed.');\n }\n if (options.detailCellRendererParams && options.detailCellRendererParams.autoHeight) {\n console.warn('AG Grid: since v24.1, grid property detailCellRendererParams.autoHeight is replaced with grid property detailRowAutoHeight. This allows this feature to work when you provide a custom DetailCellRenderer');\n options.detailRowAutoHeight = true;\n }\n if (options.suppressKeyboardEvent) {\n console.warn(\"AG Grid: since v24.1 suppressKeyboardEvent in the gridOptions has been deprecated and will be removed in\\n future versions of AG Grid. If you need this to be set for every column use the defaultColDef property.\");\n }\n if (options.suppressEnterpriseResetOnNewColumns) {\n console.warn('AG Grid: since v25, grid property suppressEnterpriseResetOnNewColumns is deprecated. This was a temporary property to allow changing columns in Server Side Row Model without triggering a reload. Now that it is possible to dynamically change columns in the grid, this is no longer needed.');\n }\n if (options.suppressColumnStateEvents) {\n console.warn('AG Grid: since v25, grid property suppressColumnStateEvents no longer works due to a refactor that we did. It should be possible to achieve similar using event.source, which would be \"api\" if the event was due to setting column state via the API');\n }\n if (options.defaultExportParams) {\n console.warn('AG Grid: since v25.2, the grid property `defaultExportParams` has been replaced by `defaultCsvExportParams` and `defaultExcelExportParams`.');\n }\n if (options.stopEditingWhenGridLosesFocus) {\n console.warn('AG Grid: since v25.2.2, the grid property `stopEditingWhenGridLosesFocus` has been replaced by `stopEditingWhenCellsLoseFocus`.');\n options.stopEditingWhenCellsLoseFocus = true;\n }\n if (options.applyColumnDefOrder) {\n console.warn('AG Grid: since v26.0, the grid property `applyColumnDefOrder` is no longer needed, as this is the default behaviour. To turn this behaviour off, set maintainColumnOrder=true');\n }\n if (options.groupMultiAutoColumn) {\n console.warn(\"AG Grid: since v26.0, the grid property `groupMultiAutoColumn` has been replaced by `groupDisplayType = 'multipleColumns'`\");\n options.groupDisplayType = 'multipleColumns';\n }\n if (options.groupUseEntireRow) {\n console.warn(\"AG Grid: since v26.0, the grid property `groupUseEntireRow` has been replaced by `groupDisplayType = 'groupRows'`\");\n options.groupDisplayType = 'groupRows';\n }\n if (options.groupSuppressAutoColumn) {\n var propName = options.treeData ? 'treeDataDisplayType' : 'groupDisplayType';\n console.warn(\"AG Grid: since v26.0, the grid property `groupSuppressAutoColumn` has been replaced by `\" + propName + \" = 'custom'`\");\n options.groupDisplayType = 'custom';\n }\n if (options.defaultGroupOrderComparator) {\n console.warn(\"AG Grid: since v27.2, the grid property `defaultGroupOrderComparator` is deprecated and has been replaced by `initialGroupOrderComparator` and now receives a single params object.\");\n }\n if (options.defaultGroupSortComparator) {\n console.warn(\"AG Grid: since v26.0, the grid property `defaultGroupSortComparator` has been replaced by `initialGroupOrderComparator`\");\n options.defaultGroupOrderComparator = options.defaultGroupSortComparator;\n }\n if (options.groupRowAggNodes) {\n console.warn(\"AG Grid: since v27.2, the grid property `groupRowAggNodes` is deprecated and has been replaced by `getGroupRowAgg` and now receives a single params object.\");\n }\n if (options.postSort) {\n console.warn(\"AG Grid: since v27.2, the grid property `postSort` is deprecated and has been replaced by `postSortRows` and now receives a single params object.\");\n }\n if (options.isFullWidthCell) {\n console.warn(\"AG Grid: since v27.2, the grid property `isFullWidthCell` is deprecated and has been replaced by `isFullWidthRow` and now receives a single params object.\");\n }\n if (options.localeTextFunc) {\n console.warn(\"AG Grid: since v27.2, the grid property `localeTextFunc` is deprecated and has been replaced by `getLocaleText` and now receives a single params object.\");\n }\n if (options.colWidth) {\n console.warn('AG Grid: since v26.1, the grid property `colWidth` is deprecated and should be set via `defaultColDef.width`.');\n }\n if (options.minColWidth) {\n console.warn('AG Grid: since v26.1, the grid property `minColWidth` is deprecated and should be set via `defaultColDef.minWidth`.');\n }\n if (options.maxColWidth) {\n console.warn('AG Grid: since v26.1, the grid property `maxColWidth` is deprecated and should be set via `defaultColDef.maxWidth`.');\n }\n if (options.reactUi) {\n console.warn('AG Grid: since v27.0, React UI is on by default, so no need for reactUi=true. To turn it off, set suppressReactUi=true.');\n }\n if (options.suppressReactUi) {\n console.warn('AG Grid: The legacy React rendering engine is deprecated and will be removed in the next major version of the grid.');\n }\n if (options.suppressCellSelection) {\n console.warn('AG Grid: since v27.0, `suppressCellSelection` has been replaced by `suppressCellFocus`.');\n options.suppressCellFocus = options.suppressCellSelection;\n }\n if (options.getRowNodeId) {\n console.warn('AG Grid: since v27.1, `getRowNodeId` is deprecated and has been replaced by `getRowId`. The difference: if getRowId() is implemented then immutable data is enabled by default.');\n }\n if (options.immutableData) {\n if (options.getRowId) {\n console.warn('AG Grid: since v27.1, `immutableData` is deprecated. With the `getRowId` callback implemented, immutable data is enabled by default so you can remove `immutableData=true`.');\n }\n else {\n console.warn('AG Grid: since v27.1, `immutableData` is deprecated. To enable immutable data you must implement the `getRowId()` callback.');\n }\n }\n if (options.clipboardDeliminator) {\n console.warn('AG Grid: since v27.1, `clipboardDeliminator` has been replaced by `clipboardDelimiter`.');\n options.clipboardDelimiter = options.clipboardDeliminator;\n }\n checkRenamedProperty('processSecondaryColDef', 'processPivotResultColDef', '28.0.x');\n checkRenamedProperty('processSecondaryColGroupDef', 'processPivotResultColGroupDef', '28.0.x');\n if (options.serverSideStoreType) {\n console.warn('AG Grid: since v28.0, `serverSideStoreType` has been replaced by `serverSideInfiniteScroll`. Set to true to use Partial Store, and false to use Full Store.');\n options.serverSideInfiniteScroll = options.serverSideStoreType === 'partial';\n }\n checkRenamedProperty('getServerSideStoreParams', 'getServerSideGroupLevelParams', '28.0.x');\n };\n GridOptionsWrapper.prototype.checkForViolations = function () {\n if (this.isTreeData()) {\n this.treeDataViolations();\n }\n };\n GridOptionsWrapper.prototype.treeDataViolations = function () {\n if (this.isRowModelDefault()) {\n if (missing(this.getDataPathFunc())) {\n console.warn('AG Grid: property usingTreeData=true with rowModel=clientSide, but you did not ' +\n 'provide getDataPath function, please provide getDataPath function if using tree data.');\n }\n }\n if (this.isRowModelServerSide()) {\n if (missing(this.getIsServerSideGroupFunc())) {\n console.warn('AG Grid: property usingTreeData=true with rowModel=serverSide, but you did not ' +\n 'provide isServerSideGroup function, please provide isServerSideGroup function if using tree data.');\n }\n if (missing(this.getServerSideGroupKeyFunc())) {\n console.warn('AG Grid: property usingTreeData=true with rowModel=serverSide, but you did not ' +\n 'provide getServerSideGroupKey function, please provide getServerSideGroupKey function if using tree data.');\n }\n }\n };\n GridOptionsWrapper.prototype.getLocaleTextFunc = function () {\n var _this = this;\n var _a = this.gridOptions, localeText = _a.localeText, getLocaleText = _a.getLocaleText, localeTextFunc = _a.localeTextFunc;\n if (getLocaleText) {\n //key: string, defaultValue: string, variableValues?: string[]\n return function (key, defaultValue, variableValues) {\n var params = {\n key: key,\n defaultValue: defaultValue,\n variableValues: variableValues,\n api: _this.getApi(),\n columnApi: _this.getColumnApi(),\n context: _this.getContext()\n };\n return getLocaleText(params);\n };\n }\n if (localeTextFunc) {\n return localeTextFunc;\n }\n return function (key, defaultValue, variableValues) {\n var localisedText = localeText && localeText[key];\n if (localisedText && variableValues && variableValues.length) {\n var found = 0;\n while (true) {\n if (found >= variableValues.length) {\n break;\n }\n var idx = localisedText.indexOf('${variable}');\n if (idx === -1) {\n break;\n }\n localisedText = localisedText.replace('${variable}', variableValues[found++]);\n }\n }\n return (localisedText !== null && localisedText !== void 0 ? localisedText : defaultValue);\n };\n };\n // responsible for calling the onXXX functions on gridOptions\n GridOptionsWrapper.prototype.globalEventHandler = function (eventName, event) {\n // prevent events from being fired _after_ the grid has been destroyed\n if (this.destroyed) {\n return;\n }\n var callbackMethodName = ComponentUtil.getCallbackForEvent(eventName);\n if (typeof this.gridOptions[callbackMethodName] === 'function') {\n this.gridOptions[callbackMethodName](event);\n }\n };\n GridOptionsWrapper.prototype.setRowHeightVariable = function (height) {\n var oldRowHeight = this.eGridDiv.style.getPropertyValue('--ag-line-height').trim();\n var newRowHeight = height + \"px\";\n if (oldRowHeight != newRowHeight) {\n this.eGridDiv.style.setProperty('--ag-line-height', newRowHeight);\n }\n };\n // we don't allow dynamic row height for virtual paging\n GridOptionsWrapper.prototype.getRowHeightAsNumber = function () {\n if (!this.gridOptions.rowHeight || missing(this.gridOptions.rowHeight)) {\n return this.getDefaultRowHeight();\n }\n var rowHeight = this.gridOptions.rowHeight;\n if (rowHeight && this.isNumeric(rowHeight)) {\n this.setRowHeightVariable(rowHeight);\n return rowHeight;\n }\n console.warn('AG Grid row height must be a number if not using standard row model');\n return this.getDefaultRowHeight();\n };\n GridOptionsWrapper.prototype.isGetRowHeightFunction = function () {\n return typeof this.gridOptions.getRowHeight === 'function';\n };\n GridOptionsWrapper.prototype.getRowHeightForNode = function (rowNode, allowEstimate, defaultRowHeight) {\n if (allowEstimate === void 0) { allowEstimate = false; }\n if (defaultRowHeight == null) {\n defaultRowHeight = this.getDefaultRowHeight();\n }\n // check the function first, in case use set both function and\n // number, when using virtual pagination then function can be\n // used for pinned rows and the number for the body rows.\n if (this.isGetRowHeightFunction()) {\n if (allowEstimate) {\n return { height: defaultRowHeight, estimated: true };\n }\n var params = {\n node: rowNode,\n data: rowNode.data\n };\n var height = this.mergeGridCommonParams(this.gridOptions.getRowHeight)(params);\n if (this.isNumeric(height)) {\n if (height === 0) {\n doOnce(function () { return console.warn('AG Grid: The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead.'); }, 'invalidRowHeight');\n }\n return { height: Math.max(1, height), estimated: false };\n }\n }\n if (rowNode.detail && this.isMasterDetail()) {\n // if autoHeight, we want the height to grow to the new height starting at 1, as otherwise a flicker would happen,\n // as the detail goes to the default (eg 200px) and then immediately shrink up/down to the new measured height\n // (due to auto height) which looks bad, especially if doing row animation.\n if (this.isDetailRowAutoHeight()) {\n return { height: 1, estimated: false };\n }\n if (this.isNumeric(this.gridOptions.detailRowHeight)) {\n return { height: this.gridOptions.detailRowHeight, estimated: false };\n }\n return { height: DEFAULT_DETAIL_ROW_HEIGHT, estimated: false };\n }\n var rowHeight = this.gridOptions.rowHeight && this.isNumeric(this.gridOptions.rowHeight) ? this.gridOptions.rowHeight : defaultRowHeight;\n return { height: rowHeight, estimated: false };\n };\n GridOptionsWrapper.prototype.isDynamicRowHeight = function () {\n return typeof this.gridOptions.getRowHeight === 'function';\n };\n GridOptionsWrapper.prototype.getListItemHeight = function () {\n return this.getFromTheme(20, 'listItemHeight');\n };\n GridOptionsWrapper.prototype.chartMenuPanelWidth = function () {\n return this.environment.chartMenuPanelWidth();\n };\n GridOptionsWrapper.prototype.isNumeric = function (value) {\n return !isNaN(value) && typeof value === 'number' && isFinite(value);\n };\n GridOptionsWrapper.prototype.getFromTheme = function (defaultValue, sassVariableName) {\n var theme = this.environment.getTheme().theme;\n if (theme && theme.indexOf('ag-theme') === 0) {\n return this.environment.getSassVariable(theme, sassVariableName);\n }\n return defaultValue;\n };\n GridOptionsWrapper.prototype.getDefaultRowHeight = function () {\n return this.getFromTheme(DEFAULT_ROW_HEIGHT, 'rowHeight');\n };\n GridOptionsWrapper.prototype.matchesGroupDisplayType = function (toMatch, supplied) {\n var groupDisplayTypeValues = ['groupRows', 'multipleColumns', 'custom', 'singleColumn'];\n if (groupDisplayTypeValues.indexOf(supplied) < 0) {\n console.warn(\"AG Grid: '\" + supplied + \"' is not a valid groupDisplayType value - possible values are: '\" + groupDisplayTypeValues.join(\"', '\") + \"'\");\n return false;\n }\n return supplied === toMatch;\n };\n GridOptionsWrapper.prototype.matchesTreeDataDisplayType = function (toMatch, supplied) {\n var treeDataDisplayTypeValues = ['auto', 'custom'];\n if (treeDataDisplayTypeValues.indexOf(supplied) < 0) {\n console.warn(\"AG Grid: '\" + supplied + \"' is not a valid treeDataDisplayType value - possible values are: '\" + treeDataDisplayTypeValues.join(\"', '\") + \"'\");\n return false;\n }\n return supplied === toMatch;\n };\n var GridOptionsWrapper_1;\n GridOptionsWrapper.MIN_COL_WIDTH = 10;\n GridOptionsWrapper.PROP_HEADER_HEIGHT = 'headerHeight';\n GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN = 'groupRemoveSingleChildren';\n GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN = 'groupRemoveLowestSingleChildren';\n GridOptionsWrapper.PROP_GROUP_DISPLAY_TYPE = 'groupDisplayType';\n GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT = 'pivotHeaderHeight';\n GridOptionsWrapper.PROP_SUPPRESS_CLIPBOARD_PASTE = 'suppressClipboardPaste';\n GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT = 'groupHeaderHeight';\n GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT = 'pivotGroupHeaderHeight';\n GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_CELL = 'navigateToNextCell';\n GridOptionsWrapper.PROP_TAB_TO_NEXT_CELL = 'tabToNextCell';\n GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_HEADER = 'navigateToNextHeader';\n GridOptionsWrapper.PROP_TAB_TO_NEXT_HEADER = 'tabToNextHeader';\n GridOptionsWrapper.PROP_IS_EXTERNAL_FILTER_PRESENT = 'isExternalFilterPresent';\n GridOptionsWrapper.PROP_DOES_EXTERNAL_FILTER_PASS = 'doesExternalFilterPass';\n GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT = 'floatingFiltersHeight';\n GridOptionsWrapper.PROP_SUPPRESS_ROW_CLICK_SELECTION = 'suppressRowClickSelection';\n GridOptionsWrapper.PROP_SUPPRESS_ROW_DRAG = 'suppressRowDrag';\n GridOptionsWrapper.PROP_SUPPRESS_MOVE_WHEN_ROW_DRAG = 'suppressMoveWhenRowDragging';\n GridOptionsWrapper.PROP_GET_ROW_CLASS = 'getRowClass';\n GridOptionsWrapper.PROP_GET_ROW_STYLE = 'getRowStyle';\n GridOptionsWrapper.PROP_GET_ROW_HEIGHT = 'getRowHeight';\n GridOptionsWrapper.PROP_POPUP_PARENT = 'popupParent';\n GridOptionsWrapper.PROP_DOM_LAYOUT = 'domLayout';\n GridOptionsWrapper.PROP_ROW_CLASS = 'rowClass';\n GridOptionsWrapper.PROP_FILL_HANDLE_DIRECTION = 'fillHandleDirection';\n GridOptionsWrapper.PROP_GROUP_ROW_AGG_NODES = 'groupRowAggNodes';\n GridOptionsWrapper.PROP_GET_GROUP_ROW_AGG = 'getGroupRowAgg';\n GridOptionsWrapper.PROP_GET_BUSINESS_KEY_FOR_NODE = 'getBusinessKeyForNode';\n GridOptionsWrapper.PROP_GET_CHILD_COUNT = 'getChildCount';\n GridOptionsWrapper.PROP_PROCESS_ROW_POST_CREATE = 'processRowPostCreate';\n GridOptionsWrapper.PROP_GET_ROW_NODE_ID = 'getRowNodeId';\n GridOptionsWrapper.PROP_GET_ROW_ID = 'getRowId';\n GridOptionsWrapper.PROP_IS_FULL_WIDTH_CELL = 'isFullWidthCell';\n GridOptionsWrapper.PROP_IS_FULL_WIDTH_ROW = 'isFullWidthRow';\n GridOptionsWrapper.PROP_IS_ROW_SELECTABLE = 'isRowSelectable';\n GridOptionsWrapper.PROP_IS_ROW_MASTER = 'isRowMaster';\n GridOptionsWrapper.PROP_POST_SORT = 'postSort';\n GridOptionsWrapper.PROP_POST_SORT_ROWS = 'postSortRows';\n GridOptionsWrapper.PROP_GET_DOCUMENT = 'getDocument';\n GridOptionsWrapper.PROP_POST_PROCESS_POPUP = 'postProcessPopup';\n GridOptionsWrapper.PROP_DEFAULT_GROUP_ORDER_COMPARATOR = 'defaultGroupOrderComparator';\n GridOptionsWrapper.PROP_INITIAL_GROUP_ORDER_COMPARATOR = 'initialGroupOrderComparator';\n GridOptionsWrapper.PROP_PAGINATION_NUMBER_FORMATTER = 'paginationNumberFormatter';\n GridOptionsWrapper.PROP_GET_CONTEXT_MENU_ITEMS = 'getContextMenuItems';\n GridOptionsWrapper.PROP_GET_MAIN_MENU_ITEMS = 'getMainMenuItems';\n GridOptionsWrapper.PROP_PROCESS_CELL_FOR_CLIPBOARD = 'processCellForClipboard';\n GridOptionsWrapper.PROP_PROCESS_CELL_FROM_CLIPBOARD = 'processCellFromClipboard';\n GridOptionsWrapper.PROP_SEND_TO_CLIPBOARD = 'sendToClipboard';\n GridOptionsWrapper.PROP_PROCESS_PIVOT_RESULT_COL_DEF = 'processPivotResultColDef';\n GridOptionsWrapper.PROP_PROCESS_PIVOT_RESULT_COL_GROUP_DEF = 'processPivotResultColGroupDef';\n GridOptionsWrapper.PROP_GET_CHART_TOOLBAR_ITEMS = 'getChartToolbarItems';\n GridOptionsWrapper.PROP_GET_SERVER_SIDE_GROUP_PARAMS = 'getServerSideGroupLevelParams';\n GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUPS_OPEN_BY_DEFAULT = 'isServerSideGroupOpenByDefault';\n GridOptionsWrapper.PROP_IS_APPLY_SERVER_SIDE_TRANSACTION = 'isApplyServerSideTransaction';\n GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUP = 'isServerSideGroup';\n GridOptionsWrapper.PROP_GET_SERVER_SIDE_GROUP_KEY = 'getServerSideGroupKey';\n GridOptionsWrapper.PROP_AUTO_GROUP_COLUMN_DEF = 'autoGroupColumnDef';\n GridOptionsWrapper.PROP_DEFAULT_COL_DEF = 'defaultColDef';\n __decorate$2v([\n Autowired('gridOptions')\n ], GridOptionsWrapper.prototype, \"gridOptions\", void 0);\n __decorate$2v([\n Autowired('eventService')\n ], GridOptionsWrapper.prototype, \"eventService\", void 0);\n __decorate$2v([\n Autowired('environment')\n ], GridOptionsWrapper.prototype, \"environment\", void 0);\n __decorate$2v([\n Autowired('eGridDiv')\n ], GridOptionsWrapper.prototype, \"eGridDiv\", void 0);\n __decorate$2v([\n __param$8(0, Qualifier('gridApi')), __param$8(1, Qualifier('columnApi'))\n ], GridOptionsWrapper.prototype, \"agWire\", null);\n __decorate$2v([\n PreDestroy\n ], GridOptionsWrapper.prototype, \"destroy\", null);\n __decorate$2v([\n PostConstruct\n ], GridOptionsWrapper.prototype, \"init\", null);\n GridOptionsWrapper = GridOptionsWrapper_1 = __decorate$2v([\n Bean('gridOptionsWrapper')\n ], GridOptionsWrapper);\n return GridOptionsWrapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2T = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$7 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __values$4 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read$l = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$f = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$l(arguments[i]));\n return ar;\n};\nvar ColumnModel = /** @class */ (function (_super) {\n __extends$2T(ColumnModel, _super);\n function ColumnModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // header row count, based on user provided columns\n _this.primaryHeaderRowCount = 0;\n _this.secondaryHeaderRowCount = 0;\n // header row count, either above, or based on pivoting if we are pivoting\n _this.gridHeaderRowCount = 0;\n // leave level columns of the displayed trees\n _this.displayedColumnsLeft = [];\n _this.displayedColumnsRight = [];\n _this.displayedColumnsCenter = [];\n // all three lists above combined\n _this.displayedColumns = [];\n // for fast lookup, to see if a column or group is still displayed\n _this.displayedColumnsAndGroupsMap = {};\n // all columns to be rendered\n _this.viewportColumns = [];\n // A hash key to keep track of changes in viewport columns\n _this.viewportColumnsHash = '';\n // same as viewportColumns, except we always include columns with headerAutoHeight\n _this.headerViewportColumns = [];\n // all columns to be rendered in the centre\n _this.viewportColumnsCenter = [];\n // same as viewportColumnsCenter, except we always include columns with headerAutoHeight\n _this.headerViewportColumnsCenter = [];\n _this.autoHeightActiveAtLeastOnce = false;\n _this.rowGroupColumns = [];\n _this.valueColumns = [];\n _this.pivotColumns = [];\n _this.ready = false;\n _this.autoGroupsNeedBuilding = false;\n _this.forceRecreateAutoGroups = false;\n _this.pivotMode = false;\n _this.bodyWidth = 0;\n _this.leftWidth = 0;\n _this.rightWidth = 0;\n _this.bodyWidthDirty = true;\n _this.flexColsCalculatedAtLestOnce = false;\n return _this;\n }\n ColumnModel.prototype.init = function () {\n var _this = this;\n this.suppressColumnVirtualisation = this.gridOptionsWrapper.isSuppressColumnVirtualisation();\n var pivotMode = this.gridOptionsWrapper.isPivotMode();\n if (this.isPivotSettingAllowed(pivotMode)) {\n this.pivotMode = pivotMode;\n }\n this.usingTreeData = this.gridOptionsWrapper.isTreeData();\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_DISPLAY_TYPE, function () { return _this.onAutoGroupColumnDefChanged(); });\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_AUTO_GROUP_COLUMN_DEF, function () { return _this.onAutoGroupColumnDefChanged(); });\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DEFAULT_COL_DEF, function () { return _this.onDefaultColDefChanged(); });\n };\n ColumnModel.prototype.onAutoGroupColumnDefChanged = function () {\n this.autoGroupsNeedBuilding = true;\n this.forceRecreateAutoGroups = true;\n this.updateGridColumns();\n this.updateDisplayedColumns('gridOptionsChanged');\n };\n ColumnModel.prototype.onDefaultColDefChanged = function () {\n // likewise for autoGroupCol, the default col def impacts this\n this.forceRecreateAutoGroups = true;\n this.createColumnsFromColumnDefs(true);\n };\n ColumnModel.prototype.setColumnDefs = function (columnDefs, source) {\n if (source === void 0) { source = 'api'; }\n var colsPreviouslyExisted = !!this.columnDefs;\n this.columnDefs = columnDefs;\n this.createColumnsFromColumnDefs(colsPreviouslyExisted, source);\n };\n ColumnModel.prototype.createColumnsFromColumnDefs = function (colsPreviouslyExisted, source) {\n var _this = this;\n if (source === void 0) { source = 'api'; }\n // only need to raise before/after events if updating columns, never if setting columns for first time\n var raiseEventsFunc = colsPreviouslyExisted ? this.compareColumnStatesAndRaiseEvents(source) : undefined;\n // always invalidate cache on changing columns, as the column id's for the new columns\n // could overlap with the old id's, so the cache would return old values for new columns.\n this.valueCache.expire();\n // NOTE ==================\n // we should be destroying the existing columns and groups if they exist, for example, the original column\n // group adds a listener to the columns, it should be also removing the listeners\n this.autoGroupsNeedBuilding = true;\n var oldPrimaryColumns = this.primaryColumns;\n var oldPrimaryTree = this.primaryColumnTree;\n var balancedTreeResult = this.columnFactory.createColumnTree(this.columnDefs, true, oldPrimaryTree);\n this.primaryColumnTree = balancedTreeResult.columnTree;\n this.primaryHeaderRowCount = balancedTreeResult.treeDept + 1;\n this.primaryColumns = this.getColumnsFromTree(this.primaryColumnTree);\n this.primaryColumnsMap = {};\n this.primaryColumns.forEach(function (col) { return _this.primaryColumnsMap[col.getId()] = col; });\n this.extractRowGroupColumns(source, oldPrimaryColumns);\n this.extractPivotColumns(source, oldPrimaryColumns);\n this.extractValueColumns(source, oldPrimaryColumns);\n this.ready = true;\n // if we are showing secondary columns, then no need to update grid columns\n // at this point, as it's the pivot service responsibility to change these\n // if we are no longer pivoting (ie and need to revert back to primary, otherwise\n // we shouldn't be touching the primary).\n var gridColsNotProcessed = this.gridColsArePrimary === undefined;\n var processGridCols = this.gridColsArePrimary || gridColsNotProcessed;\n if (processGridCols) {\n this.updateGridColumns();\n if (colsPreviouslyExisted && !this.gridOptionsWrapper.isMaintainColumnOrder()) {\n this.orderGridColumnsLikePrimary();\n }\n this.updateDisplayedColumns(source);\n this.checkViewportColumns();\n }\n // this event is not used by AG Grid, but left here for backwards compatibility,\n // in case applications use it\n this.dispatchEverythingChanged(source);\n if (raiseEventsFunc) {\n raiseEventsFunc();\n }\n this.dispatchNewColumnsLoaded();\n };\n ColumnModel.prototype.dispatchNewColumnsLoaded = function () {\n var newColumnsLoadedEvent = {\n type: Events.EVENT_NEW_COLUMNS_LOADED\n };\n this.eventService.dispatchEvent(newColumnsLoadedEvent);\n };\n // this event is legacy, no grid code listens to it. instead the grid listens to New Columns Loaded\n ColumnModel.prototype.dispatchEverythingChanged = function (source) {\n if (source === void 0) { source = 'api'; }\n var eventEverythingChanged = {\n type: Events.EVENT_COLUMN_EVERYTHING_CHANGED,\n source: source\n };\n this.eventService.dispatchEvent(eventEverythingChanged);\n };\n ColumnModel.prototype.orderGridColumnsLikePrimary = function () {\n var _this = this;\n var primaryColumns = this.primaryColumns;\n if (!primaryColumns) {\n return;\n }\n this.gridColumns.sort(function (colA, colB) {\n var primaryIndexA = primaryColumns.indexOf(colA);\n var primaryIndexB = primaryColumns.indexOf(colB);\n // if both cols are present in primary, then we just return the position,\n // so position is maintained.\n var indexAPresent = primaryIndexA >= 0;\n var indexBPresent = primaryIndexB >= 0;\n if (indexAPresent && indexBPresent) {\n return primaryIndexA - primaryIndexB;\n }\n if (indexAPresent) {\n // B is auto group column, so put B first\n return 1;\n }\n if (indexBPresent) {\n // A is auto group column, so put A first\n return -1;\n }\n // otherwise both A and B are auto-group columns. so we just keep the order\n // as they were already in.\n var gridIndexA = _this.gridColumns.indexOf(colA);\n var gridIndexB = _this.gridColumns.indexOf(colB);\n return gridIndexA - gridIndexB;\n });\n this.gridColumns = this.placeLockedColumns(this.gridColumns);\n };\n ColumnModel.prototype.getAllDisplayedAutoHeightCols = function () {\n return this.displayedAutoHeightCols;\n };\n ColumnModel.prototype.setViewport = function () {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n this.viewportLeft = this.bodyWidth - this.scrollPosition - this.scrollWidth;\n this.viewportRight = this.bodyWidth - this.scrollPosition;\n }\n else {\n this.viewportLeft = this.scrollPosition;\n this.viewportRight = this.scrollWidth + this.scrollPosition;\n }\n };\n // used by clipboard service, to know what columns to paste into\n ColumnModel.prototype.getDisplayedColumnsStartingAt = function (column) {\n var currentColumn = column;\n var columns = [];\n while (currentColumn != null) {\n columns.push(currentColumn);\n currentColumn = this.getDisplayedColAfter(currentColumn);\n }\n return columns;\n };\n // checks what columns are currently displayed due to column virtualisation. fires an event\n // if the list of columns has changed.\n // + setColumnWidth(), setViewportPosition(), setColumnDefs(), sizeColumnsToFit()\n ColumnModel.prototype.checkViewportColumns = function () {\n // check displayCenterColumnTree exists first, as it won't exist when grid is initialising\n if (this.displayedColumnsCenter == null) {\n return;\n }\n var viewportColumnsChanged = this.extractViewport();\n if (!viewportColumnsChanged) {\n return;\n }\n var event = {\n type: Events.EVENT_VIRTUAL_COLUMNS_CHANGED\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.setViewportPosition = function (scrollWidth, scrollPosition) {\n if (scrollWidth !== this.scrollWidth || scrollPosition !== this.scrollPosition || this.bodyWidthDirty) {\n this.scrollWidth = scrollWidth;\n this.scrollPosition = scrollPosition;\n // we need to call setVirtualViewportLeftAndRight() at least once after the body width changes,\n // as the viewport can stay the same, but in RTL, if body width changes, we need to work out the\n // virtual columns again\n this.bodyWidthDirty = true;\n this.setViewport();\n if (this.ready) {\n this.checkViewportColumns();\n }\n }\n };\n ColumnModel.prototype.isPivotMode = function () {\n return this.pivotMode;\n };\n ColumnModel.prototype.isPivotSettingAllowed = function (pivot) {\n if (pivot && this.gridOptionsWrapper.isTreeData()) {\n console.warn(\"AG Grid: Pivot mode not available in conjunction Tree Data i.e. 'gridOptions.treeData: true'\");\n return false;\n }\n return true;\n };\n ColumnModel.prototype.setPivotMode = function (pivotMode, source) {\n if (source === void 0) { source = 'api'; }\n if (pivotMode === this.pivotMode || !this.isPivotSettingAllowed(this.pivotMode)) {\n return;\n }\n this.pivotMode = pivotMode;\n // we need to update grid columns to cover the scenario where user has groupSuppressAutoColumn=true, as\n // this means we don't use auto group column UNLESS we are in pivot mode (it's mandatory in pivot mode),\n // so need to updateGridColumn() to check it autoGroupCol needs to be added / removed\n this.autoGroupsNeedBuilding = true;\n this.updateGridColumns();\n this.updateDisplayedColumns(source);\n var event = {\n type: Events.EVENT_COLUMN_PIVOT_MODE_CHANGED\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.getSecondaryPivotColumn = function (pivotKeys, valueColKey) {\n if (missing(this.secondaryColumns)) {\n return null;\n }\n var valueColumnToFind = this.getPrimaryColumn(valueColKey);\n var foundColumn = null;\n this.secondaryColumns.forEach(function (column) {\n var thisPivotKeys = column.getColDef().pivotKeys;\n var pivotValueColumn = column.getColDef().pivotValueColumn;\n var pivotKeyMatches = areEqual(thisPivotKeys, pivotKeys);\n var pivotValueMatches = pivotValueColumn === valueColumnToFind;\n if (pivotKeyMatches && pivotValueMatches) {\n foundColumn = column;\n }\n });\n return foundColumn;\n };\n ColumnModel.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('columnModel');\n };\n ColumnModel.prototype.setFirstRightAndLastLeftPinned = function (source) {\n var lastLeft;\n var firstRight;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n lastLeft = this.displayedColumnsLeft ? this.displayedColumnsLeft[0] : null;\n firstRight = this.displayedColumnsRight ? last(this.displayedColumnsRight) : null;\n }\n else {\n lastLeft = this.displayedColumnsLeft ? last(this.displayedColumnsLeft) : null;\n firstRight = this.displayedColumnsRight ? this.displayedColumnsRight[0] : null;\n }\n this.gridColumns.forEach(function (column) {\n column.setLastLeftPinned(column === lastLeft, source);\n column.setFirstRightPinned(column === firstRight, source);\n });\n };\n ColumnModel.prototype.autoSizeColumns = function (params) {\n var _this = this;\n var columns = params.columns, skipHeader = params.skipHeader, skipHeaderGroups = params.skipHeaderGroups, stopAtGroup = params.stopAtGroup, _a = params.source, source = _a === void 0 ? 'api' : _a;\n // because of column virtualisation, we can only do this function on columns that are\n // actually rendered, as non-rendered columns (outside the viewport and not rendered\n // due to column virtualisation) are not present. this can result in all rendered columns\n // getting narrowed, which in turn introduces more rendered columns on the RHS which\n // did not get autosized in the original run, leaving the visible grid with columns on\n // the LHS sized, but RHS no. so we keep looping through the visible columns until\n // no more cols are available (rendered) to be resized\n // we autosize after animation frames finish in case any cell renderers need to complete first. this can\n // happen eg if client code is calling api.autoSizeAllColumns() straight after grid is initialised, but grid\n // hasn't fully drawn out all the cells yet (due to cell renderers in animation frames).\n this.animationFrameService.flushAllFrames();\n // keep track of which cols we have resized in here\n var columnsAutosized = [];\n // initialise with anything except 0 so that while loop executes at least once\n var changesThisTimeAround = -1;\n var shouldSkipHeader = skipHeader != null ? skipHeader : this.gridOptionsWrapper.isSkipHeaderOnAutoSize();\n var shouldSkipHeaderGroups = skipHeaderGroups != null ? skipHeaderGroups : shouldSkipHeader;\n while (changesThisTimeAround !== 0) {\n changesThisTimeAround = 0;\n this.actionOnGridColumns(columns, function (column) {\n // if already autosized, skip it\n if (columnsAutosized.indexOf(column) >= 0) {\n return false;\n }\n // get how wide this col should be\n var preferredWidth = _this.autoWidthCalculator.getPreferredWidthForColumn(column, shouldSkipHeader);\n // preferredWidth = -1 if this col is not on the screen\n if (preferredWidth > 0) {\n var newWidth = _this.normaliseColumnWidth(column, preferredWidth);\n column.setActualWidth(newWidth, source);\n columnsAutosized.push(column);\n changesThisTimeAround++;\n }\n return true;\n }, source);\n }\n if (!shouldSkipHeaderGroups) {\n this.autoSizeColumnGroupsByColumns(columns, stopAtGroup);\n }\n this.fireColumnResizedEvent(columnsAutosized, true, 'autosizeColumns');\n };\n ColumnModel.prototype.fireColumnResizedEvent = function (columns, finished, source, flexColumns) {\n if (flexColumns === void 0) { flexColumns = null; }\n if (columns && columns.length) {\n var event_1 = {\n type: Events.EVENT_COLUMN_RESIZED,\n columns: columns,\n column: columns.length === 1 ? columns[0] : null,\n flexColumns: flexColumns,\n finished: finished,\n source: source\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n ColumnModel.prototype.autoSizeColumn = function (key, skipHeader, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.autoSizeColumns({ columns: [key], skipHeader: skipHeader, skipHeaderGroups: true, source: source });\n }\n };\n ColumnModel.prototype.autoSizeColumnGroupsByColumns = function (keys, stopAtGroup) {\n var e_1, _a, e_2, _b;\n var columnGroups = new Set();\n var columns = this.getGridColumns(keys);\n columns.forEach(function (col) {\n var parent = col.getParent();\n while (parent && parent != stopAtGroup) {\n if (!parent.isPadding()) {\n columnGroups.add(parent);\n }\n parent = parent.getParent();\n }\n });\n var headerGroupCtrl;\n var resizedColumns = [];\n try {\n for (var columnGroups_1 = __values$4(columnGroups), columnGroups_1_1 = columnGroups_1.next(); !columnGroups_1_1.done; columnGroups_1_1 = columnGroups_1.next()) {\n var columnGroup = columnGroups_1_1.value;\n try {\n for (var _c = (e_2 = void 0, __values$4(this.ctrlsService.getHeaderRowContainerCtrls())), _d = _c.next(); !_d.done; _d = _c.next()) {\n var headerContainerCtrl = _d.value;\n headerGroupCtrl = headerContainerCtrl.getHeaderCtrlForColumn(columnGroup);\n if (headerGroupCtrl) {\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (headerGroupCtrl) {\n headerGroupCtrl.resizeLeafColumnsToFit();\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (columnGroups_1_1 && !columnGroups_1_1.done && (_a = columnGroups_1.return)) _a.call(columnGroups_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return resizedColumns;\n };\n ColumnModel.prototype.autoSizeAllColumns = function (skipHeader, source) {\n if (source === void 0) { source = \"api\"; }\n var allDisplayedColumns = this.getAllDisplayedColumns();\n this.autoSizeColumns({ columns: allDisplayedColumns, skipHeader: skipHeader, source: source });\n };\n // Possible candidate for reuse (alot of recursive traversal duplication)\n ColumnModel.prototype.getColumnsFromTree = function (rootColumns) {\n var result = [];\n var recursiveFindColumns = function (childColumns) {\n for (var i = 0; i < childColumns.length; i++) {\n var child = childColumns[i];\n if (child instanceof Column) {\n result.push(child);\n }\n else if (child instanceof ProvidedColumnGroup) {\n recursiveFindColumns(child.getChildren());\n }\n }\n };\n recursiveFindColumns(rootColumns);\n return result;\n };\n ColumnModel.prototype.getAllDisplayedTrees = function () {\n if (this.displayedTreeLeft && this.displayedTreeRight && this.displayedTreeCentre) {\n return this.displayedTreeLeft\n .concat(this.displayedTreeCentre)\n .concat(this.displayedTreeRight);\n }\n return null;\n };\n // + columnSelectPanel\n ColumnModel.prototype.getPrimaryColumnTree = function () {\n return this.primaryColumnTree;\n };\n // + gridPanel -> for resizing the body and setting top margin\n ColumnModel.prototype.getHeaderRowCount = function () {\n return this.gridHeaderRowCount;\n };\n // + headerRenderer -> setting pinned body width\n ColumnModel.prototype.getDisplayedTreeLeft = function () {\n return this.displayedTreeLeft;\n };\n // + headerRenderer -> setting pinned body width\n ColumnModel.prototype.getDisplayedTreeRight = function () {\n return this.displayedTreeRight;\n };\n // + headerRenderer -> setting pinned body width\n ColumnModel.prototype.getDisplayedTreeCentre = function () {\n return this.displayedTreeCentre;\n };\n // gridPanel -> ensureColumnVisible\n ColumnModel.prototype.isColumnDisplayed = function (column) {\n return this.getAllDisplayedColumns().indexOf(column) >= 0;\n };\n // + csvCreator\n ColumnModel.prototype.getAllDisplayedColumns = function () {\n return this.displayedColumns;\n };\n ColumnModel.prototype.getViewportColumns = function () {\n return this.viewportColumns;\n };\n ColumnModel.prototype.getDisplayedLeftColumnsForRow = function (rowNode) {\n if (!this.colSpanActive) {\n return this.displayedColumnsLeft;\n }\n return this.getDisplayedColumnsForRow(rowNode, this.displayedColumnsLeft);\n };\n ColumnModel.prototype.getDisplayedRightColumnsForRow = function (rowNode) {\n if (!this.colSpanActive) {\n return this.displayedColumnsRight;\n }\n return this.getDisplayedColumnsForRow(rowNode, this.displayedColumnsRight);\n };\n ColumnModel.prototype.getDisplayedColumnsForRow = function (rowNode, displayedColumns, filterCallback, emptySpaceBeforeColumn) {\n var result = [];\n var lastConsideredCol = null;\n var _loop_1 = function (i) {\n var col = displayedColumns[i];\n var maxAllowedColSpan = displayedColumns.length - i;\n var colSpan = Math.min(col.getColSpan(rowNode), maxAllowedColSpan);\n var columnsToCheckFilter = [col];\n if (colSpan > 1) {\n var colsToRemove = colSpan - 1;\n for (var j = 1; j <= colsToRemove; j++) {\n columnsToCheckFilter.push(displayedColumns[i + j]);\n }\n i += colsToRemove;\n }\n // see which cols we should take out for column virtualisation\n var filterPasses;\n if (filterCallback) {\n // if user provided a callback, means some columns may not be in the viewport.\n // the user will NOT provide a callback if we are talking about pinned areas,\n // as pinned areas have no horizontal scroll and do not virtualise the columns.\n // if lots of columns, that means column spanning, and we set filterPasses = true\n // if one or more of the columns spanned pass the filter.\n filterPasses = false;\n columnsToCheckFilter.forEach(function (colForFilter) {\n if (filterCallback(colForFilter)) {\n filterPasses = true;\n }\n });\n }\n else {\n filterPasses = true;\n }\n if (filterPasses) {\n if (result.length === 0 && lastConsideredCol) {\n var gapBeforeColumn = emptySpaceBeforeColumn ? emptySpaceBeforeColumn(col) : false;\n if (gapBeforeColumn) {\n result.push(lastConsideredCol);\n }\n }\n result.push(col);\n }\n lastConsideredCol = col;\n out_i_1 = i;\n };\n var out_i_1;\n for (var i = 0; i < displayedColumns.length; i++) {\n _loop_1(i);\n i = out_i_1;\n }\n return result;\n };\n // + rowRenderer\n // if we are not column spanning, this just returns back the virtual centre columns,\n // however if we are column spanning, then different rows can have different virtual\n // columns, so we have to work out the list for each individual row.\n ColumnModel.prototype.getViewportCenterColumnsForRow = function (rowNode) {\n var _this = this;\n if (!this.colSpanActive) {\n return this.viewportColumnsCenter;\n }\n var emptySpaceBeforeColumn = function (col) {\n var left = col.getLeft();\n return exists(left) && left > _this.viewportLeft;\n };\n // if doing column virtualisation, then we filter based on the viewport.\n var filterCallback = this.suppressColumnVirtualisation ? null : this.isColumnInRowViewport.bind(this);\n return this.getDisplayedColumnsForRow(rowNode, this.displayedColumnsCenter, filterCallback, emptySpaceBeforeColumn);\n };\n ColumnModel.prototype.getAriaColumnIndex = function (col) {\n return this.getAllGridColumns().indexOf(col) + 1;\n };\n ColumnModel.prototype.isColumnInHeaderViewport = function (col) {\n // for headers, we never filter out autoHeaderHeight columns, if calculating\n if (col.isAutoHeaderHeight()) {\n return true;\n }\n return this.isColumnInRowViewport(col);\n };\n ColumnModel.prototype.isColumnInRowViewport = function (col) {\n // we never filter out autoHeight columns, as we need them in the DOM for calculating Auto Height\n if (col.isAutoHeight()) {\n return true;\n }\n var columnLeft = col.getLeft() || 0;\n var columnRight = columnLeft + col.getActualWidth();\n // adding 200 for buffer size, so some cols off viewport are rendered.\n // this helps horizontal scrolling so user rarely sees white space (unless\n // they scroll horizontally fast). however we are conservative, as the more\n // buffer the slower the vertical redraw speed\n var leftBounds = this.viewportLeft - 200;\n var rightBounds = this.viewportRight + 200;\n var columnToMuchLeft = columnLeft < leftBounds && columnRight < leftBounds;\n var columnToMuchRight = columnLeft > rightBounds && columnRight > rightBounds;\n return !columnToMuchLeft && !columnToMuchRight;\n };\n // used by:\n // + angularGrid -> setting pinned body width\n // note: this should be cached\n ColumnModel.prototype.getDisplayedColumnsLeftWidth = function () {\n return this.getWidthOfColsInList(this.displayedColumnsLeft);\n };\n // note: this should be cached\n ColumnModel.prototype.getDisplayedColumnsRightWidth = function () {\n return this.getWidthOfColsInList(this.displayedColumnsRight);\n };\n ColumnModel.prototype.updatePrimaryColumnList = function (keys, masterList, actionIsAdd, columnCallback, eventType, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n if (!keys || missingOrEmpty(keys)) {\n return;\n }\n var atLeastOne = false;\n keys.forEach(function (key) {\n var columnToAdd = _this.getPrimaryColumn(key);\n if (!columnToAdd) {\n return;\n }\n if (actionIsAdd) {\n if (masterList.indexOf(columnToAdd) >= 0) {\n return;\n }\n masterList.push(columnToAdd);\n }\n else {\n if (masterList.indexOf(columnToAdd) < 0) {\n return;\n }\n removeFromArray(masterList, columnToAdd);\n }\n columnCallback(columnToAdd);\n atLeastOne = true;\n });\n if (!atLeastOne) {\n return;\n }\n if (this.autoGroupsNeedBuilding) {\n this.updateGridColumns();\n }\n this.updateDisplayedColumns(source);\n var event = {\n type: eventType,\n columns: masterList,\n column: masterList.length === 1 ? masterList[0] : null,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.setRowGroupColumns = function (colKeys, source) {\n if (source === void 0) { source = \"api\"; }\n this.autoGroupsNeedBuilding = true;\n this.setPrimaryColumnList(colKeys, this.rowGroupColumns, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.setRowGroupActive.bind(this), source);\n };\n ColumnModel.prototype.setRowGroupActive = function (active, column, source) {\n if (active === column.isRowGroupActive()) {\n return;\n }\n column.setRowGroupActive(active, source);\n if (active && !this.gridOptionsWrapper.isSuppressRowGroupHidesColumns()) {\n this.setColumnVisible(column, false, source);\n }\n if (!active && !this.gridOptionsWrapper.isSuppressMakeColumnVisibleAfterUnGroup()) {\n this.setColumnVisible(column, true, source);\n }\n };\n ColumnModel.prototype.addRowGroupColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.addRowGroupColumns([key], source);\n }\n };\n ColumnModel.prototype.addRowGroupColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.autoGroupsNeedBuilding = true;\n this.updatePrimaryColumnList(keys, this.rowGroupColumns, true, this.setRowGroupActive.bind(this, true), Events.EVENT_COLUMN_ROW_GROUP_CHANGED, source);\n };\n ColumnModel.prototype.removeRowGroupColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.autoGroupsNeedBuilding = true;\n this.updatePrimaryColumnList(keys, this.rowGroupColumns, false, this.setRowGroupActive.bind(this, false), Events.EVENT_COLUMN_ROW_GROUP_CHANGED, source);\n };\n ColumnModel.prototype.removeRowGroupColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.removeRowGroupColumns([key], source);\n }\n };\n ColumnModel.prototype.addPivotColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.pivotColumns, true, function (column) { return column.setPivotActive(true, source); }, Events.EVENT_COLUMN_PIVOT_CHANGED, source);\n };\n ColumnModel.prototype.setPivotColumns = function (colKeys, source) {\n if (source === void 0) { source = \"api\"; }\n this.setPrimaryColumnList(colKeys, this.pivotColumns, Events.EVENT_COLUMN_PIVOT_CHANGED, function (added, column) {\n column.setPivotActive(added, source);\n }, source);\n };\n ColumnModel.prototype.addPivotColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n this.addPivotColumns([key], source);\n };\n ColumnModel.prototype.removePivotColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.pivotColumns, false, function (column) { return column.setPivotActive(false, source); }, Events.EVENT_COLUMN_PIVOT_CHANGED, source);\n };\n ColumnModel.prototype.removePivotColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n this.removePivotColumns([key], source);\n };\n ColumnModel.prototype.setPrimaryColumnList = function (colKeys, masterList, eventName, columnCallback, source) {\n var _this = this;\n masterList.length = 0;\n if (exists(colKeys)) {\n colKeys.forEach(function (key) {\n var column = _this.getPrimaryColumn(key);\n if (column) {\n masterList.push(column);\n }\n });\n }\n (this.primaryColumns || []).forEach(function (column) {\n var added = masterList.indexOf(column) >= 0;\n columnCallback(added, column);\n });\n if (this.autoGroupsNeedBuilding) {\n this.updateGridColumns();\n }\n this.updateDisplayedColumns(source);\n this.fireColumnEvent(eventName, masterList, source);\n };\n ColumnModel.prototype.setValueColumns = function (colKeys, source) {\n if (source === void 0) { source = \"api\"; }\n this.setPrimaryColumnList(colKeys, this.valueColumns, Events.EVENT_COLUMN_VALUE_CHANGED, this.setValueActive.bind(this), source);\n };\n ColumnModel.prototype.setValueActive = function (active, column, source) {\n if (active === column.isValueActive()) {\n return;\n }\n column.setValueActive(active, source);\n if (active && !column.getAggFunc()) {\n var initialAggFunc = this.aggFuncService.getDefaultAggFunc(column);\n column.setAggFunc(initialAggFunc);\n }\n };\n ColumnModel.prototype.addValueColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.valueColumns, true, this.setValueActive.bind(this, true), Events.EVENT_COLUMN_VALUE_CHANGED, source);\n };\n ColumnModel.prototype.addValueColumn = function (colKey, source) {\n if (source === void 0) { source = \"api\"; }\n if (colKey) {\n this.addValueColumns([colKey], source);\n }\n };\n ColumnModel.prototype.removeValueColumn = function (colKey, source) {\n if (source === void 0) { source = \"api\"; }\n this.removeValueColumns([colKey], source);\n };\n ColumnModel.prototype.removeValueColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.valueColumns, false, this.setValueActive.bind(this, false), Events.EVENT_COLUMN_VALUE_CHANGED, source);\n };\n // returns the width we can set to this col, taking into consideration min and max widths\n ColumnModel.prototype.normaliseColumnWidth = function (column, newWidth) {\n var minWidth = column.getMinWidth();\n if (exists(minWidth) && newWidth < minWidth) {\n newWidth = minWidth;\n }\n var maxWidth = column.getMaxWidth();\n if (exists(maxWidth) && column.isGreaterThanMax(newWidth)) {\n newWidth = maxWidth;\n }\n return newWidth;\n };\n ColumnModel.prototype.getPrimaryOrGridColumn = function (key) {\n var column = this.getPrimaryColumn(key);\n return column || this.getGridColumn(key);\n };\n ColumnModel.prototype.setColumnWidths = function (columnWidths, shiftKey, // @takeFromAdjacent - if user has 'shift' pressed, then pixels are taken from adjacent column\n finished, // @finished - ends up in the event, tells the user if more events are to come\n source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n var sets = [];\n columnWidths.forEach(function (columnWidth) {\n var col = _this.getPrimaryOrGridColumn(columnWidth.key);\n if (!col) {\n return;\n }\n sets.push({\n width: columnWidth.newWidth,\n ratios: [1],\n columns: [col]\n });\n // if user wants to do shift resize by default, then we invert the shift operation\n var defaultIsShift = _this.gridOptionsWrapper.getColResizeDefault() === 'shift';\n if (defaultIsShift) {\n shiftKey = !shiftKey;\n }\n if (shiftKey) {\n var otherCol = _this.getDisplayedColAfter(col);\n if (!otherCol) {\n return;\n }\n var widthDiff = col.getActualWidth() - columnWidth.newWidth;\n var otherColWidth = otherCol.getActualWidth() + widthDiff;\n sets.push({\n width: otherColWidth,\n ratios: [1],\n columns: [otherCol]\n });\n }\n });\n if (sets.length === 0) {\n return;\n }\n this.resizeColumnSets({\n resizeSets: sets,\n finished: finished,\n source: source\n });\n };\n ColumnModel.prototype.checkMinAndMaxWidthsForSet = function (columnResizeSet) {\n var columns = columnResizeSet.columns, width = columnResizeSet.width;\n // every col has a min width, so sum them all up and see if we have enough room\n // for all the min widths\n var minWidthAccumulated = 0;\n var maxWidthAccumulated = 0;\n var maxWidthActive = true;\n columns.forEach(function (col) {\n var minWidth = col.getMinWidth();\n minWidthAccumulated += minWidth || 0;\n var maxWidth = col.getMaxWidth();\n if (exists(maxWidth) && maxWidth > 0) {\n maxWidthAccumulated += maxWidth;\n }\n else {\n // if at least one columns has no max width, it means the group of columns\n // then has no max width, as at least one column can take as much width as possible\n maxWidthActive = false;\n }\n });\n var minWidthPasses = width >= minWidthAccumulated;\n var maxWidthPasses = !maxWidthActive || (width <= maxWidthAccumulated);\n return minWidthPasses && maxWidthPasses;\n };\n // method takes sets of columns and resizes them. either all sets will be resized, or nothing\n // be resized. this is used for example when user tries to resize a group and holds shift key,\n // then both the current group (grows), and the adjacent group (shrinks), will get resized,\n // so that's two sets for this method.\n ColumnModel.prototype.resizeColumnSets = function (params) {\n var _this = this;\n var resizeSets = params.resizeSets, finished = params.finished, source = params.source;\n var passMinMaxCheck = !resizeSets || resizeSets.every(function (columnResizeSet) { return _this.checkMinAndMaxWidthsForSet(columnResizeSet); });\n if (!passMinMaxCheck) {\n // even though we are not going to resize beyond min/max size, we still need to raise event when finished\n if (finished) {\n var columns = resizeSets && resizeSets.length > 0 ? resizeSets[0].columns : null;\n this.fireColumnResizedEvent(columns, finished, source);\n }\n return; // don't resize!\n }\n var changedCols = [];\n var allResizedCols = [];\n resizeSets.forEach(function (set) {\n var width = set.width, columns = set.columns, ratios = set.ratios;\n // keep track of pixels used, and last column gets the remaining,\n // to cater for rounding errors, and min width adjustments\n var newWidths = {};\n var finishedCols = {};\n columns.forEach(function (col) { return allResizedCols.push(col); });\n // the loop below goes through each col. if a col exceeds it's min/max width,\n // it then gets set to its min/max width and the column is removed marked as 'finished'\n // and the calculation is done again leaving this column out. take for example columns\n // {A, width: 50, maxWidth: 100}\n // {B, width: 50}\n // {C, width: 50}\n // and then the set is set to width 600 - on the first pass the grid tries to set each column\n // to 200. it checks A and sees 200 > 100 and so sets the width to 100. col A is then marked\n // as 'finished' and the calculation is done again with the remaining cols B and C, which end up\n // splitting the remaining 500 pixels.\n var finishedColsGrew = true;\n var loopCount = 0;\n var _loop_2 = function () {\n loopCount++;\n if (loopCount > 1000) {\n // this should never happen, but in the future, someone might introduce a bug here,\n // so we stop the browser from hanging and report bug properly\n console.error('AG Grid: infinite loop in resizeColumnSets');\n return \"break\";\n }\n finishedColsGrew = false;\n var subsetCols = [];\n var subsetRatioTotal = 0;\n var pixelsToDistribute = width;\n columns.forEach(function (col, index) {\n var thisColFinished = finishedCols[col.getId()];\n if (thisColFinished) {\n pixelsToDistribute -= newWidths[col.getId()];\n }\n else {\n subsetCols.push(col);\n var ratioThisCol = ratios[index];\n subsetRatioTotal += ratioThisCol;\n }\n });\n // because we are not using all of the ratios (cols can be missing),\n // we scale the ratio. if all columns are included, then subsetRatioTotal=1,\n // and so the ratioScale will be 1.\n var ratioScale = 1 / subsetRatioTotal;\n subsetCols.forEach(function (col, index) {\n var lastCol = index === (subsetCols.length - 1);\n var colNewWidth;\n if (lastCol) {\n colNewWidth = pixelsToDistribute;\n }\n else {\n colNewWidth = Math.round(ratios[index] * width * ratioScale);\n pixelsToDistribute -= colNewWidth;\n }\n var minWidth = col.getMinWidth();\n var maxWidth = col.getMaxWidth();\n if (exists(minWidth) && colNewWidth < minWidth) {\n colNewWidth = minWidth;\n finishedCols[col.getId()] = true;\n finishedColsGrew = true;\n }\n else if (exists(maxWidth) && maxWidth > 0 && colNewWidth > maxWidth) {\n colNewWidth = maxWidth;\n finishedCols[col.getId()] = true;\n finishedColsGrew = true;\n }\n newWidths[col.getId()] = colNewWidth;\n });\n };\n while (finishedColsGrew) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n columns.forEach(function (col) {\n var newWidth = newWidths[col.getId()];\n var actualWidth = col.getActualWidth();\n if (actualWidth !== newWidth) {\n col.setActualWidth(newWidth, source);\n changedCols.push(col);\n }\n });\n });\n // if no cols changed, then no need to update more or send event.\n var atLeastOneColChanged = changedCols.length > 0;\n var flexedCols = [];\n if (atLeastOneColChanged) {\n flexedCols = this.refreshFlexedColumns({ resizingCols: allResizedCols, skipSetLeft: true });\n this.setLeftValues(source);\n this.updateBodyWidths();\n this.checkViewportColumns();\n }\n // check for change first, to avoid unnecessary firing of events\n // however we always fire 'finished' events. this is important\n // when groups are resized, as if the group is changing slowly,\n // eg 1 pixel at a time, then each change will fire change events\n // in all the columns in the group, but only one with get the pixel.\n var colsForEvent = allResizedCols.concat(flexedCols);\n if (atLeastOneColChanged || finished) {\n this.fireColumnResizedEvent(colsForEvent, finished, source, flexedCols);\n }\n };\n ColumnModel.prototype.setColumnAggFunc = function (key, aggFunc, source) {\n if (source === void 0) { source = \"api\"; }\n if (!key) {\n return;\n }\n var column = this.getPrimaryColumn(key);\n if (!column) {\n return;\n }\n column.setAggFunc(aggFunc);\n this.fireColumnEvent(Events.EVENT_COLUMN_VALUE_CHANGED, [column], source);\n };\n ColumnModel.prototype.fireColumnEvent = function (type, columns, source) {\n var event = {\n type: type,\n columns: columns,\n column: (columns && columns.length == 1) ? columns[0] : null,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.moveRowGroupColumn = function (fromIndex, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n var column = this.rowGroupColumns[fromIndex];\n this.rowGroupColumns.splice(fromIndex, 1);\n this.rowGroupColumns.splice(toIndex, 0, column);\n var event = {\n type: Events.EVENT_COLUMN_ROW_GROUP_CHANGED,\n columns: this.rowGroupColumns,\n column: this.rowGroupColumns.length === 1 ? this.rowGroupColumns[0] : null,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.moveColumns = function (columnsToMoveKeys, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n this.columnAnimationService.start();\n if (toIndex > this.gridColumns.length - columnsToMoveKeys.length) {\n console.warn('AG Grid: tried to insert columns in invalid location, toIndex = ' + toIndex);\n console.warn('AG Grid: remember that you should not count the moving columns when calculating the new index');\n return;\n }\n // we want to pull all the columns out first and put them into an ordered list\n var columnsToMove = this.getGridColumns(columnsToMoveKeys);\n var failedRules = !this.doesMovePassRules(columnsToMove, toIndex);\n if (failedRules) {\n return;\n }\n moveInArray(this.gridColumns, columnsToMove, toIndex);\n this.updateDisplayedColumns(source);\n var event = {\n type: Events.EVENT_COLUMN_MOVED,\n columns: columnsToMove,\n column: columnsToMove.length === 1 ? columnsToMove[0] : null,\n toIndex: toIndex,\n source: source\n };\n this.eventService.dispatchEvent(event);\n this.columnAnimationService.finish();\n };\n ColumnModel.prototype.doesMovePassRules = function (columnsToMove, toIndex) {\n // make a copy of what the grid columns would look like after the move\n var proposedColumnOrder = this.getProposedColumnOrder(columnsToMove, toIndex);\n return this.doesOrderPassRules(proposedColumnOrder);\n };\n ColumnModel.prototype.doesOrderPassRules = function (gridOrder) {\n if (!this.doesMovePassMarryChildren(gridOrder)) {\n return false;\n }\n if (!this.doesMovePassLockedPositions(gridOrder)) {\n return false;\n }\n return true;\n };\n ColumnModel.prototype.getProposedColumnOrder = function (columnsToMove, toIndex) {\n var proposedColumnOrder = this.gridColumns.slice();\n moveInArray(proposedColumnOrder, columnsToMove, toIndex);\n return proposedColumnOrder;\n };\n // returns the provided cols sorted in same order as they appear in grid columns. eg if grid columns\n // contains [a,b,c,d,e] and col passed is [e,a] then the passed cols are sorted into [a,e]\n ColumnModel.prototype.sortColumnsLikeGridColumns = function (cols) {\n var _this = this;\n if (!cols || cols.length <= 1) {\n return;\n }\n var notAllColsInGridColumns = cols.filter(function (c) { return _this.gridColumns.indexOf(c) < 0; }).length > 0;\n if (notAllColsInGridColumns) {\n return;\n }\n cols.sort(function (a, b) {\n var indexA = _this.gridColumns.indexOf(a);\n var indexB = _this.gridColumns.indexOf(b);\n return indexA - indexB;\n });\n };\n ColumnModel.prototype.doesMovePassLockedPositions = function (proposedColumnOrder) {\n // Placement is a number indicating 'left' 'center' or 'right' as 0 1 2\n var lastPlacement = 0;\n var rulePassed = true;\n var lockPositionToPlacement = function (position) {\n if (!position) { // false or undefined\n return 1;\n }\n if (position === true) {\n return 0;\n }\n return position === 'left' ? 0 : 2; // Otherwise 'right'\n };\n proposedColumnOrder.forEach(function (col) {\n var placement = lockPositionToPlacement(col.getColDef().lockPosition);\n if (placement < lastPlacement) { // If placement goes down, we're not in the correct order\n rulePassed = false;\n }\n lastPlacement = placement;\n });\n return rulePassed;\n };\n ColumnModel.prototype.doesMovePassMarryChildren = function (allColumnsCopy) {\n var rulePassed = true;\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.gridBalancedTree, function (child) {\n if (!(child instanceof ProvidedColumnGroup)) {\n return;\n }\n var columnGroup = child;\n var colGroupDef = columnGroup.getColGroupDef();\n var marryChildren = colGroupDef && colGroupDef.marryChildren;\n if (!marryChildren) {\n return;\n }\n var newIndexes = [];\n columnGroup.getLeafColumns().forEach(function (col) {\n var newColIndex = allColumnsCopy.indexOf(col);\n newIndexes.push(newColIndex);\n });\n var maxIndex = Math.max.apply(Math, newIndexes);\n var minIndex = Math.min.apply(Math, newIndexes);\n // spread is how far the first column in this group is away from the last column\n var spread = maxIndex - minIndex;\n var maxSpread = columnGroup.getLeafColumns().length - 1;\n // if the columns\n if (spread > maxSpread) {\n rulePassed = false;\n }\n // console.log(`maxIndex = ${maxIndex}, minIndex = ${minIndex}, spread = ${spread}, maxSpread = ${maxSpread}, fail = ${spread > (count-1)}`)\n // console.log(allColumnsCopy.map( col => col.getColDef().field).join(','));\n });\n return rulePassed;\n };\n ColumnModel.prototype.moveColumn = function (key, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n this.moveColumns([key], toIndex, source);\n };\n ColumnModel.prototype.moveColumnByIndex = function (fromIndex, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n var column = this.gridColumns[fromIndex];\n this.moveColumn(column, toIndex, source);\n };\n ColumnModel.prototype.getColumnDefs = function () {\n var _this = this;\n if (!this.primaryColumns) {\n return;\n }\n var cols = this.primaryColumns.slice();\n if (this.gridColsArePrimary) {\n cols.sort(function (a, b) { return _this.gridColumns.indexOf(a) - _this.gridColumns.indexOf(b); });\n }\n else if (this.lastPrimaryOrder) {\n cols.sort(function (a, b) { return _this.lastPrimaryOrder.indexOf(a) - _this.lastPrimaryOrder.indexOf(b); });\n }\n return this.columnDefFactory.buildColumnDefs(cols, this.rowGroupColumns, this.pivotColumns);\n };\n // used by:\n // + angularGrid -> for setting body width\n // + rowController -> setting main row widths (when inserting and resizing)\n // need to cache this\n ColumnModel.prototype.getBodyContainerWidth = function () {\n return this.bodyWidth;\n };\n ColumnModel.prototype.getContainerWidth = function (pinned) {\n switch (pinned) {\n case Constants.PINNED_LEFT:\n return this.leftWidth;\n case Constants.PINNED_RIGHT:\n return this.rightWidth;\n default:\n return this.bodyWidth;\n }\n };\n // after setColumnWidth or updateGroupsAndDisplayedColumns\n ColumnModel.prototype.updateBodyWidths = function () {\n var newBodyWidth = this.getWidthOfColsInList(this.displayedColumnsCenter);\n var newLeftWidth = this.getWidthOfColsInList(this.displayedColumnsLeft);\n var newRightWidth = this.getWidthOfColsInList(this.displayedColumnsRight);\n // this is used by virtual col calculation, for RTL only, as a change to body width can impact displayed\n // columns, due to RTL inverting the y coordinates\n this.bodyWidthDirty = this.bodyWidth !== newBodyWidth;\n var atLeastOneChanged = this.bodyWidth !== newBodyWidth || this.leftWidth !== newLeftWidth || this.rightWidth !== newRightWidth;\n if (atLeastOneChanged) {\n this.bodyWidth = newBodyWidth;\n this.leftWidth = newLeftWidth;\n this.rightWidth = newRightWidth;\n // when this fires, it is picked up by the gridPanel, which ends up in\n // gridPanel calling setWidthAndScrollPosition(), which in turn calls setViewportPosition()\n var event_2 = {\n type: Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED,\n };\n this.eventService.dispatchEvent(event_2);\n }\n };\n // + rowController\n ColumnModel.prototype.getValueColumns = function () {\n return this.valueColumns ? this.valueColumns : [];\n };\n // + rowController\n ColumnModel.prototype.getPivotColumns = function () {\n return this.pivotColumns ? this.pivotColumns : [];\n };\n // + clientSideRowModel\n ColumnModel.prototype.isPivotActive = function () {\n return this.pivotColumns && this.pivotColumns.length > 0 && this.pivotMode;\n };\n // + toolPanel\n ColumnModel.prototype.getRowGroupColumns = function () {\n return this.rowGroupColumns ? this.rowGroupColumns : [];\n };\n // + rowController -> while inserting rows\n ColumnModel.prototype.getDisplayedCenterColumns = function () {\n return this.displayedColumnsCenter;\n };\n // + rowController -> while inserting rows\n ColumnModel.prototype.getDisplayedLeftColumns = function () {\n return this.displayedColumnsLeft;\n };\n ColumnModel.prototype.getDisplayedRightColumns = function () {\n return this.displayedColumnsRight;\n };\n ColumnModel.prototype.getDisplayedColumns = function (type) {\n switch (type) {\n case Constants.PINNED_LEFT:\n return this.getDisplayedLeftColumns();\n case Constants.PINNED_RIGHT:\n return this.getDisplayedRightColumns();\n default:\n return this.getDisplayedCenterColumns();\n }\n };\n // used by:\n // + clientSideRowController -> sorting, building quick filter text\n // + headerRenderer -> sorting (clearing icon)\n ColumnModel.prototype.getAllPrimaryColumns = function () {\n return this.primaryColumns ? this.primaryColumns.slice() : null;\n };\n ColumnModel.prototype.getSecondaryColumns = function () {\n return this.secondaryColumns ? this.secondaryColumns.slice() : null;\n };\n ColumnModel.prototype.getAllColumnsForQuickFilter = function () {\n return this.columnsForQuickFilter;\n };\n // + moveColumnController\n ColumnModel.prototype.getAllGridColumns = function () {\n return this.gridColumns;\n };\n ColumnModel.prototype.isEmpty = function () {\n return missingOrEmpty(this.gridColumns);\n };\n ColumnModel.prototype.isRowGroupEmpty = function () {\n return missingOrEmpty(this.rowGroupColumns);\n };\n ColumnModel.prototype.setColumnVisible = function (key, visible, source) {\n if (source === void 0) { source = \"api\"; }\n this.setColumnsVisible([key], visible, source);\n };\n ColumnModel.prototype.setColumnsVisible = function (keys, visible, source) {\n if (visible === void 0) { visible = false; }\n if (source === void 0) { source = \"api\"; }\n this.applyColumnState({\n state: keys.map(function (key) { return ({\n colId: typeof key === 'string' ? key : key.getColId(),\n hide: !visible,\n }); }),\n }, source);\n };\n ColumnModel.prototype.setColumnPinned = function (key, pinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.setColumnsPinned([key], pinned, source);\n }\n };\n ColumnModel.prototype.setColumnsPinned = function (keys, pinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.gridOptionsWrapper.getDomLayout() === 'print') {\n console.warn(\"Changing the column pinning status is not allowed with domLayout='print'\");\n return;\n }\n this.columnAnimationService.start();\n var actualPinned;\n if (pinned === true || pinned === Constants.PINNED_LEFT) {\n actualPinned = Constants.PINNED_LEFT;\n }\n else if (pinned === Constants.PINNED_RIGHT) {\n actualPinned = Constants.PINNED_RIGHT;\n }\n else {\n actualPinned = null;\n }\n this.actionOnGridColumns(keys, function (col) {\n if (col.getPinned() !== actualPinned) {\n col.setPinned(actualPinned);\n return true;\n }\n return false;\n }, source, function () {\n var event = {\n type: Events.EVENT_COLUMN_PINNED,\n pinned: actualPinned,\n column: null,\n columns: null,\n source: source\n };\n return event;\n });\n this.columnAnimationService.finish();\n };\n // does an action on a set of columns. provides common functionality for looking up the\n // columns based on key, getting a list of effected columns, and then updated the event\n // with either one column (if it was just one col) or a list of columns\n // used by: autoResize, setVisible, setPinned\n ColumnModel.prototype.actionOnGridColumns = function (// the column keys this action will be on\n keys, \n // the action to do - if this returns false, the column was skipped\n // and won't be included in the event\n action, \n // should return back a column event of the right type\n source, createEvent) {\n var _this = this;\n if (missingOrEmpty(keys)) {\n return;\n }\n var updatedColumns = [];\n keys.forEach(function (key) {\n var column = _this.getGridColumn(key);\n if (!column) {\n return;\n }\n // need to check for false with type (ie !== instead of !=)\n // as not returning anything (undefined) would also be false\n var resultOfAction = action(column);\n if (resultOfAction !== false) {\n updatedColumns.push(column);\n }\n });\n if (!updatedColumns.length) {\n return;\n }\n this.updateDisplayedColumns(source);\n if (exists(createEvent) && createEvent) {\n var event_3 = createEvent();\n event_3.columns = updatedColumns;\n event_3.column = updatedColumns.length === 1 ? updatedColumns[0] : null;\n this.eventService.dispatchEvent(event_3);\n }\n };\n ColumnModel.prototype.getDisplayedColBefore = function (col) {\n var allDisplayedColumns = this.getAllDisplayedColumns();\n var oldIndex = allDisplayedColumns.indexOf(col);\n if (oldIndex > 0) {\n return allDisplayedColumns[oldIndex - 1];\n }\n return null;\n };\n // used by:\n // + rowRenderer -> for navigation\n ColumnModel.prototype.getDisplayedColAfter = function (col) {\n var allDisplayedColumns = this.getAllDisplayedColumns();\n var oldIndex = allDisplayedColumns.indexOf(col);\n if (oldIndex < (allDisplayedColumns.length - 1)) {\n return allDisplayedColumns[oldIndex + 1];\n }\n return null;\n };\n ColumnModel.prototype.getDisplayedGroupAfter = function (columnGroup) {\n return this.getDisplayedGroupAtDirection(columnGroup, 'After');\n };\n ColumnModel.prototype.getDisplayedGroupBefore = function (columnGroup) {\n return this.getDisplayedGroupAtDirection(columnGroup, 'Before');\n };\n ColumnModel.prototype.getDisplayedGroupAtDirection = function (columnGroup, direction) {\n // pick the last displayed column in this group\n var requiredLevel = columnGroup.getProvidedColumnGroup().getLevel() + columnGroup.getPaddingLevel();\n var colGroupLeafColumns = columnGroup.getDisplayedLeafColumns();\n var col = direction === 'After' ? last(colGroupLeafColumns) : colGroupLeafColumns[0];\n var getDisplayColMethod = \"getDisplayedCol\" + direction;\n while (true) {\n // keep moving to the next col, until we get to another group\n var column = this[getDisplayColMethod](col);\n if (!column) {\n return null;\n }\n var groupPointer = this.getColumnGroupAtLevel(column, requiredLevel);\n if (groupPointer !== columnGroup) {\n return groupPointer;\n }\n }\n };\n ColumnModel.prototype.getColumnGroupAtLevel = function (column, level) {\n // get group at same level as the one we are looking for\n var groupPointer = column.getParent();\n var originalGroupLevel;\n var groupPointerLevel;\n while (true) {\n var groupPointerProvidedColumnGroup = groupPointer.getProvidedColumnGroup();\n originalGroupLevel = groupPointerProvidedColumnGroup.getLevel();\n groupPointerLevel = groupPointer.getPaddingLevel();\n if (originalGroupLevel + groupPointerLevel <= level) {\n break;\n }\n groupPointer = groupPointer.getParent();\n }\n return groupPointer;\n };\n ColumnModel.prototype.isPinningLeft = function () {\n return this.displayedColumnsLeft.length > 0;\n };\n ColumnModel.prototype.isPinningRight = function () {\n return this.displayedColumnsRight.length > 0;\n };\n ColumnModel.prototype.getPrimaryAndSecondaryAndAutoColumns = function () {\n var _a;\n return (_a = []).concat.apply(_a, __spread$f([\n this.primaryColumns || [],\n this.groupAutoColumns || [],\n this.secondaryColumns || [],\n ]));\n };\n ColumnModel.prototype.getPrimaryAndAutoGroupCols = function () {\n var _a;\n return (_a = []).concat.apply(_a, __spread$f([\n this.primaryColumns || [],\n this.groupAutoColumns || [],\n ]));\n };\n ColumnModel.prototype.getPrimaryAndSecondaryColumns = function () {\n var _a;\n return (_a = []).concat.apply(_a, __spread$f([\n this.primaryColumns || [],\n this.secondaryColumns || [],\n ]));\n };\n ColumnModel.prototype.createStateItemFromColumn = function (column) {\n var rowGroupIndex = column.isRowGroupActive() ? this.rowGroupColumns.indexOf(column) : null;\n var pivotIndex = column.isPivotActive() ? this.pivotColumns.indexOf(column) : null;\n var aggFunc = column.isValueActive() ? column.getAggFunc() : null;\n var sort = column.getSort() != null ? column.getSort() : null;\n var sortIndex = column.getSortIndex() != null ? column.getSortIndex() : null;\n var flex = column.getFlex() != null && column.getFlex() > 0 ? column.getFlex() : null;\n var res = {\n colId: column.getColId(),\n width: column.getActualWidth(),\n hide: !column.isVisible(),\n pinned: column.getPinned(),\n sort: sort,\n sortIndex: sortIndex,\n aggFunc: aggFunc,\n rowGroup: column.isRowGroupActive(),\n rowGroupIndex: rowGroupIndex,\n pivot: column.isPivotActive(),\n pivotIndex: pivotIndex,\n flex: flex\n };\n return res;\n };\n ColumnModel.prototype.getColumnState = function () {\n if (missing(this.primaryColumns) || !this.isAlive()) {\n return [];\n }\n var colsForState = this.getPrimaryAndSecondaryAndAutoColumns();\n var res = colsForState.map(this.createStateItemFromColumn.bind(this));\n this.orderColumnStateList(res);\n return res;\n };\n ColumnModel.prototype.orderColumnStateList = function (columnStateList) {\n // for fast looking, store the index of each column\n var colIdToGridIndexMap = convertToMap(this.gridColumns.map(function (col, index) { return [col.getColId(), index]; }));\n columnStateList.sort(function (itemA, itemB) {\n var posA = colIdToGridIndexMap.has(itemA.colId) ? colIdToGridIndexMap.get(itemA.colId) : -1;\n var posB = colIdToGridIndexMap.has(itemB.colId) ? colIdToGridIndexMap.get(itemB.colId) : -1;\n return posA - posB;\n });\n };\n ColumnModel.prototype.resetColumnState = function (source) {\n // NOTE = there is one bug here that no customer has noticed - if a column has colDef.lockPosition,\n // this is ignored below when ordering the cols. to work, we should always put lockPosition cols first.\n // As a work around, developers should just put lockPosition columns first in their colDef list.\n if (source === void 0) { source = \"api\"; }\n // we can't use 'allColumns' as the order might of messed up, so get the primary ordered list\n var primaryColumns = this.getColumnsFromTree(this.primaryColumnTree);\n var columnStates = [];\n // we start at 1000, so if user has mix of rowGroup and group specified, it will work with both.\n // eg IF user has ColA.rowGroupIndex=0, ColB.rowGroupIndex=1, ColC.rowGroup=true,\n // THEN result will be ColA.rowGroupIndex=0, ColB.rowGroupIndex=1, ColC.rowGroup=1000\n var letRowGroupIndex = 1000;\n var letPivotIndex = 1000;\n var colsToProcess = [];\n if (this.groupAutoColumns) {\n colsToProcess = colsToProcess.concat(this.groupAutoColumns);\n }\n if (primaryColumns) {\n colsToProcess = colsToProcess.concat(primaryColumns);\n }\n colsToProcess.forEach(function (column) {\n var getValueOrNull = function (a, b) { return a != null ? a : b != null ? b : null; };\n var colDef = column.getColDef();\n var sort = getValueOrNull(colDef.sort, colDef.initialSort);\n var sortIndex = getValueOrNull(colDef.sortIndex, colDef.initialSortIndex);\n var hide = getValueOrNull(colDef.hide, colDef.initialHide);\n var pinned = getValueOrNull(colDef.pinned, colDef.initialPinned);\n var width = getValueOrNull(colDef.width, colDef.initialWidth);\n var flex = getValueOrNull(colDef.flex, colDef.initialFlex);\n var rowGroupIndex = getValueOrNull(colDef.rowGroupIndex, colDef.initialRowGroupIndex);\n var rowGroup = getValueOrNull(colDef.rowGroup, colDef.initialRowGroup);\n if (rowGroupIndex == null && (rowGroup == null || rowGroup == false)) {\n rowGroupIndex = null;\n rowGroup = null;\n }\n var pivotIndex = getValueOrNull(colDef.pivotIndex, colDef.initialPivotIndex);\n var pivot = getValueOrNull(colDef.pivot, colDef.initialPivot);\n if (pivotIndex == null && (pivot == null || pivot == false)) {\n pivotIndex = null;\n pivot = null;\n }\n var aggFunc = getValueOrNull(colDef.aggFunc, colDef.initialAggFunc);\n var stateItem = {\n colId: column.getColId(),\n sort: sort,\n sortIndex: sortIndex,\n hide: hide,\n pinned: pinned,\n width: width,\n flex: flex,\n rowGroup: rowGroup,\n rowGroupIndex: rowGroupIndex,\n pivot: pivot,\n pivotIndex: pivotIndex,\n aggFunc: aggFunc,\n };\n if (missing(rowGroupIndex) && rowGroup) {\n stateItem.rowGroupIndex = letRowGroupIndex++;\n }\n if (missing(pivotIndex) && pivot) {\n stateItem.pivotIndex = letPivotIndex++;\n }\n columnStates.push(stateItem);\n });\n this.applyColumnState({ state: columnStates, applyOrder: true }, source);\n };\n ColumnModel.prototype.applyColumnState = function (params, source) {\n var _this = this;\n if (missingOrEmpty(this.primaryColumns)) {\n return false;\n }\n if (params && params.state && !params.state.forEach) {\n console.warn('AG Grid: applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state.');\n return false;\n }\n var applyStates = function (states, existingColumns, getById) {\n var raiseEventsFunc = _this.compareColumnStatesAndRaiseEvents(source);\n _this.autoGroupsNeedBuilding = true;\n // at the end below, this list will have all columns we got no state for\n var columnsWithNoState = existingColumns.slice();\n var rowGroupIndexes = {};\n var pivotIndexes = {};\n var autoGroupColumnStates = [];\n // If pivoting is modified, these are the states we try to reapply after\n // the secondary columns are re-generated\n var unmatchedAndAutoStates = [];\n var unmatchedCount = 0;\n var previousRowGroupCols = _this.rowGroupColumns.slice();\n var previousPivotCols = _this.pivotColumns.slice();\n states.forEach(function (state) {\n var colId = state.colId || '';\n // auto group columns are re-created so deferring syncing with ColumnState\n var isAutoGroupColumn = colId.startsWith(Constants.GROUP_AUTO_COLUMN_ID);\n if (isAutoGroupColumn) {\n autoGroupColumnStates.push(state);\n unmatchedAndAutoStates.push(state);\n return;\n }\n var column = getById(colId);\n if (!column) {\n unmatchedAndAutoStates.push(state);\n unmatchedCount += 1;\n }\n else {\n _this.syncColumnWithStateItem(column, state, params.defaultState, rowGroupIndexes, pivotIndexes, false, source);\n removeFromArray(columnsWithNoState, column);\n }\n });\n // anything left over, we got no data for, so add in the column as non-value, non-rowGroup and hidden\n var applyDefaultsFunc = function (col) {\n return _this.syncColumnWithStateItem(col, null, params.defaultState, rowGroupIndexes, pivotIndexes, false, source);\n };\n columnsWithNoState.forEach(applyDefaultsFunc);\n // sort the lists according to the indexes that were provided\n var comparator = function (indexes, oldList, colA, colB) {\n var indexA = indexes[colA.getId()];\n var indexB = indexes[colB.getId()];\n var aHasIndex = indexA != null;\n var bHasIndex = indexB != null;\n if (aHasIndex && bHasIndex) {\n // both a and b are new cols with index, so sort on index\n return indexA - indexB;\n }\n if (aHasIndex) {\n // a has an index, so it should be before a\n return -1;\n }\n if (bHasIndex) {\n // b has an index, so it should be before a\n return 1;\n }\n var oldIndexA = oldList.indexOf(colA);\n var oldIndexB = oldList.indexOf(colB);\n var aHasOldIndex = oldIndexA >= 0;\n var bHasOldIndex = oldIndexB >= 0;\n if (aHasOldIndex && bHasOldIndex) {\n // both a and b are old cols, so sort based on last order\n return oldIndexA - oldIndexB;\n }\n if (aHasOldIndex) {\n // a is old, b is new, so b is first\n return -1;\n }\n // this bit does matter, means both are new cols\n // but without index or that b is old and a is new\n return 1;\n };\n _this.rowGroupColumns.sort(comparator.bind(_this, rowGroupIndexes, previousRowGroupCols));\n _this.pivotColumns.sort(comparator.bind(_this, pivotIndexes, previousPivotCols));\n _this.updateGridColumns();\n // sync newly created auto group columns with ColumnState\n var autoGroupColsCopy = _this.groupAutoColumns ? _this.groupAutoColumns.slice() : [];\n autoGroupColumnStates.forEach(function (stateItem) {\n var autoCol = _this.getAutoColumn(stateItem.colId);\n removeFromArray(autoGroupColsCopy, autoCol);\n _this.syncColumnWithStateItem(autoCol, stateItem, params.defaultState, null, null, true, source);\n });\n // autogroup cols with nothing else, apply the default\n autoGroupColsCopy.forEach(applyDefaultsFunc);\n _this.applyOrderAfterApplyState(params);\n _this.updateDisplayedColumns(source);\n _this.dispatchEverythingChanged(source);\n raiseEventsFunc(); // Will trigger secondary column changes if pivoting modified\n return { unmatchedAndAutoStates: unmatchedAndAutoStates, unmatchedCount: unmatchedCount };\n };\n this.columnAnimationService.start();\n var _a = applyStates(params.state || [], this.primaryColumns || [], function (id) { return _this.getPrimaryColumn(id); }), unmatchedAndAutoStates = _a.unmatchedAndAutoStates, unmatchedCount = _a.unmatchedCount;\n // If there are still states left over, see if we can apply them to newly generated\n // secondary or auto columns. Also if defaults exist, ensure they are applied to secondary cols\n if (unmatchedAndAutoStates.length > 0 || exists(params.defaultState)) {\n unmatchedCount = applyStates(unmatchedAndAutoStates, this.secondaryColumns || [], function (id) { return _this.getSecondaryColumn(id); }).unmatchedCount;\n }\n this.columnAnimationService.finish();\n return unmatchedCount === 0; // Successful if no states unaccounted for\n };\n ColumnModel.prototype.applyOrderAfterApplyState = function (params) {\n var _this = this;\n if (!params.applyOrder || !params.state) {\n return;\n }\n var newOrder = [];\n var processedColIds = {};\n params.state.forEach(function (item) {\n if (!item.colId || processedColIds[item.colId]) {\n return;\n }\n var col = _this.gridColumnsMap[item.colId];\n if (col) {\n newOrder.push(col);\n processedColIds[item.colId] = true;\n }\n });\n // add in all other columns\n var autoGroupInsertIndex = 0;\n this.gridColumns.forEach(function (col) {\n var colId = col.getColId();\n var alreadyProcessed = processedColIds[colId] != null;\n if (alreadyProcessed) {\n return;\n }\n var isAutoGroupCol = colId.startsWith(Constants.GROUP_AUTO_COLUMN_ID);\n if (isAutoGroupCol) {\n // auto group columns, if missing from state list, are added to the start.\n // it's common to have autoGroup missing, as grouping could be on by default\n // on a column, but the user could of since removed the grouping via the UI.\n // if we don't inc the insert index, autoGroups will be inserted in reverse order\n insertIntoArray(newOrder, col, autoGroupInsertIndex++);\n }\n else {\n // normal columns, if missing from state list, are added at the end\n newOrder.push(col);\n }\n });\n // this is already done in updateGridColumns, however we changed the order above (to match the order of the state\n // columns) so we need to do it again. we could of put logic into the order above to take into account fixed\n // columns, however if we did then we would have logic for updating fixed columns twice. reusing the logic here\n // is less sexy for the code here, but it keeps consistency.\n newOrder = this.placeLockedColumns(newOrder);\n if (!this.doesMovePassMarryChildren(newOrder)) {\n console.warn('AG Grid: Applying column order broke a group where columns should be married together. Applying new order has been discarded.');\n return;\n }\n this.gridColumns = newOrder;\n };\n ColumnModel.prototype.compareColumnStatesAndRaiseEvents = function (source) {\n var _this = this;\n var startState = {\n rowGroupColumns: this.rowGroupColumns.slice(),\n pivotColumns: this.pivotColumns.slice(),\n valueColumns: this.valueColumns.slice()\n };\n var columnStateBefore = this.getColumnState();\n var columnStateBeforeMap = {};\n columnStateBefore.forEach(function (col) {\n columnStateBeforeMap[col.colId] = col;\n });\n return function () {\n if (_this.gridOptionsWrapper.isSuppressColumnStateEvents()) {\n return;\n }\n var colsForState = _this.getPrimaryAndSecondaryAndAutoColumns();\n // raises generic ColumnEvents where all columns are returned rather than what has changed\n var raiseWhenListsDifferent = function (eventType, colsBefore, colsAfter, idMapper) {\n var beforeList = colsBefore.map(idMapper);\n var afterList = colsAfter.map(idMapper);\n var unchanged = areEqual(beforeList, afterList);\n if (unchanged) {\n return;\n }\n // returning all columns rather than what has changed!\n var event = {\n type: eventType,\n columns: colsAfter,\n column: colsAfter.length === 1 ? colsAfter[0] : null,\n source: source\n };\n _this.eventService.dispatchEvent(event);\n };\n // determines which columns have changed according to supplied predicate\n var getChangedColumns = function (changedPredicate) {\n var changedColumns = [];\n colsForState.forEach(function (column) {\n var colStateBefore = columnStateBeforeMap[column.getColId()];\n if (colStateBefore && changedPredicate(colStateBefore, column)) {\n changedColumns.push(column);\n }\n });\n return changedColumns;\n };\n var columnIdMapper = function (c) { return c.getColId(); };\n raiseWhenListsDifferent(Events.EVENT_COLUMN_ROW_GROUP_CHANGED, startState.rowGroupColumns, _this.rowGroupColumns, columnIdMapper);\n raiseWhenListsDifferent(Events.EVENT_COLUMN_PIVOT_CHANGED, startState.pivotColumns, _this.pivotColumns, columnIdMapper);\n var valueChangePredicate = function (cs, c) {\n var oldActive = cs.aggFunc != null;\n var activeChanged = oldActive != c.isValueActive();\n // we only check aggFunc if the agg is active\n var aggFuncChanged = oldActive && cs.aggFunc != c.getAggFunc();\n return activeChanged || aggFuncChanged;\n };\n var changedValues = getChangedColumns(valueChangePredicate);\n if (changedValues.length > 0) {\n // we pass all value columns, now the ones that changed. this is the same\n // as pivot and rowGroup cols, but different to all other properties below.\n // this is more for backwards compatibility, as it's always been this way.\n // really it should be the other way, as the order of the cols makes no difference\n // for valueColumns (apart from displaying them in the tool panel).\n _this.fireColumnEvent(Events.EVENT_COLUMN_VALUE_CHANGED, _this.valueColumns, source);\n }\n var resizeChangePredicate = function (cs, c) { return cs.width != c.getActualWidth(); };\n _this.fireColumnResizedEvent(getChangedColumns(resizeChangePredicate), true, source);\n var pinnedChangePredicate = function (cs, c) { return cs.pinned != c.getPinned(); };\n _this.raiseColumnPinnedEvent(getChangedColumns(pinnedChangePredicate), source);\n var visibilityChangePredicate = function (cs, c) { return cs.hide == c.isVisible(); };\n _this.raiseColumnVisibleEvent(getChangedColumns(visibilityChangePredicate), source);\n var sortChangePredicate = function (cs, c) { return cs.sort != c.getSort() || cs.sortIndex != c.getSortIndex(); };\n if (getChangedColumns(sortChangePredicate).length > 0) {\n _this.sortController.dispatchSortChangedEvents(source);\n }\n // special handling for moved column events\n _this.raiseColumnMovedEvent(columnStateBefore, source);\n };\n };\n ColumnModel.prototype.raiseColumnPinnedEvent = function (changedColumns, source) {\n if (!changedColumns.length) {\n return;\n }\n // if just one column, we use this, otherwise we don't include the col\n var column = changedColumns.length === 1 ? changedColumns[0] : null;\n // only include visible if it's common in all columns\n var pinned = this.getCommonValue(changedColumns, function (col) { return col.getPinned(); });\n var event = {\n type: Events.EVENT_COLUMN_PINNED,\n // mistake in typing, 'undefined' should be allowed, as 'null' means 'not pinned'\n pinned: pinned != null ? pinned : null,\n columns: changedColumns,\n column: column,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.getCommonValue = function (cols, valueGetter) {\n if (!cols || cols.length == 0) {\n return undefined;\n }\n // compare each value to the first value. if nothing differs, then value is common so return it.\n var firstValue = valueGetter(cols[0]);\n for (var i = 1; i < cols.length; i++) {\n if (firstValue !== valueGetter(cols[i])) {\n // values differ, no common value\n return undefined;\n }\n }\n return firstValue;\n };\n ColumnModel.prototype.raiseColumnVisibleEvent = function (changedColumns, source) {\n if (!changedColumns.length) {\n return;\n }\n // if just one column, we use this, otherwise we don't include the col\n var column = changedColumns.length === 1 ? changedColumns[0] : null;\n // only include visible if it's common in all columns\n var visible = this.getCommonValue(changedColumns, function (col) { return col.isVisible(); });\n var event = {\n type: Events.EVENT_COLUMN_VISIBLE,\n visible: visible,\n columns: changedColumns,\n column: column,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.raiseColumnMovedEvent = function (colStateBefore, source) {\n // we are only interested in columns that were both present and visible before and after\n var _this = this;\n var colStateAfter = this.getColumnState();\n var colStateAfterMapped = {};\n colStateAfter.forEach(function (s) { return colStateAfterMapped[s.colId] = s; });\n // get id's of cols in both before and after lists\n var colsIntersectIds = {};\n colStateBefore.forEach(function (s) {\n if (colStateAfterMapped[s.colId]) {\n colsIntersectIds[s.colId] = true;\n }\n });\n // filter state lists, so we only have cols that were present before and after\n var beforeFiltered = colStateBefore.filter(function (c) { return colsIntersectIds[c.colId]; });\n var afterFiltered = colStateAfter.filter(function (c) { return colsIntersectIds[c.colId]; });\n // see if any cols are in a different location\n var movedColumns = [];\n afterFiltered.forEach(function (csAfter, index) {\n var csBefore = beforeFiltered && beforeFiltered[index];\n if (csBefore && csBefore.colId !== csAfter.colId) {\n var gridCol = _this.getGridColumn(csBefore.colId);\n if (gridCol) {\n movedColumns.push(gridCol);\n }\n }\n });\n if (!movedColumns.length) {\n return;\n }\n var event = {\n type: Events.EVENT_COLUMN_MOVED,\n columns: movedColumns,\n column: null,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.syncColumnWithStateItem = function (column, stateItem, defaultState, rowGroupIndexes, pivotIndexes, autoCol, source) {\n if (!column) {\n return;\n }\n var getValue = function (key1, key2) {\n var obj = { value1: undefined, value2: undefined };\n var calculated = false;\n if (stateItem) {\n if (stateItem[key1] !== undefined) {\n obj.value1 = stateItem[key1];\n calculated = true;\n }\n if (exists(key2) && stateItem[key2] !== undefined) {\n obj.value2 = stateItem[key2];\n calculated = true;\n }\n }\n if (!calculated && defaultState) {\n if (defaultState[key1] !== undefined) {\n obj.value1 = defaultState[key1];\n }\n if (exists(key2) && defaultState[key2] !== undefined) {\n obj.value2 = defaultState[key2];\n }\n }\n return obj;\n };\n // following ensures we are left with boolean true or false, eg converts (null, undefined, 0) all to true\n var hide = getValue('hide').value1;\n if (hide !== undefined) {\n column.setVisible(!hide, source);\n }\n // sets pinned to 'left' or 'right'\n var pinned = getValue('pinned').value1;\n if (pinned !== undefined) {\n column.setPinned(pinned);\n }\n // if width provided and valid, use it, otherwise stick with the old width\n var minColWidth = this.columnUtils.calculateColMinWidth(column.getColDef());\n // flex\n var flex = getValue('flex').value1;\n if (flex !== undefined) {\n column.setFlex(flex);\n }\n // width - we only set width if column is not flexing\n var noFlexThisCol = column.getFlex() <= 0;\n if (noFlexThisCol) {\n // both null and undefined means we skip, as it's not possible to 'clear' width (a column must have a width)\n var width = getValue('width').value1;\n if (width != null) {\n if (minColWidth != null && width >= minColWidth) {\n column.setActualWidth(width, source);\n }\n }\n }\n var sort = getValue('sort').value1;\n if (sort !== undefined) {\n if (sort === Constants.SORT_DESC || sort === Constants.SORT_ASC) {\n column.setSort(sort, source);\n }\n else {\n column.setSort(undefined, source);\n }\n }\n var sortIndex = getValue('sortIndex').value1;\n if (sortIndex !== undefined) {\n column.setSortIndex(sortIndex);\n }\n // we do not do aggFunc, rowGroup or pivot for auto cols or secondary cols\n if (autoCol || !column.isPrimary()) {\n return;\n }\n var aggFunc = getValue('aggFunc').value1;\n if (aggFunc !== undefined) {\n if (typeof aggFunc === 'string') {\n column.setAggFunc(aggFunc);\n if (!column.isValueActive()) {\n column.setValueActive(true, source);\n this.valueColumns.push(column);\n }\n }\n else {\n if (exists(aggFunc)) {\n console.warn('AG Grid: stateItem.aggFunc must be a string. if using your own aggregation ' +\n 'functions, register the functions first before using them in get/set state. This is because it is ' +\n 'intended for the column state to be stored and retrieved as simple JSON.');\n }\n // Note: we do not call column.setAggFunc(null), so that next time we aggregate\n // by this column (eg drag the column to the agg section int he toolpanel) it will\n // default to the last aggregation function.\n if (column.isValueActive()) {\n column.setValueActive(false, source);\n removeFromArray(this.valueColumns, column);\n }\n }\n }\n var _a = getValue('rowGroup', 'rowGroupIndex'), rowGroup = _a.value1, rowGroupIndex = _a.value2;\n if (rowGroup !== undefined || rowGroupIndex !== undefined) {\n if (typeof rowGroupIndex === 'number' || rowGroup) {\n if (!column.isRowGroupActive()) {\n column.setRowGroupActive(true, source);\n this.rowGroupColumns.push(column);\n }\n if (rowGroupIndexes && typeof rowGroupIndex === 'number') {\n rowGroupIndexes[column.getId()] = rowGroupIndex;\n }\n }\n else {\n if (column.isRowGroupActive()) {\n column.setRowGroupActive(false, source);\n removeFromArray(this.rowGroupColumns, column);\n }\n }\n }\n var _b = getValue('pivot', 'pivotIndex'), pivot = _b.value1, pivotIndex = _b.value2;\n if (pivot !== undefined || pivotIndex !== undefined) {\n if (typeof pivotIndex === 'number' || pivot) {\n if (!column.isPivotActive()) {\n column.setPivotActive(true, source);\n this.pivotColumns.push(column);\n }\n if (pivotIndexes && typeof pivotIndex === 'number') {\n pivotIndexes[column.getId()] = pivotIndex;\n }\n }\n else {\n if (column.isPivotActive()) {\n column.setPivotActive(false, source);\n removeFromArray(this.pivotColumns, column);\n }\n }\n }\n };\n ColumnModel.prototype.getGridColumns = function (keys) {\n return this.getColumns(keys, this.getGridColumn.bind(this));\n };\n ColumnModel.prototype.getColumns = function (keys, columnLookupCallback) {\n var foundColumns = [];\n if (keys) {\n keys.forEach(function (key) {\n var column = columnLookupCallback(key);\n if (column) {\n foundColumns.push(column);\n }\n });\n }\n return foundColumns;\n };\n // used by growGroupPanel\n ColumnModel.prototype.getColumnWithValidation = function (key) {\n if (key == null) {\n return null;\n }\n var column = this.getGridColumn(key);\n if (!column) {\n console.warn('AG Grid: could not find column ' + key);\n }\n return column;\n };\n ColumnModel.prototype.getPrimaryColumn = function (key) {\n if (!this.primaryColumns) {\n return null;\n }\n return this.getColumn(key, this.primaryColumns, this.primaryColumnsMap);\n };\n ColumnModel.prototype.getGridColumn = function (key) {\n return this.getColumn(key, this.gridColumns, this.gridColumnsMap);\n };\n ColumnModel.prototype.getSecondaryColumn = function (key) {\n if (!this.secondaryColumns) {\n return null;\n }\n return this.getColumn(key, this.secondaryColumns, this.secondaryColumnsMap);\n };\n ColumnModel.prototype.getColumn = function (key, columnList, columnMap) {\n if (!key) {\n return null;\n }\n // most of the time this method gets called the key is a string, so we put this shortcut in\n // for performance reasons, to see if we can match for ID (it doesn't do auto columns, that's done below)\n if (typeof key == 'string' && columnMap[key]) {\n return columnMap[key];\n }\n for (var i = 0; i < columnList.length; i++) {\n if (this.columnsMatch(columnList[i], key)) {\n return columnList[i];\n }\n }\n return this.getAutoColumn(key);\n };\n ColumnModel.prototype.getSourceColumnsForGroupColumn = function (groupCol) {\n var sourceColumnId = groupCol.getColDef().showRowGroup;\n if (!sourceColumnId) {\n return null;\n }\n if (sourceColumnId === true) {\n return this.rowGroupColumns.slice(0);\n }\n var column = this.getPrimaryColumn(sourceColumnId);\n return column ? [column] : null;\n };\n ColumnModel.prototype.getAutoColumn = function (key) {\n var _this = this;\n if (!this.groupAutoColumns ||\n !exists(this.groupAutoColumns) ||\n missing(this.groupAutoColumns)) {\n return null;\n }\n return this.groupAutoColumns.find(function (groupCol) { return _this.columnsMatch(groupCol, key); }) || null;\n };\n ColumnModel.prototype.columnsMatch = function (column, key) {\n var columnMatches = column === key;\n var colDefMatches = column.getColDef() === key;\n var idMatches = column.getColId() == key;\n return columnMatches || colDefMatches || idMatches;\n };\n ColumnModel.prototype.getDisplayNameForColumn = function (column, location, includeAggFunc) {\n if (includeAggFunc === void 0) { includeAggFunc = false; }\n if (!column) {\n return null;\n }\n var headerName = this.getHeaderName(column.getColDef(), column, null, null, location);\n if (includeAggFunc) {\n return this.wrapHeaderNameWithAggFunc(column, headerName);\n }\n return headerName;\n };\n ColumnModel.prototype.getDisplayNameForProvidedColumnGroup = function (columnGroup, providedColumnGroup, location) {\n var colGroupDef = providedColumnGroup ? providedColumnGroup.getColGroupDef() : null;\n if (colGroupDef) {\n return this.getHeaderName(colGroupDef, null, columnGroup, providedColumnGroup, location);\n }\n return null;\n };\n ColumnModel.prototype.getDisplayNameForColumnGroup = function (columnGroup, location) {\n return this.getDisplayNameForProvidedColumnGroup(columnGroup, columnGroup.getProvidedColumnGroup(), location);\n };\n // location is where the column is going to appear, ie who is calling us\n ColumnModel.prototype.getHeaderName = function (colDef, column, columnGroup, providedColumnGroup, location) {\n var headerValueGetter = colDef.headerValueGetter;\n if (headerValueGetter) {\n var params = {\n colDef: colDef,\n column: column,\n columnGroup: columnGroup,\n providedColumnGroup: providedColumnGroup,\n location: location,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n if (typeof headerValueGetter === 'function') {\n // valueGetter is a function, so just call it\n return headerValueGetter(params);\n }\n else if (typeof headerValueGetter === 'string') {\n // valueGetter is an expression, so execute the expression\n return this.expressionService.evaluate(headerValueGetter, params);\n }\n console.warn('ag-grid: headerValueGetter must be a function or a string');\n return '';\n }\n else if (colDef.headerName != null) {\n return colDef.headerName;\n }\n else if (colDef.field) {\n return camelCaseToHumanText(colDef.field);\n }\n return '';\n };\n ColumnModel.prototype.wrapHeaderNameWithAggFunc = function (column, headerName) {\n if (this.gridOptionsWrapper.isSuppressAggFuncInHeader()) {\n return headerName;\n }\n // only columns with aggregation active can have aggregations\n var pivotValueColumn = column.getColDef().pivotValueColumn;\n var pivotActiveOnThisColumn = exists(pivotValueColumn);\n var aggFunc = null;\n var aggFuncFound;\n // otherwise we have a measure that is active, and we are doing aggregation on it\n if (pivotActiveOnThisColumn) {\n var isCollapsedHeaderEnabled = this.gridOptionsWrapper.isRemovePivotHeaderRowWhenSingleValueColumn() && this.valueColumns.length === 1;\n var isTotalColumn = column.getColDef().pivotTotalColumnIds !== undefined;\n if (isCollapsedHeaderEnabled && !isTotalColumn) {\n return headerName; // Skip decorating the header - in this case the label is the pivot key, not the value col\n }\n aggFunc = pivotValueColumn ? pivotValueColumn.getAggFunc() : null;\n aggFuncFound = true;\n }\n else {\n var measureActive = column.isValueActive();\n var aggregationPresent = this.pivotMode || !this.isRowGroupEmpty();\n if (measureActive && aggregationPresent) {\n aggFunc = column.getAggFunc();\n aggFuncFound = true;\n }\n else {\n aggFuncFound = false;\n }\n }\n if (aggFuncFound) {\n var aggFuncString = (typeof aggFunc === 'string') ? aggFunc : 'func';\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var aggFuncStringTranslated = localeTextFunc(aggFuncString, aggFuncString);\n return aggFuncStringTranslated + \"(\" + headerName + \")\";\n }\n return headerName;\n };\n // returns the group with matching colId and instanceId. If instanceId is missing,\n // matches only on the colId.\n ColumnModel.prototype.getColumnGroup = function (colId, instanceId) {\n if (!colId) {\n return null;\n }\n if (colId instanceof ColumnGroup) {\n return colId;\n }\n var allColumnGroups = this.getAllDisplayedTrees();\n var checkInstanceId = typeof instanceId === 'number';\n var result = null;\n this.columnUtils.depthFirstAllColumnTreeSearch(allColumnGroups, function (child) {\n if (child instanceof ColumnGroup) {\n var columnGroup = child;\n var matched = void 0;\n if (checkInstanceId) {\n matched = colId === columnGroup.getGroupId() && instanceId === columnGroup.getInstanceId();\n }\n else {\n matched = colId === columnGroup.getGroupId();\n }\n if (matched) {\n result = columnGroup;\n }\n }\n });\n return result;\n };\n ColumnModel.prototype.isReady = function () {\n return this.ready;\n };\n ColumnModel.prototype.extractValueColumns = function (source, oldPrimaryColumns) {\n this.valueColumns = this.extractColumns(oldPrimaryColumns, this.valueColumns, function (col, flag) { return col.setValueActive(flag, source); }, \n // aggFunc doesn't have index variant, cos order of value cols doesn't matter, so always return null\n function () { return undefined; }, function () { return undefined; }, \n // aggFunc is a string, so return it's existence\n function (colDef) {\n var aggFunc = colDef.aggFunc;\n // null or empty string means clear\n if (aggFunc === null || aggFunc === '') {\n return null;\n }\n if (aggFunc === undefined) {\n return;\n }\n return !!aggFunc;\n }, function (colDef) {\n // return false if any of the following: null, undefined, empty string\n return colDef.initialAggFunc != null && colDef.initialAggFunc != '';\n });\n // all new columns added will have aggFunc missing, so set it to what is in the colDef\n this.valueColumns.forEach(function (col) {\n var colDef = col.getColDef();\n // if aggFunc provided, we always override, as reactive property\n if (colDef.aggFunc != null && colDef.aggFunc != '') {\n col.setAggFunc(colDef.aggFunc);\n }\n else {\n // otherwise we use initialAggFunc only if no agg func set - which happens when new column only\n if (!col.getAggFunc()) {\n col.setAggFunc(colDef.initialAggFunc);\n }\n }\n });\n };\n ColumnModel.prototype.extractRowGroupColumns = function (source, oldPrimaryColumns) {\n this.rowGroupColumns = this.extractColumns(oldPrimaryColumns, this.rowGroupColumns, function (col, flag) { return col.setRowGroupActive(flag, source); }, function (colDef) { return colDef.rowGroupIndex; }, function (colDef) { return colDef.initialRowGroupIndex; }, function (colDef) { return colDef.rowGroup; }, function (colDef) { return colDef.initialRowGroup; });\n };\n ColumnModel.prototype.extractColumns = function (oldPrimaryColumns, previousCols, setFlagFunc, getIndexFunc, getInitialIndexFunc, getValueFunc, getInitialValueFunc) {\n if (oldPrimaryColumns === void 0) { oldPrimaryColumns = []; }\n if (previousCols === void 0) { previousCols = []; }\n var colsWithIndex = [];\n var colsWithValue = [];\n // go though all cols.\n // if value, change\n // if default only, change only if new\n (this.primaryColumns || []).forEach(function (col) {\n var colIsNew = oldPrimaryColumns.indexOf(col) < 0;\n var colDef = col.getColDef();\n var value = attrToBoolean(getValueFunc(colDef));\n var initialValue = attrToBoolean(getInitialValueFunc(colDef));\n var index = attrToNumber(getIndexFunc(colDef));\n var initialIndex = attrToNumber(getInitialIndexFunc(colDef));\n var include;\n var valuePresent = value !== undefined;\n var indexPresent = index !== undefined;\n var initialValuePresent = initialValue !== undefined;\n var initialIndexPresent = initialIndex !== undefined;\n if (valuePresent) {\n include = value; // boolean value is guaranteed as attrToBoolean() is used above\n }\n else if (indexPresent) {\n if (index === null) {\n // if col is new we don't want to use the default / initial if index is set to null. Similarly,\n // we don't want to include the property for existing columns, i.e. we want to 'clear' it.\n include = false;\n }\n else {\n // note that 'null >= 0' evaluates to true which means 'rowGroupIndex = null' would enable row\n // grouping if the null check didn't exist above.\n include = index >= 0;\n }\n }\n else {\n if (colIsNew) {\n // as no value or index is 'present' we use the default / initial when col is new\n if (initialValuePresent) {\n include = initialValue;\n }\n else if (initialIndexPresent) {\n include = initialIndex != null && initialIndex >= 0;\n }\n else {\n include = false;\n }\n }\n else {\n // otherwise include it if included last time, e.g. if we are extracting row group cols and this col\n // is an existing row group col (i.e. it exists in 'previousCols') then we should include it.\n include = previousCols.indexOf(col) >= 0;\n }\n }\n if (include) {\n var useIndex = colIsNew ? (index != null || initialIndex != null) : index != null;\n useIndex ? colsWithIndex.push(col) : colsWithValue.push(col);\n }\n });\n var getIndexForCol = function (col) {\n var index = getIndexFunc(col.getColDef());\n var defaultIndex = getInitialIndexFunc(col.getColDef());\n return index != null ? index : defaultIndex;\n };\n // sort cols with index, and add these first\n colsWithIndex.sort(function (colA, colB) {\n var indexA = getIndexForCol(colA);\n var indexB = getIndexForCol(colB);\n if (indexA === indexB) {\n return 0;\n }\n if (indexA < indexB) {\n return -1;\n }\n return 1;\n });\n var res = [].concat(colsWithIndex);\n // second add columns that were there before and in the same order as they were before,\n // so we are preserving order of current grouping of columns that simply have rowGroup=true\n previousCols.forEach(function (col) {\n if (colsWithValue.indexOf(col) >= 0) {\n res.push(col);\n }\n });\n // lastly put in all remaining cols\n colsWithValue.forEach(function (col) {\n if (res.indexOf(col) < 0) {\n res.push(col);\n }\n });\n // set flag=false for removed cols\n previousCols.forEach(function (col) {\n if (res.indexOf(col) < 0) {\n setFlagFunc(col, false);\n }\n });\n // set flag=true for newly added cols\n res.forEach(function (col) {\n if (previousCols.indexOf(col) < 0) {\n setFlagFunc(col, true);\n }\n });\n return res;\n };\n ColumnModel.prototype.extractPivotColumns = function (source, oldPrimaryColumns) {\n this.pivotColumns = this.extractColumns(oldPrimaryColumns, this.pivotColumns, function (col, flag) { return col.setPivotActive(flag, source); }, function (colDef) { return colDef.pivotIndex; }, function (colDef) { return colDef.initialPivotIndex; }, function (colDef) { return colDef.pivot; }, function (colDef) { return colDef.initialPivot; });\n };\n ColumnModel.prototype.resetColumnGroupState = function (source) {\n if (source === void 0) { source = \"api\"; }\n var stateItems = [];\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.primaryColumnTree, function (child) {\n if (child instanceof ProvidedColumnGroup) {\n var colGroupDef = child.getColGroupDef();\n var groupState = {\n groupId: child.getGroupId(),\n open: !colGroupDef ? undefined : colGroupDef.openByDefault\n };\n stateItems.push(groupState);\n }\n });\n this.setColumnGroupState(stateItems, source);\n };\n ColumnModel.prototype.getColumnGroupState = function () {\n var columnGroupState = [];\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.gridBalancedTree, function (node) {\n if (node instanceof ProvidedColumnGroup) {\n columnGroupState.push({\n groupId: node.getGroupId(),\n open: node.isExpanded()\n });\n }\n });\n return columnGroupState;\n };\n ColumnModel.prototype.setColumnGroupState = function (stateItems, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n this.columnAnimationService.start();\n var impactedGroups = [];\n stateItems.forEach(function (stateItem) {\n var groupKey = stateItem.groupId;\n var newValue = stateItem.open;\n var providedColumnGroup = _this.getProvidedColumnGroup(groupKey);\n if (!providedColumnGroup) {\n return;\n }\n if (providedColumnGroup.isExpanded() === newValue) {\n return;\n }\n _this.logger.log('columnGroupOpened(' + providedColumnGroup.getGroupId() + ',' + newValue + ')');\n providedColumnGroup.setExpanded(newValue);\n impactedGroups.push(providedColumnGroup);\n });\n this.updateGroupsAndDisplayedColumns(source);\n this.setFirstRightAndLastLeftPinned(source);\n impactedGroups.forEach(function (providedColumnGroup) {\n var event = {\n type: Events.EVENT_COLUMN_GROUP_OPENED,\n columnGroup: providedColumnGroup\n };\n _this.eventService.dispatchEvent(event);\n });\n this.columnAnimationService.finish();\n };\n // called by headerRenderer - when a header is opened or closed\n ColumnModel.prototype.setColumnGroupOpened = function (key, newValue, source) {\n if (source === void 0) { source = \"api\"; }\n var keyAsString;\n if (key instanceof ProvidedColumnGroup) {\n keyAsString = key.getId();\n }\n else {\n keyAsString = key || '';\n }\n this.setColumnGroupState([{ groupId: keyAsString, open: newValue }], source);\n };\n ColumnModel.prototype.getProvidedColumnGroup = function (key) {\n // if (key instanceof ProvidedColumnGroup) { return key; }\n if (typeof key !== 'string') {\n console.error('AG Grid: group key must be a string');\n }\n // otherwise, search for the column group by id\n var res = null;\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.gridBalancedTree, function (node) {\n if (node instanceof ProvidedColumnGroup) {\n if (node.getId() === key) {\n res = node;\n }\n }\n });\n return res;\n };\n ColumnModel.prototype.calculateColumnsForDisplay = function () {\n var _this = this;\n var columnsForDisplay;\n if (this.pivotMode && missing(this.secondaryColumns)) {\n // pivot mode is on, but we are not pivoting, so we only\n // show columns we are aggregating on\n columnsForDisplay = this.gridColumns.filter(function (column) {\n var isAutoGroupCol = _this.groupAutoColumns && includes(_this.groupAutoColumns, column);\n var isValueCol = _this.valueColumns && includes(_this.valueColumns, column);\n return isAutoGroupCol || isValueCol;\n });\n }\n else {\n // otherwise continue as normal. this can be working on the primary\n // or secondary columns, whatever the gridColumns are set to\n columnsForDisplay = this.gridColumns.filter(function (column) {\n // keep col if a) it's auto-group or b) it's visible\n var isAutoGroupCol = _this.groupAutoColumns && includes(_this.groupAutoColumns, column);\n return isAutoGroupCol || column.isVisible();\n });\n }\n return columnsForDisplay;\n };\n ColumnModel.prototype.checkColSpanActiveInCols = function (columns) {\n var result = false;\n columns.forEach(function (col) {\n if (exists(col.getColDef().colSpan)) {\n result = true;\n }\n });\n return result;\n };\n ColumnModel.prototype.calculateColumnsForGroupDisplay = function () {\n var _this = this;\n this.groupDisplayColumns = [];\n this.groupDisplayColumnsMap = {};\n var checkFunc = function (col) {\n var colDef = col.getColDef();\n var underlyingColumn = colDef.showRowGroup;\n if (colDef && exists(underlyingColumn)) {\n _this.groupDisplayColumns.push(col);\n if (typeof underlyingColumn === 'string') {\n _this.groupDisplayColumnsMap[underlyingColumn] = col;\n }\n else if (underlyingColumn === true) {\n _this.getRowGroupColumns().forEach(function (rowGroupCol) {\n _this.groupDisplayColumnsMap[rowGroupCol.getId()] = col;\n });\n }\n }\n };\n this.gridColumns.forEach(checkFunc);\n if (this.groupAutoColumns) {\n this.groupAutoColumns.forEach(checkFunc);\n }\n };\n ColumnModel.prototype.getGroupDisplayColumns = function () {\n return this.groupDisplayColumns;\n };\n ColumnModel.prototype.getGroupDisplayColumnForGroup = function (rowGroupColumnId) {\n return this.groupDisplayColumnsMap[rowGroupColumnId];\n };\n ColumnModel.prototype.updateDisplayedColumns = function (source) {\n var columnsForDisplay = this.calculateColumnsForDisplay();\n this.buildDisplayedTrees(columnsForDisplay);\n this.calculateColumnsForGroupDisplay();\n // also called when group opened/closed\n this.updateGroupsAndDisplayedColumns(source);\n // also called when group opened/closed\n this.setFirstRightAndLastLeftPinned(source);\n };\n ColumnModel.prototype.isSecondaryColumnsPresent = function () {\n return exists(this.secondaryColumns);\n };\n ColumnModel.prototype.setSecondaryColumns = function (colDefs, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n var newColsPresent = colDefs && colDefs.length > 0;\n // if not cols passed, and we had no cols anyway, then do nothing\n if (!newColsPresent && missing(this.secondaryColumns)) {\n return;\n }\n if (newColsPresent) {\n this.processSecondaryColumnDefinitions(colDefs);\n var balancedTreeResult = this.columnFactory.createColumnTree(colDefs, false, this.secondaryBalancedTree || this.previousSecondaryColumns || undefined);\n this.secondaryBalancedTree = balancedTreeResult.columnTree;\n this.secondaryHeaderRowCount = balancedTreeResult.treeDept + 1;\n this.secondaryColumns = this.getColumnsFromTree(this.secondaryBalancedTree);\n this.secondaryColumnsMap = {};\n this.secondaryColumns.forEach(function (col) { return _this.secondaryColumnsMap[col.getId()] = col; });\n this.previousSecondaryColumns = null;\n }\n else {\n this.previousSecondaryColumns = this.secondaryBalancedTree;\n this.secondaryBalancedTree = null;\n this.secondaryHeaderRowCount = -1;\n this.secondaryColumns = null;\n this.secondaryColumnsMap = {};\n }\n this.updateGridColumns();\n this.updateDisplayedColumns(source);\n };\n ColumnModel.prototype.processSecondaryColumnDefinitions = function (colDefs) {\n var columnCallback = this.gridOptionsWrapper.getProcessPivotResultColDefFunc();\n var groupCallback = this.gridOptionsWrapper.getProcessPivotResultColGroupDefFunc();\n if (!columnCallback && !groupCallback) {\n return undefined;\n }\n var searchForColDefs = function (colDefs2) {\n colDefs2.forEach(function (abstractColDef) {\n var isGroup = exists(abstractColDef.children);\n if (isGroup) {\n var colGroupDef = abstractColDef;\n if (groupCallback) {\n groupCallback(colGroupDef);\n }\n searchForColDefs(colGroupDef.children);\n }\n else {\n var colDef = abstractColDef;\n if (columnCallback) {\n columnCallback(colDef);\n }\n }\n });\n };\n if (colDefs) {\n searchForColDefs(colDefs);\n }\n };\n // called from: setColumnState, setColumnDefs, setSecondaryColumns\n ColumnModel.prototype.updateGridColumns = function () {\n var _this = this;\n var prevGridCols = this.gridBalancedTree;\n if (this.gridColsArePrimary) {\n this.lastPrimaryOrder = this.gridColumns;\n }\n else {\n this.lastSecondaryOrder = this.gridColumns;\n }\n var sortOrderToRecover = undefined;\n if (this.secondaryColumns && this.secondaryBalancedTree) {\n var hasSameColumns = this.secondaryColumns.every(function (col) {\n return _this.gridColumnsMap[col.getColId()] !== undefined;\n });\n this.gridBalancedTree = this.secondaryBalancedTree.slice();\n this.gridHeaderRowCount = this.secondaryHeaderRowCount;\n this.gridColumns = this.secondaryColumns.slice();\n this.gridColsArePrimary = false;\n // If the current columns are the same or a subset of the previous\n // we keep the previous order, otherwise we go back to the order the pivot\n // cols are generated in\n if (hasSameColumns) {\n sortOrderToRecover = this.lastSecondaryOrder;\n }\n }\n else if (this.primaryColumns) {\n this.gridBalancedTree = this.primaryColumnTree.slice();\n this.gridHeaderRowCount = this.primaryHeaderRowCount;\n this.gridColumns = this.primaryColumns.slice();\n this.gridColsArePrimary = true;\n // updateGridColumns gets called after user adds a row group. we want to maintain the order of the columns\n // when this happens (eg if user moved a column) rather than revert back to the original column order.\n // likewise if changing in/out of pivot mode, we want to maintain the order of the cols\n sortOrderToRecover = this.lastPrimaryOrder;\n }\n // create the new auto columns\n var areAutoColsChanged = this.createGroupAutoColumnsIfNeeded();\n // if auto group cols have changed, and we have a sort order, we need to move auto cols to the start\n if (areAutoColsChanged && sortOrderToRecover) {\n var groupAutoColsMap_1 = convertToMap(this.groupAutoColumns.map(function (col) { return [col, true]; }));\n // if group columns has changed, we don't preserve the group column order, so remove them from the old order\n sortOrderToRecover = sortOrderToRecover.filter(function (col) { return !groupAutoColsMap_1.has(col); });\n // and add them to the start of the order\n sortOrderToRecover = __spread$f(this.groupAutoColumns, sortOrderToRecover);\n }\n this.addAutoGroupToGridColumns();\n this.orderGridColsLike(sortOrderToRecover);\n this.gridColumns = this.placeLockedColumns(this.gridColumns);\n this.setupQuickFilterColumns();\n this.clearDisplayedAndViewportColumns();\n this.colSpanActive = this.checkColSpanActiveInCols(this.gridColumns);\n this.gridColumnsMap = {};\n this.gridColumns.forEach(function (col) { return _this.gridColumnsMap[col.getId()] = col; });\n this.setAutoHeightActive();\n if (!areEqual(prevGridCols, this.gridBalancedTree)) {\n var event_4 = {\n type: Events.EVENT_GRID_COLUMNS_CHANGED\n };\n this.eventService.dispatchEvent(event_4);\n }\n };\n ColumnModel.prototype.setAutoHeightActive = function () {\n this.autoHeightActive = this.gridColumns.filter(function (col) { return col.isAutoHeight(); }).length > 0;\n if (this.autoHeightActive) {\n this.autoHeightActiveAtLeastOnce = true;\n var rowModelType = this.rowModel.getType();\n var supportedRowModel = rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE || rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE;\n if (!supportedRowModel) {\n var message_1 = 'AG Grid - autoHeight columns only work with Client Side Row Model and Server Side Row Model.';\n doOnce(function () { return console.warn(message_1); }, 'autoHeightActive.wrongRowModel');\n }\n }\n };\n ColumnModel.prototype.orderGridColsLike = function (colsOrder) {\n if (missing(colsOrder)) {\n return;\n }\n var lastOrderMapped = convertToMap(colsOrder.map(function (col, index) { return [col, index]; }));\n // only do the sort if at least one column is accounted for. columns will be not accounted for\n // if changing from secondary to primary columns\n var noColsFound = true;\n this.gridColumns.forEach(function (col) {\n if (lastOrderMapped.has(col)) {\n noColsFound = false;\n }\n });\n if (noColsFound) {\n return;\n }\n // order cols in the same order as before. we need to make sure that all\n // cols still exists, so filter out any that no longer exist.\n var gridColsMap = convertToMap(this.gridColumns.map(function (col) { return [col, true]; }));\n var oldColsOrdered = colsOrder.filter(function (col) { return gridColsMap.has(col); });\n var oldColsMap = convertToMap(oldColsOrdered.map(function (col) { return [col, true]; }));\n var newColsOrdered = this.gridColumns.filter(function (col) { return !oldColsMap.has(col); });\n // add in the new columns, at the end (if no group), or at the end of the group (if a group)\n var newGridColumns = oldColsOrdered.slice();\n newColsOrdered.forEach(function (newCol) {\n var parent = newCol.getOriginalParent();\n // if no parent, means we are not grouping, so just add the column to the end\n if (!parent) {\n newGridColumns.push(newCol);\n return;\n }\n // find the group the column belongs to. if no siblings at the current level (eg col in group on it's\n // own) then go up one level and look for siblings there.\n var siblings = [];\n while (!siblings.length && parent) {\n var leafCols = parent.getLeafColumns();\n leafCols.forEach(function (leafCol) {\n var presentInNewGriColumns = newGridColumns.indexOf(leafCol) >= 0;\n var noYetInSiblings = siblings.indexOf(leafCol) < 0;\n if (presentInNewGriColumns && noYetInSiblings) {\n siblings.push(leafCol);\n }\n });\n parent = parent.getOriginalParent();\n }\n // if no siblings exist at any level, this means the col is in a group (or parent groups) on it's own\n if (!siblings.length) {\n newGridColumns.push(newCol);\n return;\n }\n // find index of last column in the group\n var indexes = siblings.map(function (col) { return newGridColumns.indexOf(col); });\n var lastIndex = Math.max.apply(Math, __spread$f(indexes));\n insertIntoArray(newGridColumns, newCol, lastIndex + 1);\n });\n this.gridColumns = newGridColumns;\n };\n ColumnModel.prototype.isPrimaryColumnGroupsPresent = function () {\n return this.primaryHeaderRowCount > 1;\n };\n // if we are using autoGroupCols, then they should be included for quick filter. this covers the\n // following scenarios:\n // a) user provides 'field' into autoGroupCol of normal grid, so now because a valid col to filter leafs on\n // b) using tree data and user depends on autoGroupCol for first col, and we also want to filter on this\n // (tree data is a bit different, as parent rows can be filtered on, unlike row grouping)\n ColumnModel.prototype.setupQuickFilterColumns = function () {\n if (this.groupAutoColumns) {\n this.columnsForQuickFilter = (this.primaryColumns || []).concat(this.groupAutoColumns);\n }\n else if (this.primaryColumns) {\n this.columnsForQuickFilter = this.primaryColumns;\n }\n };\n ColumnModel.prototype.placeLockedColumns = function (cols) {\n var left = [];\n var normal = [];\n var right = [];\n cols.forEach(function (col) {\n var position = col.getColDef().lockPosition;\n if (position === 'right') {\n right.push(col);\n }\n else if (position === 'left' || position === true) {\n left.push(col);\n }\n else {\n normal.push(col);\n }\n });\n return __spread$f(left, normal, right);\n };\n ColumnModel.prototype.addAutoGroupToGridColumns = function () {\n if (missing(this.groupAutoColumns)) {\n return;\n }\n this.gridColumns = this.groupAutoColumns ? this.groupAutoColumns.concat(this.gridColumns) : this.gridColumns;\n var autoColBalancedTree = this.columnFactory.createForAutoGroups(this.groupAutoColumns, this.gridBalancedTree);\n this.gridBalancedTree = autoColBalancedTree.concat(this.gridBalancedTree);\n };\n // gets called after we copy down grid columns, to make sure any part of the gui\n // that tries to draw, eg the header, it will get empty lists of columns rather\n // than stale columns. for example, the header will received gridColumnsChanged\n // event, so will try and draw, but it will draw successfully when it acts on the\n // virtualColumnsChanged event\n ColumnModel.prototype.clearDisplayedAndViewportColumns = function () {\n this.viewportRowLeft = {};\n this.viewportRowRight = {};\n this.viewportRowCenter = {};\n this.displayedColumnsLeft = [];\n this.displayedColumnsRight = [];\n this.displayedColumnsCenter = [];\n this.displayedColumns = [];\n this.viewportColumns = [];\n this.headerViewportColumns = [];\n this.viewportColumnsHash = '';\n };\n ColumnModel.prototype.updateGroupsAndDisplayedColumns = function (source) {\n this.updateOpenClosedVisibilityInColumnGroups();\n this.deriveDisplayedColumns(source);\n this.refreshFlexedColumns();\n this.extractViewport();\n this.updateBodyWidths();\n // this event is picked up by the gui, headerRenderer and rowRenderer, to recalculate what columns to display\n var event = {\n type: Events.EVENT_DISPLAYED_COLUMNS_CHANGED\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.deriveDisplayedColumns = function (source) {\n this.derivedDisplayedColumnsFromDisplayedTree(this.displayedTreeLeft, this.displayedColumnsLeft);\n this.derivedDisplayedColumnsFromDisplayedTree(this.displayedTreeCentre, this.displayedColumnsCenter);\n this.derivedDisplayedColumnsFromDisplayedTree(this.displayedTreeRight, this.displayedColumnsRight);\n this.joinDisplayedColumns();\n this.setLeftValues(source);\n this.displayedAutoHeightCols = this.displayedColumns.filter(function (col) { return col.isAutoHeight(); });\n };\n ColumnModel.prototype.isAutoRowHeightActive = function () {\n return this.autoHeightActive;\n };\n ColumnModel.prototype.wasAutoRowHeightEverActive = function () {\n return this.autoHeightActiveAtLeastOnce;\n };\n ColumnModel.prototype.joinDisplayedColumns = function () {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n this.displayedColumns = this.displayedColumnsRight\n .concat(this.displayedColumnsCenter)\n .concat(this.displayedColumnsLeft);\n }\n else {\n this.displayedColumns = this.displayedColumnsLeft\n .concat(this.displayedColumnsCenter)\n .concat(this.displayedColumnsRight);\n }\n };\n // sets the left pixel position of each column\n ColumnModel.prototype.setLeftValues = function (source) {\n this.setLeftValuesOfColumns(source);\n this.setLeftValuesOfGroups();\n };\n ColumnModel.prototype.setLeftValuesOfColumns = function (source) {\n var _this = this;\n if (!this.primaryColumns) {\n return;\n }\n // go through each list of displayed columns\n var allColumns = this.primaryColumns.slice(0);\n // let totalColumnWidth = this.getWidthOfColsInList()\n var doingRtl = this.gridOptionsWrapper.isEnableRtl();\n [\n this.displayedColumnsLeft,\n this.displayedColumnsRight,\n this.displayedColumnsCenter\n ].forEach(function (columns) {\n if (doingRtl) {\n // when doing RTL, we start at the top most pixel (ie RHS) and work backwards\n var left_1 = _this.getWidthOfColsInList(columns);\n columns.forEach(function (column) {\n left_1 -= column.getActualWidth();\n column.setLeft(left_1, source);\n });\n }\n else {\n // otherwise normal LTR, we start at zero\n var left_2 = 0;\n columns.forEach(function (column) {\n column.setLeft(left_2, source);\n left_2 += column.getActualWidth();\n });\n }\n removeAllFromArray(allColumns, columns);\n });\n // items left in allColumns are columns not displayed, so remove the left position. this is\n // important for the rows, as if a col is made visible, then taken out, then made visible again,\n // we don't want the animation of the cell floating in from the old position, whatever that was.\n allColumns.forEach(function (column) {\n column.setLeft(null, source);\n });\n };\n ColumnModel.prototype.setLeftValuesOfGroups = function () {\n // a groups left value is the lest left value of it's children\n [\n this.displayedTreeLeft,\n this.displayedTreeRight,\n this.displayedTreeCentre\n ].forEach(function (columns) {\n columns.forEach(function (column) {\n if (column instanceof ColumnGroup) {\n var columnGroup = column;\n columnGroup.checkLeft();\n }\n });\n });\n };\n ColumnModel.prototype.derivedDisplayedColumnsFromDisplayedTree = function (tree, columns) {\n columns.length = 0;\n this.columnUtils.depthFirstDisplayedColumnTreeSearch(tree, function (child) {\n if (child instanceof Column) {\n columns.push(child);\n }\n });\n };\n ColumnModel.prototype.extractViewportColumns = function () {\n if (this.suppressColumnVirtualisation) {\n // no virtualisation, so don't filter\n this.viewportColumnsCenter = this.displayedColumnsCenter;\n this.headerViewportColumnsCenter = this.displayedColumnsCenter;\n }\n else {\n // filter out what should be visible\n this.viewportColumnsCenter = this.displayedColumnsCenter.filter(this.isColumnInRowViewport.bind(this));\n this.headerViewportColumnsCenter = this.displayedColumnsCenter.filter(this.isColumnInHeaderViewport.bind(this));\n }\n this.viewportColumns = this.viewportColumnsCenter\n .concat(this.displayedColumnsLeft)\n .concat(this.displayedColumnsRight);\n this.headerViewportColumns = this.headerViewportColumnsCenter\n .concat(this.displayedColumnsLeft)\n .concat(this.displayedColumnsRight);\n };\n ColumnModel.prototype.getVirtualHeaderGroupRow = function (type, dept) {\n var result;\n switch (type) {\n case Constants.PINNED_LEFT:\n result = this.viewportRowLeft[dept];\n break;\n case Constants.PINNED_RIGHT:\n result = this.viewportRowRight[dept];\n break;\n default:\n result = this.viewportRowCenter[dept];\n break;\n }\n if (missing(result)) {\n result = [];\n }\n return result;\n };\n ColumnModel.prototype.calculateHeaderRows = function () {\n // go through each group, see if any of it's cols are displayed, and if yes,\n // then this group is included\n this.viewportRowLeft = {};\n this.viewportRowRight = {};\n this.viewportRowCenter = {};\n // for easy lookup when building the groups.\n var virtualColIds = {};\n this.headerViewportColumns.forEach(function (col) { return virtualColIds[col.getId()] = true; });\n var testGroup = function (children, result, dept) {\n var returnValue = false;\n for (var i = 0; i < children.length; i++) {\n // see if this item is within viewport\n var child = children[i];\n var addThisItem = false;\n if (child instanceof Column) {\n // for column, test if column is included\n addThisItem = virtualColIds[child.getId()] === true;\n }\n else {\n // if group, base decision on children\n var columnGroup = child;\n var displayedChildren = columnGroup.getDisplayedChildren();\n if (displayedChildren) {\n addThisItem = testGroup(displayedChildren, result, dept + 1);\n }\n }\n if (addThisItem) {\n returnValue = true;\n if (!result[dept]) {\n result[dept] = [];\n }\n result[dept].push(child);\n }\n }\n return returnValue;\n };\n testGroup(this.displayedTreeLeft, this.viewportRowLeft, 0);\n testGroup(this.displayedTreeRight, this.viewportRowRight, 0);\n testGroup(this.displayedTreeCentre, this.viewportRowCenter, 0);\n };\n ColumnModel.prototype.extractViewport = function () {\n var hashColumn = function (c) { return c.getId() + \"-\" + (c.getPinned() || 'normal'); };\n this.extractViewportColumns();\n var newHash = this.viewportColumns.map(hashColumn).join('#');\n var changed = this.viewportColumnsHash !== newHash;\n if (changed) {\n this.viewportColumnsHash = newHash;\n this.calculateHeaderRows();\n }\n return changed;\n };\n ColumnModel.prototype.refreshFlexedColumns = function (params) {\n var _this = this;\n if (params === void 0) { params = {}; }\n var source = params.source ? params.source : 'flex';\n if (params.viewportWidth != null) {\n this.flexViewportWidth = params.viewportWidth;\n }\n if (!this.flexViewportWidth) {\n return [];\n }\n // If the grid has left-over space, divide it between flexing columns in proportion to their flex value.\n // A \"flexing column\" is one that has a 'flex' value set and is not currently being constrained by its\n // minWidth or maxWidth rules.\n var flexAfterDisplayIndex = -1;\n if (params.resizingCols) {\n params.resizingCols.forEach(function (col) {\n var indexOfCol = _this.displayedColumnsCenter.indexOf(col);\n if (flexAfterDisplayIndex < indexOfCol) {\n flexAfterDisplayIndex = indexOfCol;\n }\n });\n }\n var isColFlex = function (col) {\n var afterResizingCols = _this.displayedColumnsCenter.indexOf(col) > flexAfterDisplayIndex;\n return col.getFlex() && afterResizingCols;\n };\n var knownWidthColumns = this.displayedColumnsCenter.filter(function (col) { return !isColFlex(col); });\n var flexingColumns = this.displayedColumnsCenter.filter(function (col) { return isColFlex(col); });\n var changedColumns = [];\n if (!flexingColumns.length) {\n return [];\n }\n var flexingColumnSizes = [];\n var spaceForFlexingColumns;\n outer: while (true) {\n var totalFlex = flexingColumns.reduce(function (count, col) { return count + col.getFlex(); }, 0);\n spaceForFlexingColumns = this.flexViewportWidth - this.getWidthOfColsInList(knownWidthColumns);\n for (var i = 0; i < flexingColumns.length; i++) {\n var col = flexingColumns[i];\n var widthByFlexRule = spaceForFlexingColumns * col.getFlex() / totalFlex;\n var constrainedWidth = 0;\n var minWidth = col.getMinWidth();\n var maxWidth = col.getMaxWidth();\n if (exists(minWidth) && widthByFlexRule < minWidth) {\n constrainedWidth = minWidth;\n }\n else if (exists(maxWidth) && widthByFlexRule > maxWidth) {\n constrainedWidth = maxWidth;\n }\n if (constrainedWidth) {\n // This column is not in fact flexing as it is being constrained to a specific size\n // so remove it from the list of flexing columns and start again\n col.setActualWidth(constrainedWidth, source);\n removeFromArray(flexingColumns, col);\n changedColumns.push(col);\n knownWidthColumns.push(col);\n continue outer;\n }\n flexingColumnSizes[i] = Math.round(widthByFlexRule);\n }\n break;\n }\n var remainingSpace = spaceForFlexingColumns;\n flexingColumns.forEach(function (col, i) {\n col.setActualWidth(Math.min(flexingColumnSizes[i], remainingSpace), source);\n changedColumns.push(col);\n remainingSpace -= flexingColumnSizes[i];\n });\n if (!params.skipSetLeft) {\n this.setLeftValues(source);\n }\n if (params.updateBodyWidths) {\n this.updateBodyWidths();\n }\n if (params.fireResizedEvent) {\n this.fireColumnResizedEvent(changedColumns, true, source, flexingColumns);\n }\n // if the user sets rowData directly into GridOptions, then the row data is set before\n // grid is attached to the DOM. this means the columns are not flexed, and then the rows\n // have the wrong height (as they depend on column widths). so once the columns have\n // been flexed for the first time (only happens once grid is attached to DOM, as dependency\n // on getting the grid width, which only happens after attached after ResizeObserver fires)\n // we get get rows to re-calc their heights.\n if (!this.flexColsCalculatedAtLestOnce) {\n if (this.gridOptionsWrapper.isRowModelDefault()) {\n this.rowModel.resetRowHeights();\n }\n this.flexColsCalculatedAtLestOnce = true;\n }\n return flexingColumns;\n };\n // called from api\n ColumnModel.prototype.sizeColumnsToFit = function (gridWidth, source, silent, params) {\n if (source === void 0) { source = \"sizeColumnsToFit\"; }\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n var limitsMap = {};\n if (params) {\n (_b = (_a = params) === null || _a === void 0 ? void 0 : _a.columnLimits) === null || _b === void 0 ? void 0 : _b.forEach(function (_a) {\n var key = _a.key, dimensions = __rest(_a, [\"key\"]);\n limitsMap[typeof key === 'string' ? key : key.getColId()] = dimensions;\n });\n }\n // avoid divide by zero\n var allDisplayedColumns = this.getAllDisplayedColumns();\n var doColumnsAlreadyFit = gridWidth === this.getWidthOfColsInList(allDisplayedColumns);\n if (gridWidth <= 0 || !allDisplayedColumns.length || doColumnsAlreadyFit) {\n return;\n }\n var colsToSpread = [];\n var colsToNotSpread = [];\n allDisplayedColumns.forEach(function (column) {\n if (column.getColDef().suppressSizeToFit === true) {\n colsToNotSpread.push(column);\n }\n else {\n colsToSpread.push(column);\n }\n });\n // make a copy of the cols that are going to be resized\n var colsToFireEventFor = colsToSpread.slice(0);\n var finishedResizing = false;\n var moveToNotSpread = function (column) {\n removeFromArray(colsToSpread, column);\n colsToNotSpread.push(column);\n };\n // resetting cols to their original width makes the sizeColumnsToFit more deterministic,\n // rather than depending on the current size of the columns. most users call sizeColumnsToFit\n // immediately after grid is created, so will make no difference. however if application is calling\n // sizeColumnsToFit repeatedly (eg after column group is opened / closed repeatedly) we don't want\n // the columns to start shrinking / growing over time.\n //\n // NOTE: the process below will assign values to `this.actualWidth` of each column without firing events\n // for this reason we need to manually fire resize events after the resize has been done for each column.\n colsToSpread.forEach(function (column) { return column.resetActualWidth(source); });\n while (!finishedResizing) {\n finishedResizing = true;\n var availablePixels = gridWidth - this.getWidthOfColsInList(colsToNotSpread);\n if (availablePixels <= 0) {\n // no width, set everything to minimum\n colsToSpread.forEach(function (column) {\n var _a, _b, _c, _d;\n var widthOverride = (_c = (_b = (_a = limitsMap) === null || _a === void 0 ? void 0 : _a[column.getId()]) === null || _b === void 0 ? void 0 : _b.minWidth, (_c !== null && _c !== void 0 ? _c : (_d = params) === null || _d === void 0 ? void 0 : _d.defaultMinWidth));\n if (typeof widthOverride === 'number') {\n column.setActualWidth(widthOverride);\n return;\n }\n column.setMinimum(source);\n });\n }\n else {\n var scale = availablePixels / this.getWidthOfColsInList(colsToSpread);\n // we set the pixels for the last col based on what's left, as otherwise\n // we could be a pixel or two short or extra because of rounding errors.\n var pixelsForLastCol = availablePixels;\n // backwards through loop, as we are removing items as we go\n for (var i = colsToSpread.length - 1; i >= 0; i--) {\n var column = colsToSpread[i];\n var widthOverride = (_c = limitsMap) === null || _c === void 0 ? void 0 : _c[column.getId()];\n var minOverride = (_e = (_d = widthOverride) === null || _d === void 0 ? void 0 : _d.minWidth, (_e !== null && _e !== void 0 ? _e : (_f = params) === null || _f === void 0 ? void 0 : _f.defaultMinWidth));\n var maxOverride = (_h = (_g = widthOverride) === null || _g === void 0 ? void 0 : _g.maxWidth, (_h !== null && _h !== void 0 ? _h : (_j = params) === null || _j === void 0 ? void 0 : _j.defaultMaxWidth));\n var colMinWidth = (_k = column.getMinWidth(), (_k !== null && _k !== void 0 ? _k : 0));\n var colMaxWidth = (_l = column.getMaxWidth(), (_l !== null && _l !== void 0 ? _l : Number.MAX_VALUE));\n var minWidth = typeof minOverride === 'number' && minOverride > colMinWidth ? minOverride : column.getMinWidth();\n var maxWidth = typeof maxOverride === 'number' && maxOverride < colMaxWidth ? maxOverride : column.getMaxWidth();\n var newWidth = Math.round(column.getActualWidth() * scale);\n if (exists(minWidth) && newWidth < minWidth) {\n newWidth = minWidth;\n moveToNotSpread(column);\n finishedResizing = false;\n }\n else if (exists(maxWidth) && newWidth > maxWidth) {\n newWidth = maxWidth;\n moveToNotSpread(column);\n finishedResizing = false;\n }\n else if (i === 0) { // if this is the last column\n newWidth = pixelsForLastCol;\n }\n column.setActualWidth(newWidth, source, true);\n pixelsForLastCol -= newWidth;\n }\n }\n }\n // see notes above\n colsToFireEventFor.forEach(function (col) {\n col.fireColumnWidthChangedEvent(source);\n });\n this.setLeftValues(source);\n this.updateBodyWidths();\n if (silent) {\n return;\n }\n this.fireColumnResizedEvent(colsToFireEventFor, true, source);\n };\n ColumnModel.prototype.buildDisplayedTrees = function (visibleColumns) {\n var leftVisibleColumns = [];\n var rightVisibleColumns = [];\n var centerVisibleColumns = [];\n visibleColumns.forEach(function (column) {\n switch (column.getPinned()) {\n case \"left\":\n leftVisibleColumns.push(column);\n break;\n case \"right\":\n rightVisibleColumns.push(column);\n break;\n default:\n centerVisibleColumns.push(column);\n break;\n }\n });\n var groupInstanceIdCreator = new GroupInstanceIdCreator();\n this.displayedTreeLeft = this.displayedGroupCreator.createDisplayedGroups(leftVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, Constants.PINNED_LEFT, this.displayedTreeLeft);\n this.displayedTreeRight = this.displayedGroupCreator.createDisplayedGroups(rightVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, Constants.PINNED_RIGHT, this.displayedTreeRight);\n this.displayedTreeCentre = this.displayedGroupCreator.createDisplayedGroups(centerVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, null, this.displayedTreeCentre);\n this.updateDisplayedMap();\n };\n ColumnModel.prototype.updateDisplayedMap = function () {\n var _this = this;\n this.displayedColumnsAndGroupsMap = {};\n var func = function (child) {\n _this.displayedColumnsAndGroupsMap[child.getUniqueId()] = child;\n };\n this.columnUtils.depthFirstAllColumnTreeSearch(this.displayedTreeCentre, func);\n this.columnUtils.depthFirstAllColumnTreeSearch(this.displayedTreeLeft, func);\n this.columnUtils.depthFirstAllColumnTreeSearch(this.displayedTreeRight, func);\n };\n ColumnModel.prototype.isDisplayed = function (item) {\n var fromMap = this.displayedColumnsAndGroupsMap[item.getUniqueId()];\n // check for reference, in case new column / group with same id is now present\n return fromMap === item;\n };\n ColumnModel.prototype.updateOpenClosedVisibilityInColumnGroups = function () {\n var allColumnGroups = this.getAllDisplayedTrees();\n this.columnUtils.depthFirstAllColumnTreeSearch(allColumnGroups, function (child) {\n if (child instanceof ColumnGroup) {\n var columnGroup = child;\n columnGroup.calculateDisplayedColumns();\n }\n });\n };\n ColumnModel.prototype.getGroupAutoColumns = function () {\n return this.groupAutoColumns;\n };\n /**\n * Creates new auto group columns if required\n * @returns whether auto cols have changed\n */\n ColumnModel.prototype.createGroupAutoColumnsIfNeeded = function () {\n if (!this.autoGroupsNeedBuilding) {\n return false;\n }\n this.autoGroupsNeedBuilding = false;\n var groupFullWidthRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.pivotMode);\n // we need to allow suppressing auto-column separately for group and pivot as the normal situation\n // is CSRM and user provides group column themselves for normal view, but when they go into pivot the\n // columns are generated by the grid so no opportunity for user to provide group column. so need a way\n // to suppress auto-col for grouping only, and not pivot.\n // however if using Viewport RM or SSRM and user is providing the columns, the user may wish full control\n // of the group column in this instance.\n var suppressAutoColumn = this.pivotMode ?\n this.gridOptionsWrapper.isPivotSuppressAutoColumn() : this.gridOptionsWrapper.isGroupSuppressAutoColumn();\n var groupingActive = this.rowGroupColumns.length > 0 || this.usingTreeData;\n var needAutoColumns = groupingActive && !suppressAutoColumn && !groupFullWidthRow;\n if (needAutoColumns) {\n var existingCols = this.groupAutoColumns || [];\n var newAutoGroupCols = this.autoGroupColService.createAutoGroupColumns(existingCols, this.rowGroupColumns);\n var autoColsDifferent = !this.autoColsEqual(newAutoGroupCols, this.groupAutoColumns);\n // we force recreate when suppressColumnStateEvents changes, so new group cols pick up the new\n // definitions. otherwise we could ignore the new cols because they appear to be the same.\n if (autoColsDifferent || this.forceRecreateAutoGroups) {\n this.groupAutoColumns = newAutoGroupCols;\n return true;\n }\n }\n else {\n this.groupAutoColumns = null;\n }\n return false;\n };\n ColumnModel.prototype.autoColsEqual = function (colsA, colsB) {\n return areEqual(colsA, colsB, function (a, b) { return a.getColId() === b.getColId(); });\n };\n ColumnModel.prototype.getWidthOfColsInList = function (columnList) {\n return columnList.reduce(function (width, col) { return width + col.getActualWidth(); }, 0);\n };\n ColumnModel.prototype.getGridBalancedTree = function () {\n return this.gridBalancedTree;\n };\n ColumnModel.prototype.hasFloatingFilters = function () {\n if (!this.gridColumns) {\n return false;\n }\n var res = this.gridColumns.some(function (col) { return col.getColDef().floatingFilter; });\n return res;\n };\n ColumnModel.prototype.getFirstDisplayedColumn = function () {\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var queryOrder = [\n 'getDisplayedLeftColumns',\n 'getDisplayedCenterColumns',\n 'getDisplayedRightColumns'\n ];\n if (isRtl) {\n queryOrder.reverse();\n }\n for (var i = 0; i < queryOrder.length; i++) {\n var container = this[queryOrder[i]]();\n if (container.length) {\n return isRtl ? last(container) : container[0];\n }\n }\n return null;\n };\n ColumnModel.prototype.setColumnHeaderHeight = function (col, height) {\n var changed = col.setAutoHeaderHeight(height);\n if (changed) {\n var event_5 = {\n type: Events.EVENT_COLUMN_HEADER_HEIGHT_CHANGED,\n column: col,\n columns: [col],\n source: 'autosizeColumnHeaderHeight',\n };\n this.eventService.dispatchEvent(event_5);\n }\n };\n ColumnModel.prototype.getColumnGroupHeaderRowHeight = function () {\n if (this.isPivotMode()) {\n return this.gridOptionsWrapper.getPivotGroupHeaderHeight();\n }\n else {\n return this.gridOptionsWrapper.getGroupHeaderHeight();\n }\n };\n ColumnModel.prototype.getColumnHeaderRowHeight = function () {\n var defaultHeight = (this.isPivotMode() ?\n this.gridOptionsWrapper.getPivotHeaderHeight() :\n this.gridOptionsWrapper.getHeaderHeight());\n var displayedHeights = this.getAllDisplayedColumns()\n .filter(function (col) { return col.isAutoHeaderHeight(); })\n .map(function (col) { return col.getAutoHeaderHeight() || 0; });\n return Math.max.apply(Math, __spread$f([defaultHeight], displayedHeights));\n };\n __decorate$2u([\n Autowired('expressionService')\n ], ColumnModel.prototype, \"expressionService\", void 0);\n __decorate$2u([\n Autowired('columnFactory')\n ], ColumnModel.prototype, \"columnFactory\", void 0);\n __decorate$2u([\n Autowired('displayedGroupCreator')\n ], ColumnModel.prototype, \"displayedGroupCreator\", void 0);\n __decorate$2u([\n Autowired('ctrlsService')\n ], ColumnModel.prototype, \"ctrlsService\", void 0);\n __decorate$2u([\n Autowired('autoWidthCalculator')\n ], ColumnModel.prototype, \"autoWidthCalculator\", void 0);\n __decorate$2u([\n Autowired('columnUtils')\n ], ColumnModel.prototype, \"columnUtils\", void 0);\n __decorate$2u([\n Autowired('columnAnimationService')\n ], ColumnModel.prototype, \"columnAnimationService\", void 0);\n __decorate$2u([\n Autowired('autoGroupColService')\n ], ColumnModel.prototype, \"autoGroupColService\", void 0);\n __decorate$2u([\n Optional('aggFuncService')\n ], ColumnModel.prototype, \"aggFuncService\", void 0);\n __decorate$2u([\n Optional('valueCache')\n ], ColumnModel.prototype, \"valueCache\", void 0);\n __decorate$2u([\n Optional('animationFrameService')\n ], ColumnModel.prototype, \"animationFrameService\", void 0);\n __decorate$2u([\n Autowired('rowModel')\n ], ColumnModel.prototype, \"rowModel\", void 0);\n __decorate$2u([\n Autowired('sortController')\n ], ColumnModel.prototype, \"sortController\", void 0);\n __decorate$2u([\n Autowired('columnDefFactory')\n ], ColumnModel.prototype, \"columnDefFactory\", void 0);\n __decorate$2u([\n PostConstruct\n ], ColumnModel.prototype, \"init\", null);\n __decorate$2u([\n __param$7(0, Qualifier('loggerFactory'))\n ], ColumnModel.prototype, \"setBeans\", null);\n ColumnModel = __decorate$2u([\n Bean('columnModel')\n ], ColumnModel);\n return ColumnModel;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2S = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// takes in a list of columns, as specified by the column definitions, and returns column groups\nvar ColumnUtils = /** @class */ (function (_super) {\n __extends$2S(ColumnUtils, _super);\n function ColumnUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnUtils.prototype.calculateColMinWidth = function (colDef) {\n return colDef.minWidth != null ? colDef.minWidth : this.gridOptionsWrapper.getMinColWidth();\n };\n ColumnUtils.prototype.calculateColMaxWidth = function (colDef) {\n return colDef.maxWidth != null ? colDef.maxWidth : (this.gridOptionsWrapper.getMaxColWidth() || Number.MAX_SAFE_INTEGER);\n };\n ColumnUtils.prototype.calculateColInitialWidth = function (colDef) {\n var minColWidth = this.calculateColMinWidth(colDef);\n var maxColWidth = this.calculateColMaxWidth(colDef);\n var width;\n var colDefWidth = attrToNumber(colDef.width);\n var colDefInitialWidth = attrToNumber(colDef.initialWidth);\n if (colDefWidth != null) {\n width = colDefWidth;\n }\n else if (colDefInitialWidth != null) {\n width = colDefInitialWidth;\n }\n else {\n width = this.gridOptionsWrapper.getColWidth();\n }\n return Math.max(Math.min(width, maxColWidth), minColWidth);\n };\n ColumnUtils.prototype.getOriginalPathForColumn = function (column, originalBalancedTree) {\n var result = [];\n var found = false;\n var recursePath = function (balancedColumnTree, dept) {\n for (var i = 0; i < balancedColumnTree.length; i++) {\n if (found) {\n return;\n }\n // quit the search, so 'result' is kept with the found result\n var node = balancedColumnTree[i];\n if (node instanceof ProvidedColumnGroup) {\n var nextNode = node;\n recursePath(nextNode.getChildren(), dept + 1);\n result[dept] = node;\n }\n else if (node === column) {\n found = true;\n }\n }\n };\n recursePath(originalBalancedTree, 0);\n // we should always find the path, but in case there is a bug somewhere, returning null\n // will make it fail rather than provide a 'hard to track down' bug\n return found ? result : null;\n };\n ColumnUtils.prototype.depthFirstOriginalTreeSearch = function (parent, tree, callback) {\n var _this = this;\n if (!tree) {\n return;\n }\n tree.forEach(function (child) {\n if (child instanceof ProvidedColumnGroup) {\n _this.depthFirstOriginalTreeSearch(child, child.getChildren(), callback);\n }\n callback(child, parent);\n });\n };\n ColumnUtils.prototype.depthFirstAllColumnTreeSearch = function (tree, callback) {\n var _this = this;\n if (!tree) {\n return;\n }\n tree.forEach(function (child) {\n if (child instanceof ColumnGroup) {\n _this.depthFirstAllColumnTreeSearch(child.getChildren(), callback);\n }\n callback(child);\n });\n };\n ColumnUtils.prototype.depthFirstDisplayedColumnTreeSearch = function (tree, callback) {\n var _this = this;\n if (!tree) {\n return;\n }\n tree.forEach(function (child) {\n if (child instanceof ColumnGroup) {\n _this.depthFirstDisplayedColumnTreeSearch(child.getDisplayedChildren(), callback);\n }\n callback(child);\n });\n };\n ColumnUtils = __decorate$2t([\n Bean('columnUtils')\n ], ColumnUtils);\n return ColumnUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2R = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// takes in a list of columns, as specified by the column definitions, and returns column groups\nvar DisplayedGroupCreator = /** @class */ (function (_super) {\n __extends$2R(DisplayedGroupCreator, _super);\n function DisplayedGroupCreator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DisplayedGroupCreator.prototype.createDisplayedGroups = function (\n // all displayed columns sorted - this is the columns the grid should show\n sortedVisibleColumns, \n // the tree of columns, as provided by the users, used to know what groups columns roll up into\n balancedColumnTree, \n // creates unique id's for the group\n groupInstanceIdCreator, \n // whether it's left, right or center col\n pinned, \n // we try to reuse old groups if we can, to allow gui to do animation\n oldDisplayedGroups) {\n var _this = this;\n var result = [];\n var previousRealPath;\n var previousOriginalPath;\n var oldColumnsMapped = this.mapOldGroupsById(oldDisplayedGroups);\n // go through each column, then do a bottom up comparison to the previous column, and start\n // to share groups if they converge at any point.\n sortedVisibleColumns.forEach(function (currentColumn) {\n var currentOriginalPath = _this.getOriginalPathForColumn(balancedColumnTree, currentColumn);\n var currentRealPath = [];\n var firstColumn = !previousOriginalPath;\n for (var i = 0; i < currentOriginalPath.length; i++) {\n if (firstColumn || currentOriginalPath[i] !== previousOriginalPath[i]) {\n // new group needed\n var newGroup = _this.createColumnGroup(currentOriginalPath[i], groupInstanceIdCreator, oldColumnsMapped, pinned);\n currentRealPath[i] = newGroup;\n // if top level, add to result, otherwise add to parent\n if (i == 0) {\n result.push(newGroup);\n }\n else {\n currentRealPath[i - 1].addChild(newGroup);\n }\n }\n else {\n // reuse old group\n currentRealPath[i] = previousRealPath[i];\n }\n }\n var noColumnGroups = currentRealPath.length === 0;\n if (noColumnGroups) {\n // if we are not grouping, then the result of the above is an empty\n // path (no groups), and we just add the column to the root list.\n result.push(currentColumn);\n }\n else {\n var leafGroup = last(currentRealPath);\n leafGroup.addChild(currentColumn);\n }\n previousRealPath = currentRealPath;\n previousOriginalPath = currentOriginalPath;\n });\n this.setupParentsIntoColumns(result, null);\n return result;\n };\n DisplayedGroupCreator.prototype.createColumnGroup = function (providedGroup, groupInstanceIdCreator, oldColumnsMapped, pinned) {\n var groupId = providedGroup.getGroupId();\n var instanceId = groupInstanceIdCreator.getInstanceIdForKey(groupId);\n var uniqueId = ColumnGroup.createUniqueId(groupId, instanceId);\n var columnGroup = oldColumnsMapped[uniqueId];\n // if the user is setting new colDefs, it is possible that the id's overlap, and we\n // would have a false match from above. so we double check we are talking about the\n // same original column group.\n if (columnGroup && columnGroup.getProvidedColumnGroup() !== providedGroup) {\n columnGroup = null;\n }\n if (exists(columnGroup)) {\n // clean out the old column group here, as we will be adding children into it again\n columnGroup.reset();\n }\n else {\n columnGroup = new ColumnGroup(providedGroup, groupId, instanceId, pinned);\n this.context.createBean(columnGroup);\n }\n return columnGroup;\n };\n // returns back a 2d map of ColumnGroup as follows: groupId -> instanceId -> ColumnGroup\n DisplayedGroupCreator.prototype.mapOldGroupsById = function (displayedGroups) {\n var result = {};\n var recursive = function (columnsOrGroups) {\n columnsOrGroups.forEach(function (columnOrGroup) {\n if (columnOrGroup instanceof ColumnGroup) {\n var columnGroup = columnOrGroup;\n result[columnOrGroup.getUniqueId()] = columnGroup;\n recursive(columnGroup.getChildren());\n }\n });\n };\n if (displayedGroups) {\n recursive(displayedGroups);\n }\n return result;\n };\n DisplayedGroupCreator.prototype.setupParentsIntoColumns = function (columnsOrGroups, parent) {\n var _this = this;\n columnsOrGroups.forEach(function (columnsOrGroup) {\n columnsOrGroup.setParent(parent);\n if (columnsOrGroup instanceof ColumnGroup) {\n var columnGroup = columnsOrGroup;\n _this.setupParentsIntoColumns(columnGroup.getChildren(), columnGroup);\n }\n });\n };\n DisplayedGroupCreator.prototype.getOriginalPathForColumn = function (balancedColumnTree, column) {\n var result = [];\n var found = false;\n var recursePath = function (columnTree, dept) {\n for (var i = 0; i < columnTree.length; i++) {\n // quit the search, so 'result' is kept with the found result\n if (found) {\n return;\n }\n var node = columnTree[i];\n if (node instanceof ProvidedColumnGroup) {\n recursePath(node.getChildren(), dept + 1);\n result[dept] = node;\n }\n else if (node === column) {\n found = true;\n }\n }\n };\n recursePath(balancedColumnTree, 0);\n // it's possible we didn't find a path. this happens if the column is generated\n // by the grid (auto-group), in that the definition didn't come from the client. in this case,\n // we create a fake original path.\n if (found) {\n return result;\n }\n console.warn('AG Grid: could not get path');\n return null;\n };\n DisplayedGroupCreator = __decorate$2s([\n Bean('displayedGroupCreator')\n ], DisplayedGroupCreator);\n return DisplayedGroupCreator;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2Q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgStackComponentsRegistry = /** @class */ (function (_super) {\n __extends$2Q(AgStackComponentsRegistry, _super);\n function AgStackComponentsRegistry() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.componentsMappedByName = {};\n return _this;\n }\n AgStackComponentsRegistry.prototype.setupComponents = function (components) {\n var _this = this;\n if (components) {\n components.forEach(function (componentMeta) { return _this.addComponent(componentMeta); });\n }\n };\n AgStackComponentsRegistry.prototype.addComponent = function (componentMeta) {\n // get name of the class as a string\n // let className = getNameOfClass(ComponentClass);\n // insert a dash after every capital letter\n // let classEscaped = className.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n var classEscaped = componentMeta.componentName.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n // put all to upper case\n var classUpperCase = classEscaped.toUpperCase();\n // finally store\n this.componentsMappedByName[classUpperCase] = componentMeta.componentClass;\n };\n AgStackComponentsRegistry.prototype.getComponentClass = function (htmlTag) {\n return this.componentsMappedByName[htmlTag];\n };\n AgStackComponentsRegistry = __decorate$2r([\n Bean('agStackComponentsRegistry')\n ], AgStackComponentsRegistry);\n return AgStackComponentsRegistry;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$k = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar Color = /** @class */ (function () {\n /**\n * Every color component should be in the [0, 1] range.\n * Some easing functions (such as elastic easing) can overshoot the target value by some amount.\n * So, when animating colors, if the source or target color components are already near\n * or at the edge of the allowed [0, 1] range, it is possible for the intermediate color\n * component value to end up outside of that range mid-animation. For this reason the constructor\n * performs range checking/constraining.\n * @param r Red component.\n * @param g Green component.\n * @param b Blue component.\n * @param a Alpha (opacity) component.\n */\n function Color(r, g, b, a) {\n if (a === void 0) { a = 1; }\n // NaN is treated as 0.\n this.r = Math.min(1, Math.max(0, r || 0));\n this.g = Math.min(1, Math.max(0, g || 0));\n this.b = Math.min(1, Math.max(0, b || 0));\n this.a = Math.min(1, Math.max(0, a || 0));\n }\n /**\n * The given string can be in one of the following formats:\n * - #rgb\n * - #rrggbb\n * - rgb(r, g, b)\n * - rgba(r, g, b, a)\n * - CSS color name such as 'white', 'orange', 'cyan', etc.\n * @param str\n */\n Color.fromString = function (str) {\n // hexadecimal notation\n if (str.indexOf('#') >= 0) { // there can be some leading whitespace\n return Color.fromHexString(str);\n }\n // color name\n var hex = Color.nameToHex[str];\n if (hex) {\n return Color.fromHexString(hex);\n }\n // rgb(a) notation\n if (str.indexOf('rgb') >= 0) {\n return Color.fromRgbaString(str);\n }\n throw new Error(\"Invalid color string: '\" + str + \"'\");\n };\n // See https://drafts.csswg.org/css-color/#hex-notation\n Color.parseHex = function (input) {\n input = input.replace(/ /g, '').slice(1);\n var parts;\n switch (input.length) {\n case 6:\n case 8:\n parts = [];\n for (var i = 0; i < input.length; i += 2) {\n parts.push(parseInt(\"\" + input[i] + input[i + 1], 16));\n }\n break;\n case 3:\n case 4:\n parts = input.split('').map(function (p) { return parseInt(p, 16); }).map(function (p) { return p + p * 16; });\n break;\n }\n if (parts.length >= 3) {\n if (parts.every(function (p) { return p >= 0; })) {\n if (parts.length === 3) {\n parts.push(255);\n }\n return parts;\n }\n }\n };\n Color.fromHexString = function (str) {\n var values = Color.parseHex(str);\n if (values) {\n var _a = __read$k(values, 4), r = _a[0], g = _a[1], b = _a[2], a = _a[3];\n return new Color(r / 255, g / 255, b / 255, a / 255);\n }\n throw new Error(\"Malformed hexadecimal color string: '\" + str + \"'\");\n };\n Color.stringToRgba = function (str) {\n // Find positions of opening and closing parentheses.\n var _a = __read$k([NaN, NaN], 2), po = _a[0], pc = _a[1];\n for (var i = 0; i < str.length; i++) {\n var c = str[i];\n if (!po && c === '(') {\n po = i;\n }\n else if (c === ')') {\n pc = i;\n break;\n }\n }\n var contents = po && pc && str.substring(po + 1, pc);\n if (!contents) {\n return;\n }\n var parts = contents.split(',');\n var rgba = [];\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n var value = parseFloat(part);\n if (isNaN(value)) {\n return;\n }\n if (part.indexOf('%') >= 0) { // percentage r, g, or b value\n value = Math.max(0, Math.min(100, value));\n value /= 100;\n }\n else {\n if (i === 3) { // alpha component\n value = Math.max(0, Math.min(1, value));\n }\n else { // absolute r, g, or b value\n value = Math.max(0, Math.min(255, value));\n value /= 255;\n }\n }\n rgba.push(value);\n }\n return rgba;\n };\n Color.fromRgbaString = function (str) {\n var rgba = Color.stringToRgba(str);\n if (rgba) {\n if (rgba.length === 3) {\n return new Color(rgba[0], rgba[1], rgba[2]);\n }\n else if (rgba.length === 4) {\n return new Color(rgba[0], rgba[1], rgba[2], rgba[3]);\n }\n }\n throw new Error(\"Malformed rgb/rgba color string: '\" + str + \"'\");\n };\n Color.fromArray = function (arr) {\n if (arr.length === 4) {\n return new Color(arr[0], arr[1], arr[2], arr[3]);\n }\n if (arr.length === 3) {\n return new Color(arr[0], arr[1], arr[2]);\n }\n throw new Error('The given array should contain 3 or 4 color components (numbers).');\n };\n Color.fromHSB = function (h, s, b, alpha) {\n if (alpha === void 0) { alpha = 1; }\n var rgb = Color.HSBtoRGB(h, s, b);\n return new Color(rgb[0], rgb[1], rgb[2], alpha);\n };\n Color.padHex = function (str) {\n // Can't use `padStart(2, '0')` here because of IE.\n return str.length === 1 ? '0' + str : str;\n };\n Color.prototype.toHexString = function () {\n var hex = '#'\n + Color.padHex(Math.round(this.r * 255).toString(16))\n + Color.padHex(Math.round(this.g * 255).toString(16))\n + Color.padHex(Math.round(this.b * 255).toString(16));\n if (this.a < 1) {\n hex += Color.padHex(Math.round(this.a * 255).toString(16));\n }\n return hex;\n };\n Color.prototype.toRgbaString = function (fractionDigits) {\n if (fractionDigits === void 0) { fractionDigits = 3; }\n var components = [\n Math.round(this.r * 255),\n Math.round(this.g * 255),\n Math.round(this.b * 255)\n ];\n var k = Math.pow(10, fractionDigits);\n if (this.a !== 1) {\n components.push(Math.round(this.a * k) / k);\n return \"rgba(\" + components.join(', ') + \")\";\n }\n return \"rgb(\" + components.join(', ') + \")\";\n };\n Color.prototype.toString = function () {\n if (this.a === 1) {\n return this.toHexString();\n }\n return this.toRgbaString();\n };\n Color.prototype.toHSB = function () {\n return Color.RGBtoHSB(this.r, this.g, this.b);\n };\n /**\n * Converts the given RGB triple to an array of HSB (HSV) components.\n * The hue component will be `NaN` for achromatic colors.\n */\n Color.RGBtoHSB = function (r, g, b) {\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var S = max !== 0 ? (max - min) / max : 0;\n var H = NaN;\n // min == max, means all components are the same\n // and the color is a shade of gray with no hue (H is NaN)\n if (min !== max) {\n var delta = max - min;\n var rc = (max - r) / delta;\n var gc = (max - g) / delta;\n var bc = (max - b) / delta;\n if (r === max) {\n H = bc - gc;\n }\n else if (g === max) {\n H = 2.0 + rc - bc;\n }\n else {\n H = 4.0 + gc - rc;\n }\n H /= 6.0;\n if (H < 0) {\n H = H + 1.0;\n }\n }\n return [H * 360, S, max];\n };\n /**\n * Converts the given HSB (HSV) triple to an array of RGB components.\n */\n Color.HSBtoRGB = function (H, S, B) {\n if (isNaN(H)) {\n H = 0;\n }\n H = (((H % 360) + 360) % 360) / 360; // normalize hue to [0, 360] interval, then scale to [0, 1]\n var r = 0;\n var g = 0;\n var b = 0;\n if (S === 0) {\n r = g = b = B;\n }\n else {\n var h = (H - Math.floor(H)) * 6;\n var f = h - Math.floor(h);\n var p = B * (1 - S);\n var q = B * (1 - S * f);\n var t = B * (1 - (S * (1 - f)));\n switch (h >> 0) { // discard the floating point part of the number\n case 0:\n r = B;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = B;\n b = p;\n break;\n case 2:\n r = p;\n g = B;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = B;\n break;\n case 4:\n r = t;\n g = p;\n b = B;\n break;\n case 5:\n r = B;\n g = p;\n b = q;\n break;\n }\n }\n return [r, g, b];\n };\n Color.prototype.derive = function (hueShift, saturationFactor, brightnessFactor, opacityFactor) {\n var hsb = Color.RGBtoHSB(this.r, this.g, this.b);\n var b = hsb[2];\n if (b == 0 && brightnessFactor > 1.0) {\n b = 0.05;\n }\n var h = (((hsb[0] + hueShift) % 360) + 360) % 360;\n var s = Math.max(Math.min(hsb[1] * saturationFactor, 1.0), 0.0);\n b = Math.max(Math.min(b * brightnessFactor, 1.0), 0.0);\n var a = Math.max(Math.min(this.a * opacityFactor, 1.0), 0.0);\n var rgba = Color.HSBtoRGB(h, s, b);\n rgba.push(a);\n return Color.fromArray(rgba);\n };\n Color.prototype.brighter = function () {\n return this.derive(0, 1.0, 1.0 / 0.7, 1.0);\n };\n Color.prototype.darker = function () {\n return this.derive(0, 1.0, 0.7, 1.0);\n };\n /**\n * CSS Color Module Level 4:\n * https://drafts.csswg.org/css-color/#named-colors\n */\n Color.nameToHex = Object.freeze({\n aliceblue: '#F0F8FF',\n antiquewhite: '#FAEBD7',\n aqua: '#00FFFF',\n aquamarine: '#7FFFD4',\n azure: '#F0FFFF',\n beige: '#F5F5DC',\n bisque: '#FFE4C4',\n black: '#000000',\n blanchedalmond: '#FFEBCD',\n blue: '#0000FF',\n blueviolet: '#8A2BE2',\n brown: '#A52A2A',\n burlywood: '#DEB887',\n cadetblue: '#5F9EA0',\n chartreuse: '#7FFF00',\n chocolate: '#D2691E',\n coral: '#FF7F50',\n cornflowerblue: '#6495ED',\n cornsilk: '#FFF8DC',\n crimson: '#DC143C',\n cyan: '#00FFFF',\n darkblue: '#00008B',\n darkcyan: '#008B8B',\n darkgoldenrod: '#B8860B',\n darkgray: '#A9A9A9',\n darkgreen: '#006400',\n darkgrey: '#A9A9A9',\n darkkhaki: '#BDB76B',\n darkmagenta: '#8B008B',\n darkolivegreen: '#556B2F',\n darkorange: '#FF8C00',\n darkorchid: '#9932CC',\n darkred: '#8B0000',\n darksalmon: '#E9967A',\n darkseagreen: '#8FBC8F',\n darkslateblue: '#483D8B',\n darkslategray: '#2F4F4F',\n darkslategrey: '#2F4F4F',\n darkturquoise: '#00CED1',\n darkviolet: '#9400D3',\n deeppink: '#FF1493',\n deepskyblue: '#00BFFF',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1E90FF',\n firebrick: '#B22222',\n floralwhite: '#FFFAF0',\n forestgreen: '#228B22',\n fuchsia: '#FF00FF',\n gainsboro: '#DCDCDC',\n ghostwhite: '#F8F8FF',\n gold: '#FFD700',\n goldenrod: '#DAA520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#ADFF2F',\n grey: '#808080',\n honeydew: '#F0FFF0',\n hotpink: '#FF69B4',\n indianred: '#CD5C5C',\n indigo: '#4B0082',\n ivory: '#FFFFF0',\n khaki: '#F0E68C',\n lavender: '#E6E6FA',\n lavenderblush: '#FFF0F5',\n lawngreen: '#7CFC00',\n lemonchiffon: '#FFFACD',\n lightblue: '#ADD8E6',\n lightcoral: '#F08080',\n lightcyan: '#E0FFFF',\n lightgoldenrodyellow: '#FAFAD2',\n lightgray: '#D3D3D3',\n lightgreen: '#90EE90',\n lightgrey: '#D3D3D3',\n lightpink: '#FFB6C1',\n lightsalmon: '#FFA07A',\n lightseagreen: '#20B2AA',\n lightskyblue: '#87CEFA',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#B0C4DE',\n lightyellow: '#FFFFE0',\n lime: '#00FF00',\n limegreen: '#32CD32',\n linen: '#FAF0E6',\n magenta: '#FF00FF',\n maroon: '#800000',\n mediumaquamarine: '#66CDAA',\n mediumblue: '#0000CD',\n mediumorchid: '#BA55D3',\n mediumpurple: '#9370DB',\n mediumseagreen: '#3CB371',\n mediumslateblue: '#7B68EE',\n mediumspringgreen: '#00FA9A',\n mediumturquoise: '#48D1CC',\n mediumvioletred: '#C71585',\n midnightblue: '#191970',\n mintcream: '#F5FFFA',\n mistyrose: '#FFE4E1',\n moccasin: '#FFE4B5',\n navajowhite: '#FFDEAD',\n navy: '#000080',\n oldlace: '#FDF5E6',\n olive: '#808000',\n olivedrab: '#6B8E23',\n orange: '#FFA500',\n orangered: '#FF4500',\n orchid: '#DA70D6',\n palegoldenrod: '#EEE8AA',\n palegreen: '#98FB98',\n paleturquoise: '#AFEEEE',\n palevioletred: '#DB7093',\n papayawhip: '#FFEFD5',\n peachpuff: '#FFDAB9',\n peru: '#CD853F',\n pink: '#FFC0CB',\n plum: '#DDA0DD',\n powderblue: '#B0E0E6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#FF0000',\n rosybrown: '#BC8F8F',\n royalblue: '#4169E1',\n saddlebrown: '#8B4513',\n salmon: '#FA8072',\n sandybrown: '#F4A460',\n seagreen: '#2E8B57',\n seashell: '#FFF5EE',\n sienna: '#A0522D',\n silver: '#C0C0C0',\n skyblue: '#87CEEB',\n slateblue: '#6A5ACD',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#FFFAFA',\n springgreen: '#00FF7F',\n steelblue: '#4682B4',\n tan: '#D2B48C',\n teal: '#008080',\n thistle: '#D8BFD8',\n tomato: '#FF6347',\n turquoise: '#40E0D0',\n violet: '#EE82EE',\n wheat: '#F5DEB3',\n white: '#FFFFFF',\n whitesmoke: '#F5F5F5',\n yellow: '#FFFF00',\n yellowgreen: '#9ACD32'\n });\n return Color;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// Based on https://stackoverflow.com/a/14991797\n// This will parse a delimited string into an array of arrays.\nfunction stringToArray(strData, delimiter) {\n if (delimiter === void 0) { delimiter = ','; }\n var data = [];\n var isNewline = function (char) { return char === '\\r' || char === '\\n'; };\n var insideQuotedField = false;\n if (strData === '') {\n return [['']];\n }\n var _loop_1 = function (row, column, position) {\n var previousChar = strData[position - 1];\n var currentChar = strData[position];\n var nextChar = strData[position + 1];\n var ensureDataExists = function () {\n if (!data[row]) {\n // create row if it doesn't exist\n data[row] = [];\n }\n if (!data[row][column]) {\n // create column if it doesn't exist\n data[row][column] = '';\n }\n };\n ensureDataExists();\n if (currentChar === '\"') {\n if (insideQuotedField) {\n if (nextChar === '\"') {\n // unescape double quote\n data[row][column] += '\"';\n position++;\n }\n else {\n // exit quoted field\n insideQuotedField = false;\n }\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n else if (previousChar === undefined || previousChar === delimiter || isNewline(previousChar)) {\n // enter quoted field\n insideQuotedField = true;\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n }\n if (!insideQuotedField) {\n if (currentChar === delimiter) {\n // move to next column\n column++;\n ensureDataExists();\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n else if (isNewline(currentChar)) {\n // move to next row\n column = 0;\n row++;\n ensureDataExists();\n if (currentChar === '\\r' && nextChar === '\\n') {\n // skip over second newline character if it exists\n position++;\n }\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n }\n // add current character to current column\n data[row][column] += currentChar;\n out_row_1 = row;\n out_column_1 = column;\n out_position_1 = position;\n };\n var out_row_1, out_column_1, out_position_1;\n // iterate over each character, keep track of current row and column (of the returned array)\n for (var row = 0, column = 0, position = 0; position < strData.length; position++) {\n _loop_1(row, column, position);\n row = out_row_1;\n column = out_column_1;\n position = out_position_1;\n }\n return data;\n}\n\nvar CsvUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n stringToArray: stringToArray\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar rtlNegativeScroll;\n/**\n * This method adds a class to an element and remove that class from all siblings.\n * Useful for toggling state.\n * @param {HTMLElement} element The element to receive the class\n * @param {string} elementClass The class to be assigned to the element\n * @param {boolean} otherElementClass The class to be assigned to siblings of the element, but not the element itself\n */\nfunction radioCssClass(element, elementClass, otherElementClass) {\n var parent = element.parentElement;\n var sibling = parent && parent.firstChild;\n while (sibling) {\n if (elementClass) {\n sibling.classList.toggle(elementClass, sibling === element);\n }\n if (otherElementClass) {\n sibling.classList.toggle(otherElementClass, sibling !== element);\n }\n sibling = sibling.nextSibling;\n }\n}\nfunction isFocusableFormField(element) {\n var matches = Element.prototype.matches || Element.prototype.msMatchesSelector;\n var isFocusable = matches.call(element, Constants.INPUT_SELECTOR);\n var isNotFocusable = matches.call(element, Constants.FOCUSABLE_EXCLUDE);\n var isElementVisible = isVisible(element);\n var focusable = isFocusable && !isNotFocusable && isElementVisible;\n return focusable;\n}\nfunction setDisplayed(element, displayed) {\n element.classList.toggle('ag-hidden', !displayed);\n}\nfunction setVisible(element, visible) {\n element.classList.toggle('ag-invisible', !visible);\n}\nfunction setDisabled(element, disabled) {\n var attributeName = 'disabled';\n var addOrRemoveDisabledAttribute = disabled ?\n function (e) { return e.setAttribute(attributeName, ''); } :\n function (e) { return e.removeAttribute(attributeName); };\n addOrRemoveDisabledAttribute(element);\n nodeListForEach(element.querySelectorAll('input'), function (input) { return addOrRemoveDisabledAttribute(input); });\n}\nfunction isElementChildOfClass(element, cls, maxNest) {\n var counter = 0;\n while (element) {\n if (element.classList.contains(cls)) {\n return true;\n }\n element = element.parentElement;\n if (typeof maxNest == 'number') {\n if (++counter > maxNest) {\n break;\n }\n }\n else if (element === maxNest) {\n break;\n }\n }\n return false;\n}\n// returns back sizes as doubles instead of strings. similar to\n// getBoundingClientRect, however getBoundingClientRect does not:\n// a) work with fractions (eg browser is zooming)\n// b) has CSS transitions applied (eg CSS scale, browser zoom), which we don't want, we want the un-transitioned values\nfunction getElementSize(el) {\n var _a = window.getComputedStyle(el), height = _a.height, width = _a.width, paddingTop = _a.paddingTop, paddingRight = _a.paddingRight, paddingBottom = _a.paddingBottom, paddingLeft = _a.paddingLeft, marginTop = _a.marginTop, marginRight = _a.marginRight, marginBottom = _a.marginBottom, marginLeft = _a.marginLeft, boxSizing = _a.boxSizing;\n return {\n height: parseFloat(height),\n width: parseFloat(width),\n paddingTop: parseFloat(paddingTop),\n paddingRight: parseFloat(paddingRight),\n paddingBottom: parseFloat(paddingBottom),\n paddingLeft: parseFloat(paddingLeft),\n marginTop: parseFloat(marginTop),\n marginRight: parseFloat(marginRight),\n marginBottom: parseFloat(marginBottom),\n marginLeft: parseFloat(marginLeft),\n boxSizing: boxSizing\n };\n}\nfunction getInnerHeight(el) {\n var size = getElementSize(el);\n if (size.boxSizing === 'border-box') {\n return size.height - size.paddingTop - size.paddingBottom;\n }\n return size.height;\n}\nfunction getInnerWidth(el) {\n var size = getElementSize(el);\n if (size.boxSizing === 'border-box') {\n return size.width - size.paddingLeft - size.paddingRight;\n }\n return size.width;\n}\nfunction getAbsoluteHeight(el) {\n var size = getElementSize(el);\n var marginRight = size.marginBottom + size.marginTop;\n return Math.ceil(el.offsetHeight + marginRight);\n}\nfunction getAbsoluteWidth(el) {\n var size = getElementSize(el);\n var marginWidth = size.marginLeft + size.marginRight;\n return Math.ceil(el.offsetWidth + marginWidth);\n}\nfunction isRtlNegativeScroll() {\n if (typeof rtlNegativeScroll === \"boolean\") {\n return rtlNegativeScroll;\n }\n var template = document.createElement('div');\n template.style.direction = 'rtl';\n template.style.width = '1px';\n template.style.height = '1px';\n template.style.position = 'fixed';\n template.style.top = '0px';\n template.style.overflow = 'hidden';\n template.dir = 'rtl';\n template.innerHTML = /* html */\n \"
\\n \\n \\n
\";\n document.body.appendChild(template);\n template.scrollLeft = 1;\n rtlNegativeScroll = Math.floor(template.scrollLeft) === 0;\n document.body.removeChild(template);\n return rtlNegativeScroll;\n}\nfunction getScrollLeft(element, rtl) {\n var scrollLeft = element.scrollLeft;\n if (rtl) {\n // Absolute value - for FF that reports RTL scrolls in negative numbers\n scrollLeft = Math.abs(scrollLeft);\n if (isBrowserChrome() && !isRtlNegativeScroll()) {\n scrollLeft = element.scrollWidth - element.clientWidth - scrollLeft;\n }\n }\n return scrollLeft;\n}\nfunction setScrollLeft(element, value, rtl) {\n if (rtl) {\n // Chrome and Safari when doing RTL have the END position of the scroll as zero, not the start\n if (isRtlNegativeScroll()) {\n value *= -1;\n }\n else if (isBrowserSafari() || isBrowserChrome()) {\n value = element.scrollWidth - element.clientWidth - value;\n }\n }\n element.scrollLeft = value;\n}\nfunction clearElement(el) {\n while (el && el.firstChild) {\n el.removeChild(el.firstChild);\n }\n}\n/** @deprecated */\nfunction removeElement(parent, cssSelector) {\n removeFromParent(parent.querySelector(cssSelector));\n}\nfunction removeFromParent(node) {\n if (node && node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\nfunction isVisible(element) {\n return element.offsetParent !== null;\n}\n/**\n * Loads the template and returns it as an element. makes up for no simple way in\n * the dom api to load html directly, eg we cannot do this: document.createElement(template)\n * @param {string} template\n * @returns {HTMLElement}\n */\nfunction loadTemplate(template) {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = (template || '').trim();\n return tempDiv.firstChild;\n}\nfunction appendHtml(eContainer, htmlTemplate) {\n if (eContainer.lastChild) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML\n // we put the items at the start, so new items appear underneath old items,\n // so when expanding/collapsing groups, the new rows don't go on top of the\n // rows below that are moving our of the way\n eContainer.insertAdjacentHTML('afterbegin', htmlTemplate);\n }\n else {\n eContainer.innerHTML = htmlTemplate;\n }\n}\n/** @deprecated */\nfunction getElementAttribute(element, attributeName) {\n if (element.attributes && element.attributes[attributeName]) {\n var attribute = element.attributes[attributeName];\n return attribute.value;\n }\n return null;\n}\nfunction offsetHeight(element) {\n return element && element.clientHeight ? element.clientHeight : 0;\n}\nfunction offsetWidth(element) {\n return element && element.clientWidth ? element.clientWidth : 0;\n}\nfunction ensureDomOrder(eContainer, eChild, eChildBefore) {\n // if already in right order, do nothing\n if (eChildBefore && eChildBefore.nextSibling === eChild) {\n return;\n }\n var focusedEl = document.activeElement;\n var eChildHasFocus = eChild.contains(focusedEl);\n if (eChildBefore) {\n if (eChildBefore.nextSibling) {\n // insert between the eRowBefore and the row after it\n eContainer.insertBefore(eChild, eChildBefore.nextSibling);\n }\n else {\n // if nextSibling is missing, means other row is at end, so just append new row at the end\n eContainer.appendChild(eChild);\n }\n }\n else {\n // otherwise put at start\n if (eContainer.firstChild && eContainer.firstChild !== eChild) {\n // insert it at the first location\n eContainer.insertAdjacentElement('afterbegin', eChild);\n }\n }\n if (eChildHasFocus && focusedEl && browserSupportsPreventScroll()) {\n focusedEl.focus({ preventScroll: true });\n }\n}\nfunction setDomChildOrder(eContainer, orderedChildren) {\n for (var i = 0; i < orderedChildren.length; i++) {\n var correctCellAtIndex = orderedChildren[i];\n var actualCellAtIndex = eContainer.children[i];\n if (actualCellAtIndex !== correctCellAtIndex) {\n eContainer.insertBefore(correctCellAtIndex, actualCellAtIndex);\n }\n }\n}\nfunction insertWithDomOrder(eContainer, eToInsert, eChildBefore) {\n if (eChildBefore) {\n // if previous element exists, just slot in after the previous element\n eChildBefore.insertAdjacentElement('afterend', eToInsert);\n }\n else {\n if (eContainer.firstChild) {\n // insert it at the first location\n eContainer.insertAdjacentElement('afterbegin', eToInsert);\n }\n else {\n // otherwise eContainer is empty, so just append it\n eContainer.appendChild(eToInsert);\n }\n }\n}\n/** @deprecated */\nfunction prependDC(parent, documentFragment) {\n if (exists(parent.firstChild)) {\n parent.insertBefore(documentFragment, parent.firstChild);\n }\n else {\n parent.appendChild(documentFragment);\n }\n}\nfunction addStylesToElement(eElement, styles) {\n if (!styles) {\n return;\n }\n Object.keys(styles).forEach(function (key) {\n var keyCamelCase = hyphenToCamelCase(key);\n if (keyCamelCase) {\n eElement.style[keyCamelCase] = styles[key];\n }\n });\n}\nfunction isHorizontalScrollShowing(element) {\n return element.clientWidth < element.scrollWidth;\n}\nfunction isVerticalScrollShowing(element) {\n return element.clientHeight < element.scrollHeight;\n}\nfunction setElementWidth(element, width) {\n if (width === 'flex') {\n element.style.removeProperty('width');\n element.style.removeProperty('minWidth');\n element.style.removeProperty('maxWidth');\n element.style.flex = '1 1 auto';\n }\n else {\n setFixedWidth(element, width);\n }\n}\nfunction setFixedWidth(element, width) {\n width = formatSize(width);\n element.style.width = width.toString();\n element.style.maxWidth = width.toString();\n element.style.minWidth = width.toString();\n}\nfunction setElementHeight(element, height) {\n if (height === 'flex') {\n element.style.removeProperty('height');\n element.style.removeProperty('minHeight');\n element.style.removeProperty('maxHeight');\n element.style.flex = '1 1 auto';\n }\n else {\n setFixedHeight(element, height);\n }\n}\nfunction setFixedHeight(element, height) {\n height = formatSize(height);\n element.style.height = height.toString();\n element.style.maxHeight = height.toString();\n element.style.minHeight = height.toString();\n}\nfunction formatSize(size) {\n if (typeof size === 'number') {\n return size + \"px\";\n }\n return size;\n}\n/**\n * Returns true if it is a DOM node\n * taken from: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object\n * @param {any} o\n * @return {boolean}\n */\nfunction isNode(o) {\n return (typeof Node === 'function'\n ? o instanceof Node\n : o && typeof o === 'object' && typeof o.nodeType === 'number' && typeof o.nodeName === 'string');\n}\n//\n/**\n * Returns true if it is a DOM element\n * taken from: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object\n * @param {any} o\n * @returns {boolean}\n */\nfunction isElement(o) {\n return (typeof HTMLElement === 'function'\n ? o instanceof HTMLElement //DOM2\n : o && isNonNullObject(o) && o.nodeType === 1 && typeof o.nodeName === 'string');\n}\nfunction isNodeOrElement(o) {\n return isNode(o) || isElement(o);\n}\n/**\n * Makes a copy of a node list into a list\n * @param {NodeList} nodeList\n * @returns {Node[]}\n */\nfunction copyNodeList(nodeList) {\n if (nodeList == null) {\n return [];\n }\n var result = [];\n nodeListForEach(nodeList, function (node) { return result.push(node); });\n return result;\n}\nfunction iterateNamedNodeMap(map, callback) {\n if (!map) {\n return;\n }\n for (var i = 0; i < map.length; i++) {\n var attr = map[i];\n callback(attr.name, attr.value);\n }\n}\n/** @deprecated */\nfunction setCheckboxState(eCheckbox, state) {\n if (typeof state === 'boolean') {\n eCheckbox.checked = state;\n eCheckbox.indeterminate = false;\n }\n else {\n // isNodeSelected returns back undefined if it's a group and the children\n // are a mix of selected and unselected\n eCheckbox.indeterminate = true;\n }\n}\nfunction addOrRemoveAttribute(element, name, value) {\n if (value == null) {\n element.removeAttribute(name);\n }\n else {\n element.setAttribute(name, value.toString());\n }\n}\nfunction nodeListForEach(nodeList, action) {\n if (nodeList == null) {\n return;\n }\n for (var i = 0; i < nodeList.length; i++) {\n action(nodeList[i]);\n }\n}\n\nvar DomUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n radioCssClass: radioCssClass,\n isFocusableFormField: isFocusableFormField,\n setDisplayed: setDisplayed,\n setVisible: setVisible,\n setDisabled: setDisabled,\n isElementChildOfClass: isElementChildOfClass,\n getElementSize: getElementSize,\n getInnerHeight: getInnerHeight,\n getInnerWidth: getInnerWidth,\n getAbsoluteHeight: getAbsoluteHeight,\n getAbsoluteWidth: getAbsoluteWidth,\n isRtlNegativeScroll: isRtlNegativeScroll,\n getScrollLeft: getScrollLeft,\n setScrollLeft: setScrollLeft,\n clearElement: clearElement,\n removeElement: removeElement,\n removeFromParent: removeFromParent,\n isVisible: isVisible,\n loadTemplate: loadTemplate,\n appendHtml: appendHtml,\n getElementAttribute: getElementAttribute,\n offsetHeight: offsetHeight,\n offsetWidth: offsetWidth,\n ensureDomOrder: ensureDomOrder,\n setDomChildOrder: setDomChildOrder,\n insertWithDomOrder: insertWithDomOrder,\n prependDC: prependDC,\n addStylesToElement: addStylesToElement,\n isHorizontalScrollShowing: isHorizontalScrollShowing,\n isVerticalScrollShowing: isVerticalScrollShowing,\n setElementWidth: setElementWidth,\n setFixedWidth: setFixedWidth,\n setElementHeight: setElementHeight,\n setFixedHeight: setFixedHeight,\n formatSize: formatSize,\n isNode: isNode,\n isElement: isElement,\n isNodeOrElement: isNodeOrElement,\n copyNodeList: copyNodeList,\n iterateNamedNodeMap: iterateNamedNodeMap,\n setCheckboxState: setCheckboxState,\n addOrRemoveAttribute: addOrRemoveAttribute,\n nodeListForEach: nodeListForEach\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/** @deprecated */\nfunction getNameOfClass(theClass) {\n var funcNameRegex = /function (.{1,})\\(/;\n var funcAsString = theClass.toString();\n var results = funcNameRegex.exec(funcAsString);\n return results && results.length > 1 ? results[1] : \"\";\n}\nfunction findLineByLeastSquares(values) {\n var len = values.length;\n var maxDecimals = 0;\n if (len <= 1) {\n return values;\n }\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n var splitExponent = value.toString().split('e-');\n if (splitExponent.length > 1) {\n maxDecimals = Math.max(maxDecimals, parseInt(splitExponent[1], 10));\n continue;\n }\n if (Math.floor(value) === value) {\n continue;\n }\n maxDecimals = Math.max(maxDecimals, value.toString().split('.')[1].length);\n }\n var sum_x = 0;\n var sum_y = 0;\n var sum_xy = 0;\n var sum_xx = 0;\n var y = 0;\n for (var x = 0; x < len; x++) {\n y = values[x];\n sum_x += x;\n sum_y += y;\n sum_xx += x * x;\n sum_xy += x * y;\n }\n var m = (len * sum_xy - sum_x * sum_y) / (len * sum_xx - sum_x * sum_x);\n var b = (sum_y / len) - (m * sum_x) / len;\n var result = [];\n for (var x = 0; x <= len; x++) {\n result.push(parseFloat((x * m + b).toFixed(maxDecimals)));\n }\n return result;\n}\n/**\n * Converts a CSS object into string\n * @param {Object} stylesToUse an object eg: {color: 'black', top: '25px'}\n * @return {string} A string like \"color: black; top: 25px;\" for html\n */\nfunction cssStyleObjectToMarkup(stylesToUse) {\n if (!stylesToUse) {\n return '';\n }\n var resParts = [];\n iterateObject(stylesToUse, function (styleKey, styleValue) {\n var styleKeyDashed = camelCaseToHyphen(styleKey);\n resParts.push(styleKeyDashed + \": \" + styleValue + \";\");\n });\n return resParts.join(' ');\n}\n/**\n * Displays a message to the browser. this is useful in iPad, where you can't easily see the console.\n * so the javascript code can use this to give feedback. this is NOT intended to be called in production.\n * it is intended the AG Grid developer calls this to troubleshoot, but then takes out the calls before\n * checking in.\n * @param {string} msg\n */\nfunction message(msg) {\n var eMessage = document.createElement('div');\n var eBox = document.querySelector('#__ag__message');\n eMessage.innerHTML = msg;\n if (!eBox) {\n var template = \"
\";\n eBox = loadTemplate(template);\n if (document.body) {\n document.body.appendChild(eBox);\n }\n }\n eBox.insertBefore(eMessage, eBox.children[0]);\n}\n/**\n * cell renderers are used in a few places. they bind to dom slightly differently to other cell renderes as they\n * can return back strings (instead of html elemnt) in the getGui() method. common code placed here to handle that.\n * @param {AgPromise} cellRendererPromise\n * @param {HTMLElement} eTarget\n */\nfunction bindCellRendererToHtmlElement(cellRendererPromise, eTarget) {\n cellRendererPromise.then(function (cellRenderer) {\n var gui = cellRenderer.getGui();\n if (gui != null) {\n if (typeof gui === 'object') {\n eTarget.appendChild(gui);\n }\n else {\n eTarget.innerHTML = gui;\n }\n }\n });\n}\n\nvar GeneralUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getNameOfClass: getNameOfClass,\n findLineByLeastSquares: findLineByLeastSquares,\n cssStyleObjectToMarkup: cssStyleObjectToMarkup,\n message: message,\n bindCellRendererToHtmlElement: bindCellRendererToHtmlElement\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// ARIA HELPER FUNCTIONS\nfunction setAriaAttribute(element, attribute, value) {\n element.setAttribute(ariaAttributeName(attribute), value.toString());\n}\nfunction removeAriaAttribute(element, attribute) {\n element.removeAttribute(ariaAttributeName(attribute));\n}\nfunction ariaAttributeName(attribute) {\n return \"aria-\" + attribute;\n}\nfunction setAriaRole(element, role) {\n if (role) {\n element.setAttribute('role', role);\n }\n else {\n element.removeAttribute('role');\n }\n}\nfunction getAriaSortState(column) {\n var sort;\n if (column.isSortAscending()) {\n sort = 'ascending';\n }\n else if (column.isSortDescending()) {\n sort = 'descending';\n }\n else {\n sort = 'none';\n }\n return sort;\n}\n// ARIA ATTRIBUTE GETTERS\nfunction getAriaLevel(element) {\n return parseInt(element.getAttribute('aria-level'), 10);\n}\nfunction getAriaPosInSet(element) {\n return parseInt(element.getAttribute('aria-posinset'), 10);\n}\nfunction getAriaDescribedBy(element) {\n return element.getAttribute('aria-describedby') || '';\n}\n// ARIA ATTRIBUTE SETTERS\nfunction setAriaLabel(element, label) {\n var key = 'label';\n if (label != null && label !== '') {\n setAriaAttribute(element, key, label);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaLabelledBy(element, labelledBy) {\n var key = 'labelledby';\n if (labelledBy) {\n setAriaAttribute(element, key, labelledBy);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaDescription(element, description) {\n var key = 'description';\n if (description) {\n setAriaAttribute(element, key, description);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaDescribedBy(element, describedby) {\n var key = 'describedby';\n if (describedby) {\n setAriaAttribute(element, key, describedby);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaLevel(element, level) {\n setAriaAttribute(element, 'level', level);\n}\nfunction setAriaDisabled(element, disabled) {\n setAriaAttribute(element, 'disabled', disabled);\n}\nfunction setAriaHidden(element, hidden) {\n if (hidden) {\n setAriaAttribute(element, 'hidden', true);\n }\n else {\n removeAriaAttribute(element, 'hidden');\n }\n}\nfunction setAriaExpanded(element, expanded) {\n setAriaAttribute(element, 'expanded', expanded);\n}\nfunction removeAriaExpanded(element) {\n removeAriaAttribute(element, 'expanded');\n}\nfunction setAriaSetSize(element, setsize) {\n setAriaAttribute(element, 'setsize', setsize);\n}\nfunction setAriaPosInSet(element, position) {\n setAriaAttribute(element, 'posinset', position);\n}\nfunction setAriaMultiSelectable(element, multiSelectable) {\n setAriaAttribute(element, 'multiselectable', multiSelectable);\n}\nfunction setAriaRowCount(element, rowCount) {\n setAriaAttribute(element, 'rowcount', rowCount);\n}\nfunction setAriaRowIndex(element, rowIndex) {\n setAriaAttribute(element, 'rowindex', rowIndex);\n}\nfunction setAriaColCount(element, colCount) {\n setAriaAttribute(element, 'colcount', colCount);\n}\nfunction setAriaColIndex(element, colIndex) {\n setAriaAttribute(element, 'colindex', colIndex);\n}\nfunction setAriaColSpan(element, colSpan) {\n setAriaAttribute(element, 'colspan', colSpan);\n}\nfunction setAriaSort(element, sort) {\n setAriaAttribute(element, 'sort', sort);\n}\nfunction removeAriaSort(element) {\n removeAriaAttribute(element, 'sort');\n}\nfunction setAriaSelected(element, selected) {\n var attributeName = 'selected';\n if (selected) {\n setAriaAttribute(element, attributeName, selected);\n }\n else {\n removeAriaAttribute(element, attributeName);\n }\n}\nfunction setAriaChecked(element, checked) {\n setAriaAttribute(element, 'checked', checked === undefined ? 'mixed' : checked);\n}\n\nvar AriaUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n setAriaRole: setAriaRole,\n getAriaSortState: getAriaSortState,\n getAriaLevel: getAriaLevel,\n getAriaPosInSet: getAriaPosInSet,\n getAriaDescribedBy: getAriaDescribedBy,\n setAriaLabel: setAriaLabel,\n setAriaLabelledBy: setAriaLabelledBy,\n setAriaDescription: setAriaDescription,\n setAriaDescribedBy: setAriaDescribedBy,\n setAriaLevel: setAriaLevel,\n setAriaDisabled: setAriaDisabled,\n setAriaHidden: setAriaHidden,\n setAriaExpanded: setAriaExpanded,\n removeAriaExpanded: removeAriaExpanded,\n setAriaSetSize: setAriaSetSize,\n setAriaPosInSet: setAriaPosInSet,\n setAriaMultiSelectable: setAriaMultiSelectable,\n setAriaRowCount: setAriaRowCount,\n setAriaRowIndex: setAriaRowIndex,\n setAriaColCount: setAriaColCount,\n setAriaColIndex: setAriaColIndex,\n setAriaColSpan: setAriaColSpan,\n setAriaSort: setAriaSort,\n removeAriaSort: removeAriaSort,\n setAriaSelected: setAriaSelected,\n setAriaChecked: setAriaChecked\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$j = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n/**\n * Serialises a Date to a string of format `yyyy-MM-dd HH:mm:ss`.\n * An alternative separator can be provided to be used instead of hyphens.\n * @param date The date to serialise\n * @param includeTime Whether to include the time in the serialised string\n * @param separator The separator to use between date parts\n */\nfunction serialiseDate(date, includeTime, separator) {\n if (includeTime === void 0) { includeTime = true; }\n if (separator === void 0) { separator = '-'; }\n if (!date) {\n return null;\n }\n var serialised = [date.getFullYear(), date.getMonth() + 1, date.getDate()].map(function (part) { return padStartWidthZeros(part, 2); }).join(separator);\n if (includeTime) {\n serialised += ' ' + [date.getHours(), date.getMinutes(), date.getSeconds()].map(function (part) { return padStartWidthZeros(part, 2); }).join(':');\n }\n return serialised;\n}\nvar calculateOrdinal = function (value) {\n if (value > 3 && value < 21) {\n return 'th';\n }\n var remainder = value % 10;\n switch (remainder) {\n case 1: return \"st\";\n case 2: return \"nd\";\n case 3: return \"rd\";\n }\n return 'th';\n};\n/**\n * Serialises a Date to a string of format the defined format, does not include time.\n * @param date The date to serialise\n * @param format The string to format the date to, defaults to YYYY-MM-DD\n */\nfunction dateToFormattedString(date, format) {\n if (format === void 0) { format = 'YYYY-MM-DD'; }\n var fullYear = padStartWidthZeros(date.getFullYear(), 4);\n var months = [\n 'January', 'February', 'March', 'April', 'May', 'June',\n 'July', 'August', 'September', 'October', 'November', 'December',\n ];\n var days = [\n 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday',\n ];\n var replace = {\n YYYY: function () { return fullYear.slice(fullYear.length - 4, fullYear.length); },\n YY: function () { return fullYear.slice(fullYear.length - 2, fullYear.length); },\n Y: function () { return \"\" + date.getFullYear(); },\n MMMM: function () { return months[date.getMonth()]; },\n MMM: function () { return months[date.getMonth()].slice(0, 3); },\n MM: function () { return padStartWidthZeros(date.getMonth() + 1, 2); },\n Mo: function () { return \"\" + (date.getMonth() + 1) + calculateOrdinal(date.getMonth() + 1); },\n M: function () { return \"\" + (date.getMonth() + 1); },\n Do: function () { return \"\" + date.getDate() + calculateOrdinal(date.getDate()); },\n DD: function () { return padStartWidthZeros(date.getDate(), 2); },\n D: function () { return \"\" + date.getDate(); },\n dddd: function () { return days[date.getDay()]; },\n ddd: function () { return days[date.getDay()].slice(0, 3); },\n dd: function () { return days[date.getDay()].slice(0, 2); },\n do: function () { return \"\" + date.getDay() + calculateOrdinal(date.getDay()); },\n d: function () { return \"\" + date.getDay(); },\n };\n var regexp = new RegExp(Object.keys(replace).join('|'), 'g');\n return format.replace(regexp, function (match) {\n if (match in replace) {\n return replace[match]();\n }\n return match;\n });\n}\n/**\n * Parses a date and time from a string in the format `yyyy-MM-dd HH:mm:ss`\n */\nfunction parseDateTimeFromString(value) {\n if (!value) {\n return null;\n }\n var _a = __read$j(value.split(' '), 2), dateStr = _a[0], timeStr = _a[1];\n if (!dateStr) {\n return null;\n }\n var fields = dateStr.split('-').map(function (f) { return parseInt(f, 10); });\n if (fields.filter(function (f) { return !isNaN(f); }).length !== 3) {\n return null;\n }\n var _b = __read$j(fields, 3), year = _b[0], month = _b[1], day = _b[2];\n var date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day) {\n // date was not parsed as expected so must have been invalid\n return null;\n }\n if (!timeStr || timeStr === '00:00:00') {\n return date;\n }\n var _c = __read$j(timeStr.split(':').map(function (part) { return parseInt(part, 10); }), 3), hours = _c[0], minutes = _c[1], seconds = _c[2];\n if (hours >= 0 && hours < 24) {\n date.setHours(hours);\n }\n if (minutes >= 0 && minutes < 60) {\n date.setMinutes(minutes);\n }\n if (seconds >= 0 && seconds < 60) {\n date.setSeconds(seconds);\n }\n return date;\n}\n\nvar DateUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n serialiseDate: serialiseDate,\n dateToFormattedString: dateToFormattedString,\n parseDateTimeFromString: parseDateTimeFromString\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n//\n// IMPORTANT NOTE!\n//\n// If you change the list below, copy/paste the new content into the docs page javascript-grid-icons\n//\nvar iconNameClassMap = {\n // header column group shown when expanded (click to contract)\n columnGroupOpened: 'expanded',\n // header column group shown when contracted (click to expand)\n columnGroupClosed: 'contracted',\n // tool panel column group contracted (click to expand)\n columnSelectClosed: 'tree-closed',\n // tool panel column group expanded (click to contract)\n columnSelectOpen: 'tree-open',\n // column tool panel header expand/collapse all button, shown when some children are expanded and\n // others are collapsed\n columnSelectIndeterminate: 'tree-indeterminate',\n // shown on ghost icon while dragging column to the side of the grid to pin\n columnMovePin: 'pin',\n // shown on ghost icon while dragging over part of the page that is not a drop zone\n columnMoveHide: 'eye-slash',\n // shown on ghost icon while dragging columns to reorder\n columnMoveMove: 'arrows',\n // animating icon shown when dragging a column to the right of the grid causes horizontal scrolling\n columnMoveLeft: 'left',\n // animating icon shown when dragging a column to the left of the grid causes horizontal scrolling\n columnMoveRight: 'right',\n // shown on ghost icon while dragging over Row Groups drop zone\n columnMoveGroup: 'group',\n // shown on ghost icon while dragging over Values drop zone\n columnMoveValue: 'aggregation',\n // shown on ghost icon while dragging over pivot drop zone\n columnMovePivot: 'pivot',\n // shown on ghost icon while dragging over drop zone that doesn't support it, e.g.\n // string column over aggregation drop zone\n dropNotAllowed: 'not-allowed',\n // shown on row group when contracted (click to expand)\n groupContracted: 'tree-closed',\n // shown on row group when expanded (click to contract)\n groupExpanded: 'tree-open',\n // context menu chart item\n chart: 'chart',\n // chart window title bar\n close: 'cross',\n // X (remove) on column 'pill' after adding it to a drop zone list\n cancel: 'cancel',\n // indicates the currently active pin state in the \"Pin column\" sub-menu of the column menu\n check: 'tick',\n // \"go to first\" button in pagination controls\n first: 'first',\n // \"go to previous\" button in pagination controls\n previous: 'previous',\n // \"go to next\" button in pagination controls\n next: 'next',\n // \"go to last\" button in pagination controls\n last: 'last',\n // shown on top right of chart when chart is linked to range data (click to unlink)\n linked: 'linked',\n // shown on top right of chart when chart is not linked to range data (click to link)\n unlinked: 'unlinked',\n // \"Choose colour\" button on chart settings tab\n colorPicker: 'color-picker',\n // rotating spinner shown by the loading cell renderer\n groupLoading: 'loading',\n // button to launch enterprise column menu\n menu: 'menu',\n // filter tool panel tab\n filter: 'filter',\n // column tool panel tab\n columns: 'columns',\n // button in chart regular size window title bar (click to maximise)\n maximize: 'maximize',\n // button in chart maximised window title bar (click to make regular size)\n minimize: 'minimize',\n // \"Pin column\" item in column header menu\n menuPin: 'pin',\n // \"Value aggregation\" column menu item (shown on numeric columns when grouping is active)\"\n menuValue: 'aggregation',\n // \"Group by {column-name}\" item in column header menu\n menuAddRowGroup: 'group',\n // \"Un-Group by {column-name}\" item in column header menu\n menuRemoveRowGroup: 'group',\n // context menu copy item\n clipboardCopy: 'copy',\n // context menu paste item\n clipboardPaste: 'paste',\n // identifies the pivot drop zone\n pivotPanel: 'pivot',\n // \"Row groups\" drop zone in column tool panel\n rowGroupPanel: 'group',\n // columns tool panel Values drop zone\n valuePanel: 'aggregation',\n // drag handle used to pick up draggable columns\n columnDrag: 'grip',\n // drag handle used to pick up draggable rows\n rowDrag: 'grip',\n // context menu export item\n save: 'save',\n // csv export\n csvExport: 'csv',\n // excel export,\n excelExport: 'excel',\n // icon on dropdown editors\n smallDown: 'small-down',\n // version of small-right used in RTL mode\n smallLeft: 'small-left',\n // separater between column 'pills' when you add multiple columns to the header drop zone\n smallRight: 'small-right',\n smallUp: 'small-up',\n // show on column header when column is sorted ascending\n sortAscending: 'asc',\n // show on column header when column is sorted descending\n sortDescending: 'desc',\n // show on column header when column has no sort, only when enabled with gridOptions.unSortIcon=true\n sortUnSort: 'none'\n};\n/**\n * If icon provided, use this (either a string, or a function callback).\n * if not, then use the default icon from the theme\n * @param {string} iconName\n * @param {GridOptionsWrapper} gridOptionsWrapper\n * @param {Column | null} [column]\n * @returns {HTMLElement}\n */\nfunction createIcon(iconName, gridOptionsWrapper, column) {\n var iconContents = createIconNoSpan(iconName, gridOptionsWrapper, column);\n if (iconContents && iconContents.className.indexOf('ag-icon') > -1) {\n return iconContents;\n }\n var eResult = document.createElement('span');\n eResult.appendChild(iconContents);\n return eResult;\n}\nfunction createIconNoSpan(iconName, gridOptionsWrapper, column, forceCreate) {\n var userProvidedIcon = null;\n // check col for icon first\n var icons = column && column.getColDef().icons;\n if (icons) {\n userProvidedIcon = icons[iconName];\n }\n // if not in col, try grid options\n if (gridOptionsWrapper && !userProvidedIcon) {\n var optionsIcons = gridOptionsWrapper.getIcons();\n if (optionsIcons) {\n userProvidedIcon = optionsIcons[iconName];\n }\n }\n // now if user provided, use it\n if (userProvidedIcon) {\n var rendererResult = void 0;\n if (typeof userProvidedIcon === 'function') {\n rendererResult = userProvidedIcon();\n }\n else if (typeof userProvidedIcon === 'string') {\n rendererResult = userProvidedIcon;\n }\n else {\n throw new Error('icon from grid options needs to be a string or a function');\n }\n if (typeof rendererResult === 'string') {\n return loadTemplate(rendererResult);\n }\n if (isNodeOrElement(rendererResult)) {\n return rendererResult;\n }\n console.warn('AG Grid: iconRenderer should return back a string or a dom object');\n }\n else {\n var span = document.createElement('span');\n var cssClass = iconNameClassMap[iconName];\n if (!cssClass) {\n if (!forceCreate) {\n console.warn(\"AG Grid: Did not find icon \" + iconName);\n cssClass = '';\n }\n else {\n cssClass = iconName;\n }\n }\n span.setAttribute('class', \"ag-icon ag-icon-\" + cssClass);\n span.setAttribute('unselectable', 'on');\n setAriaRole(span, 'presentation');\n return span;\n }\n}\n\nvar IconUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n iconNameClassMap: iconNameClassMap,\n createIcon: createIcon,\n createIconNoSpan: createIconNoSpan\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar KeyCode = /** @class */ (function () {\n function KeyCode() {\n }\n KeyCode.BACKSPACE = 'Backspace';\n KeyCode.TAB = 'Tab';\n KeyCode.ENTER = 'Enter';\n KeyCode.ESCAPE = 'Escape';\n KeyCode.SPACE = ' ';\n KeyCode.LEFT = 'ArrowLeft';\n KeyCode.UP = 'ArrowUp';\n KeyCode.RIGHT = 'ArrowRight';\n KeyCode.DOWN = 'ArrowDown';\n KeyCode.DELETE = 'Delete';\n KeyCode.F2 = 'F2';\n KeyCode.PAGE_UP = 'PageUp';\n KeyCode.PAGE_DOWN = 'PageDown';\n KeyCode.PAGE_HOME = 'Home';\n KeyCode.PAGE_END = 'End';\n // these should be used with `event.code` instead of `event.key`\n // as `event.key` changes when non-latin keyboards are used\n KeyCode.A = 'KeyA';\n KeyCode.C = 'KeyC';\n KeyCode.V = 'KeyV';\n KeyCode.D = 'KeyD';\n KeyCode.Z = 'KeyZ';\n KeyCode.Y = 'KeyY';\n return KeyCode;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar NUMPAD_DEL_NUMLOCK_ON_KEY = 'Del';\n// Using legacy values to match AZERTY keyboards\nvar NUMPAD_DEL_NUMLOCK_ON_KEYCODE = 46;\nvar A_KEYCODE = 65;\nvar C_KEYCODE = 67;\nvar V_KEYCODE = 86;\nvar D_KEYCODE = 68;\nvar Z_KEYCODE = 90;\nvar Y_KEYCODE = 89;\nfunction isEventFromPrintableCharacter(event) {\n // no allowed printable chars have alt or ctrl key combinations\n if (event.altKey || event.ctrlKey || event.metaKey) {\n return false;\n }\n // if key is length 1, eg if it is 'a' for the a key, or '2' for the '2' key.\n // non-printable characters have names, eg 'Enter' or 'Backspace'.\n var printableCharacter = event.key.length === 1;\n // IE11 & Edge treat the numpad del key differently - with numlock on we get \"Del\" for key,\n // so this addition checks if its IE11/Edge and handles that specific case the same was as all other browsers\n var numpadDelWithNumlockOnForEdgeOrIe = isNumpadDelWithNumLockOnForEdge(event);\n return printableCharacter || numpadDelWithNumlockOnForEdgeOrIe;\n}\n/**\n * Allows user to tell the grid to skip specific keyboard events\n * @param {GridOptionsWrapper} gridOptionsWrapper\n * @param {KeyboardEvent} keyboardEvent\n * @param {RowNode} rowNode\n * @param {Column} column\n * @param {boolean} editing\n * @returns {boolean}\n */\nfunction isUserSuppressingKeyboardEvent(gridOptionsWrapper, keyboardEvent, rowNode, column, editing) {\n var gridOptionsFunc = gridOptionsWrapper.getSuppressKeyboardEventFunc();\n var colDefFunc = column ? column.getColDef().suppressKeyboardEvent : undefined;\n // if no callbacks provided by user, then do nothing\n if (!gridOptionsFunc && !colDefFunc) {\n return false;\n }\n var params = {\n event: keyboardEvent,\n editing: editing,\n column: column,\n api: gridOptionsWrapper.getApi(),\n node: rowNode,\n data: rowNode.data,\n colDef: column.getColDef(),\n context: gridOptionsWrapper.getContext(),\n columnApi: gridOptionsWrapper.getColumnApi()\n };\n // colDef get first preference on suppressing events\n if (colDefFunc) {\n var colDefFuncResult = colDefFunc(params);\n // if colDef func suppressed, then return now, no need to call gridOption func\n if (colDefFuncResult) {\n return true;\n }\n }\n if (gridOptionsFunc) {\n // if gridOption func, return the result\n return gridOptionsFunc(params);\n }\n // otherwise return false, don't suppress, as colDef didn't suppress and no func on gridOptions\n return false;\n}\nfunction isUserSuppressingHeaderKeyboardEvent(gridOptionsWrapper, keyboardEvent, headerRowIndex, column) {\n var colDef = column.getDefinition();\n var colDefFunc = colDef && colDef.suppressHeaderKeyboardEvent;\n if (!exists(colDefFunc)) {\n return false;\n }\n var params = {\n api: gridOptionsWrapper.getApi(),\n columnApi: gridOptionsWrapper.getColumnApi(),\n context: gridOptionsWrapper.getContext(),\n colDef: colDef,\n column: column,\n headerRowIndex: headerRowIndex,\n event: keyboardEvent\n };\n return !!colDefFunc(params);\n}\nfunction isNumpadDelWithNumLockOnForEdge(event) {\n return (isBrowserEdge()) &&\n event.key === NUMPAD_DEL_NUMLOCK_ON_KEY &&\n event.charCode === NUMPAD_DEL_NUMLOCK_ON_KEYCODE;\n}\nfunction normaliseQwertyAzerty(keyboardEvent) {\n var keyCode = keyboardEvent.keyCode;\n var code;\n switch (keyCode) {\n case A_KEYCODE:\n code = KeyCode.A;\n break;\n case C_KEYCODE:\n code = KeyCode.C;\n break;\n case V_KEYCODE:\n code = KeyCode.V;\n break;\n case D_KEYCODE:\n code = KeyCode.D;\n break;\n case Z_KEYCODE:\n code = KeyCode.Z;\n break;\n case Y_KEYCODE:\n code = KeyCode.Y;\n break;\n default:\n code = keyboardEvent.code;\n }\n return code;\n}\nfunction isDeleteKey(key, alwaysReturnFalseOnBackspace) {\n if (alwaysReturnFalseOnBackspace === void 0) { alwaysReturnFalseOnBackspace = false; }\n if (key === KeyCode.DELETE) {\n return true;\n }\n if (!alwaysReturnFalseOnBackspace && key === KeyCode.BACKSPACE) {\n return isMacOsUserAgent();\n }\n return false;\n}\n\nvar KeyboardUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n isEventFromPrintableCharacter: isEventFromPrintableCharacter,\n isUserSuppressingKeyboardEvent: isUserSuppressingKeyboardEvent,\n isUserSuppressingHeaderKeyboardEvent: isUserSuppressingHeaderKeyboardEvent,\n normaliseQwertyAzerty: normaliseQwertyAzerty,\n isDeleteKey: isDeleteKey\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * `True` if the event is close to the original event by X pixels either vertically or horizontally.\n * we only start dragging after X pixels so this allows us to know if we should start dragging yet.\n * @param {MouseEvent | TouchEvent} e1\n * @param {MouseEvent | TouchEvent} e2\n * @param {number} pixelCount\n * @returns {boolean}\n */\nfunction areEventsNear(e1, e2, pixelCount) {\n // by default, we wait 4 pixels before starting the drag\n if (pixelCount === 0) {\n return false;\n }\n var diffX = Math.abs(e1.clientX - e2.clientX);\n var diffY = Math.abs(e1.clientY - e2.clientY);\n return Math.max(diffX, diffY) <= pixelCount;\n}\n\nvar MouseUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n areEventsNear: areEventsNear\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * Gets called by: a) ClientSideNodeManager and b) GroupStage to do sorting.\n * when in ClientSideNodeManager we always have indexes (as this sorts the items the\n * user provided) but when in GroupStage, the nodes can contain filler nodes that\n * don't have order id's\n * @param {RowNode[]} rowNodes\n * @param {Object} rowNodeOrder\n *\n * @returns a boolean representing whether nodes were reordered\n */\nfunction sortRowNodesByOrder(rowNodes, rowNodeOrder) {\n if (!rowNodes) {\n return false;\n }\n var comparator = function (nodeA, nodeB) {\n var positionA = rowNodeOrder[nodeA.id];\n var positionB = rowNodeOrder[nodeB.id];\n var aHasIndex = positionA !== undefined;\n var bHasIndex = positionB !== undefined;\n var bothNodesAreUserNodes = aHasIndex && bHasIndex;\n var bothNodesAreFillerNodes = !aHasIndex && !bHasIndex;\n if (bothNodesAreUserNodes) {\n // when comparing two nodes the user has provided, they always\n // have indexes\n return positionA - positionB;\n }\n if (bothNodesAreFillerNodes) {\n // when comparing two filler nodes, we have no index to compare them\n // against, however we want this sorting to be deterministic, so that\n // the rows don't jump around as the user does delta updates. so we\n // want the same sort result. so we use the __objectId - which doesn't make sense\n // from a sorting point of view, but does give consistent behaviour between\n // calls. otherwise groups jump around as delta updates are done.\n // note: previously here we used nodeId, however this gave a strange order\n // as string ordering of numbers is wrong, so using id based on creation order\n // as least gives better looking order.\n return nodeA.__objectId - nodeB.__objectId;\n }\n if (aHasIndex) {\n return 1;\n }\n return -1;\n };\n // check if the list first needs sorting\n var rowNodeA;\n var rowNodeB;\n var atLeastOneOutOfOrder = false;\n for (var i = 0; i < rowNodes.length - 1; i++) {\n rowNodeA = rowNodes[i];\n rowNodeB = rowNodes[i + 1];\n if (comparator(rowNodeA, rowNodeB) > 0) {\n atLeastOneOutOfOrder = true;\n break;\n }\n }\n if (atLeastOneOutOfOrder) {\n rowNodes.sort(comparator);\n return true;\n }\n return false;\n}\nfunction traverseNodesWithKey(nodes, callback) {\n var keyParts = [];\n recursiveSearchNodes(nodes);\n function recursiveSearchNodes(currentNodes) {\n if (!currentNodes) {\n return;\n }\n currentNodes.forEach(function (node) {\n // also checking for children for tree data\n if (node.group || node.hasChildren()) {\n keyParts.push(node.key);\n var key = keyParts.join('|');\n callback(node, key);\n recursiveSearchNodes(node.childrenAfterGroup);\n keyParts.pop();\n }\n });\n }\n}\n\nvar RowNodeUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n sortRowNodesByOrder: sortRowNodesByOrder,\n traverseNodesWithKey: traverseNodesWithKey\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction convertToSet(list) {\n var set = new Set();\n list.forEach(function (x) { return set.add(x); });\n return set;\n}\n\nvar SetUtils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n convertToSet: convertToSet\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$f = (undefined && undefined.__assign) || function () {\n __assign$f = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$f.apply(this, arguments);\n};\nvar utils = __assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f(__assign$f({}, GeneralUtils), AriaUtils), ArrayUtils), BrowserUtils), CsvUtils), DateUtils), DomUtils), EventUtils), FunctionUtils), FuzzyMatchUtils), GenericUtils), IconUtils), KeyboardUtils), MapUtils), MouseUtils), NumberUtils), ObjectUtils), RowNodeUtils), SetUtils), StringUtils);\nvar _ = utils;\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar NumberSequence = /** @class */ (function () {\n function NumberSequence(initValue, step) {\n if (initValue === void 0) { initValue = 0; }\n if (step === void 0) { step = 1; }\n this.nextValue = initValue;\n this.step = step;\n }\n NumberSequence.prototype.next = function () {\n var valToReturn = this.nextValue;\n this.nextValue += this.step;\n return valToReturn;\n };\n NumberSequence.prototype.peek = function () {\n return this.nextValue;\n };\n NumberSequence.prototype.skip = function (count) {\n this.nextValue += count;\n };\n return NumberSequence;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar AgPromiseStatus;\n(function (AgPromiseStatus) {\n AgPromiseStatus[AgPromiseStatus[\"IN_PROGRESS\"] = 0] = \"IN_PROGRESS\";\n AgPromiseStatus[AgPromiseStatus[\"RESOLVED\"] = 1] = \"RESOLVED\";\n})(AgPromiseStatus || (AgPromiseStatus = {}));\nvar AgPromise = /** @class */ (function () {\n function AgPromise(callback) {\n var _this = this;\n this.status = AgPromiseStatus.IN_PROGRESS;\n this.resolution = null;\n this.waiters = [];\n callback(function (value) { return _this.onDone(value); }, function (params) { return _this.onReject(params); });\n }\n AgPromise.all = function (promises) {\n return new AgPromise(function (resolve) {\n var remainingToResolve = promises.length;\n var combinedValues = new Array(remainingToResolve);\n promises.forEach(function (promise, index) {\n promise.then(function (value) {\n combinedValues[index] = value;\n remainingToResolve--;\n if (remainingToResolve === 0) {\n resolve(combinedValues);\n }\n });\n });\n });\n };\n AgPromise.resolve = function (value) {\n if (value === void 0) { value = null; }\n return new AgPromise(function (resolve) { return resolve(value); });\n };\n AgPromise.prototype.then = function (func) {\n var _this = this;\n return new AgPromise(function (resolve) {\n if (_this.status === AgPromiseStatus.RESOLVED) {\n resolve(func(_this.resolution));\n }\n else {\n _this.waiters.push(function (value) { return resolve(func(value)); });\n }\n });\n };\n AgPromise.prototype.resolveNow = function (ifNotResolvedValue, ifResolved) {\n return this.status === AgPromiseStatus.RESOLVED ? ifResolved(this.resolution) : ifNotResolvedValue;\n };\n AgPromise.prototype.onDone = function (value) {\n this.status = AgPromiseStatus.RESOLVED;\n this.resolution = value;\n this.waiters.forEach(function (waiter) { return waiter(value); });\n };\n AgPromise.prototype.onReject = function (params) {\n console.warn('TBI');\n };\n return AgPromise;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * A Util Class only used when debugging for printing time to console\n */\nvar Timer = /** @class */ (function () {\n function Timer() {\n this.timestamp = new Date().getTime();\n }\n Timer.prototype.print = function (msg) {\n var duration = (new Date().getTime()) - this.timestamp;\n console.info(msg + \" = \" + duration);\n this.timestamp = new Date().getTime();\n };\n return Timer;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2P = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$e = (undefined && undefined.__assign) || function () {\n __assign$e = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$e.apply(this, arguments);\n};\nvar __decorate$2q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TooltipStates;\n(function (TooltipStates) {\n TooltipStates[TooltipStates[\"NOTHING\"] = 0] = \"NOTHING\";\n TooltipStates[TooltipStates[\"WAITING_TO_SHOW\"] = 1] = \"WAITING_TO_SHOW\";\n TooltipStates[TooltipStates[\"SHOWING\"] = 2] = \"SHOWING\";\n})(TooltipStates || (TooltipStates = {}));\nvar CustomTooltipFeature = /** @class */ (function (_super) {\n __extends$2P(CustomTooltipFeature, _super);\n function CustomTooltipFeature(parentComp) {\n var _this = _super.call(this) || this;\n _this.DEFAULT_SHOW_TOOLTIP_DELAY = 2000;\n _this.DEFAULT_HIDE_TOOLTIP_DELAY = 10000;\n _this.SHOW_QUICK_TOOLTIP_DIFF = 1000;\n _this.FADE_OUT_TOOLTIP_TIMEOUT = 1000;\n _this.state = TooltipStates.NOTHING;\n // when showing the tooltip, we need to make sure it's the most recent instance we request, as due to\n // async we could request two tooltips before the first instance returns, in which case we should\n // disregard the second instance.\n _this.tooltipInstanceCount = 0;\n _this.tooltipMouseTrack = false;\n _this.parentComp = parentComp;\n return _this;\n }\n CustomTooltipFeature.prototype.postConstruct = function () {\n this.tooltipShowDelay = this.gridOptionsWrapper.getTooltipDelay('show') || this.DEFAULT_SHOW_TOOLTIP_DELAY;\n this.tooltipHideDelay = this.gridOptionsWrapper.getTooltipDelay('hide') || this.DEFAULT_HIDE_TOOLTIP_DELAY;\n this.tooltipMouseTrack = this.gridOptionsWrapper.isTooltipMouseTrack();\n var el = this.parentComp.getGui();\n this.addManagedListener(el, 'mouseenter', this.onMouseEnter.bind(this));\n this.addManagedListener(el, 'mouseleave', this.onMouseLeave.bind(this));\n this.addManagedListener(el, 'mousemove', this.onMouseMove.bind(this));\n this.addManagedListener(el, 'mousedown', this.onMouseDown.bind(this));\n this.addManagedListener(el, 'keydown', this.onKeyDown.bind(this));\n };\n CustomTooltipFeature.prototype.destroy = function () {\n // if this component gets destroyed while tooltip is showing, need to make sure\n // we don't end with no mouseLeave event resulting in zombie tooltip\n this.setToDoNothing();\n _super.prototype.destroy.call(this);\n };\n CustomTooltipFeature.prototype.onMouseEnter = function (e) {\n if (isIOSUserAgent()) {\n return;\n }\n // every mouseenter should be following by a mouseleave, however for some unkonwn, it's possible for\n // mouseenter to be called twice in a row, which can happen if editing the cell. this was reported\n // in https://ag-grid.atlassian.net/browse/AG-4422. to get around this, we check the state, and if\n // state is !=nothing, then we know mouseenter was already received.\n if (this.state != TooltipStates.NOTHING) {\n return;\n }\n // if another tooltip was hidden very recently, we only wait 200ms to show, not the normal waiting time\n var delay = this.isLastTooltipHiddenRecently() ? 200 : this.tooltipShowDelay;\n this.showTooltipTimeoutId = window.setTimeout(this.showTooltip.bind(this), delay);\n this.lastMouseEvent = e;\n this.state = TooltipStates.WAITING_TO_SHOW;\n };\n CustomTooltipFeature.prototype.onMouseLeave = function () {\n this.setToDoNothing();\n };\n CustomTooltipFeature.prototype.onKeyDown = function () {\n this.setToDoNothing();\n };\n CustomTooltipFeature.prototype.setToDoNothing = function () {\n if (this.state === TooltipStates.SHOWING) {\n this.hideTooltip();\n }\n this.clearTimeouts();\n this.state = TooltipStates.NOTHING;\n };\n CustomTooltipFeature.prototype.onMouseMove = function (e) {\n // there is a delay from the time we mouseOver a component and the time the\n // tooltip is displayed, so we need to track mousemove to be able to correctly\n // position the tooltip when showTooltip is called.\n this.lastMouseEvent = e;\n if (this.tooltipMouseTrack &&\n this.state === TooltipStates.SHOWING &&\n this.tooltipComp) {\n this.positionTooltipUnderLastMouseEvent();\n }\n };\n CustomTooltipFeature.prototype.onMouseDown = function () {\n this.setToDoNothing();\n };\n CustomTooltipFeature.prototype.hideTooltip = function () {\n // check if comp exists - due to async, although we asked for\n // one, the instance may not be back yet\n if (this.tooltipComp) {\n this.destroyTooltipComp();\n CustomTooltipFeature.lastTooltipHideTime = new Date().getTime();\n }\n this.state = TooltipStates.NOTHING;\n };\n CustomTooltipFeature.prototype.destroyTooltipComp = function () {\n var _this = this;\n // add class to fade out the tooltip\n this.tooltipComp.getGui().classList.add('ag-tooltip-hiding');\n // make local copies of these variables, as we use them in the async function below,\n // and we clear then to 'undefined' later, so need to take a copy before they are undefined.\n var tooltipPopupDestroyFunc = this.tooltipPopupDestroyFunc;\n var tooltipComp = this.tooltipComp;\n window.setTimeout(function () {\n tooltipPopupDestroyFunc();\n _this.getContext().destroyBean(tooltipComp);\n }, this.FADE_OUT_TOOLTIP_TIMEOUT);\n this.tooltipPopupDestroyFunc = undefined;\n this.tooltipComp = undefined;\n };\n CustomTooltipFeature.prototype.isLastTooltipHiddenRecently = function () {\n // return true if <1000ms since last time we hid a tooltip\n var now = new Date().getTime();\n var then = CustomTooltipFeature.lastTooltipHideTime;\n return (now - then) < this.SHOW_QUICK_TOOLTIP_DIFF;\n };\n CustomTooltipFeature.prototype.showTooltip = function () {\n var params = __assign$e({}, this.parentComp.getTooltipParams());\n if (!exists(params.value)) {\n this.setToDoNothing();\n return;\n }\n this.state = TooltipStates.SHOWING;\n this.tooltipInstanceCount++;\n // we pass in tooltipInstanceCount so the callback knows what the count was when\n // we requested the tooltip, so if another tooltip was requested in the mean time\n // we disregard it\n var callback = this.newTooltipComponentCallback.bind(this, this.tooltipInstanceCount);\n var userDetails = this.userComponentFactory.getTooltipCompDetails(params);\n userDetails.newAgStackInstance().then(callback);\n };\n CustomTooltipFeature.prototype.newTooltipComponentCallback = function (tooltipInstanceCopy, tooltipComp) {\n var compNoLongerNeeded = this.state !== TooltipStates.SHOWING || this.tooltipInstanceCount !== tooltipInstanceCopy;\n if (compNoLongerNeeded) {\n this.getContext().destroyBean(tooltipComp);\n return;\n }\n var eGui = tooltipComp.getGui();\n this.tooltipComp = tooltipComp;\n if (!eGui.classList.contains('ag-tooltip')) {\n eGui.classList.add('ag-tooltip-custom');\n }\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n eChild: eGui,\n ariaLabel: translate('ariaLabelTooltip', 'Tooltip')\n });\n if (addPopupRes) {\n this.tooltipPopupDestroyFunc = addPopupRes.hideFunc;\n }\n // this.tooltipPopupDestroyFunc = this.popupService.addPopup(false, eGui, false);\n this.positionTooltipUnderLastMouseEvent();\n this.hideTooltipTimeoutId = window.setTimeout(this.hideTooltip.bind(this), this.tooltipHideDelay);\n };\n CustomTooltipFeature.prototype.positionTooltipUnderLastMouseEvent = function () {\n this.popupService.positionPopupUnderMouseEvent({\n type: 'tooltip',\n mouseEvent: this.lastMouseEvent,\n ePopup: this.tooltipComp.getGui(),\n nudgeY: 18,\n skipObserver: this.tooltipMouseTrack\n });\n };\n CustomTooltipFeature.prototype.clearTimeouts = function () {\n if (this.showTooltipTimeoutId) {\n window.clearTimeout(this.showTooltipTimeoutId);\n this.showTooltipTimeoutId = undefined;\n }\n if (this.hideTooltipTimeoutId) {\n window.clearTimeout(this.hideTooltipTimeoutId);\n this.hideTooltipTimeoutId = undefined;\n }\n };\n __decorate$2q([\n Autowired('popupService')\n ], CustomTooltipFeature.prototype, \"popupService\", void 0);\n __decorate$2q([\n Autowired('userComponentFactory')\n ], CustomTooltipFeature.prototype, \"userComponentFactory\", void 0);\n __decorate$2q([\n Autowired('columnApi')\n ], CustomTooltipFeature.prototype, \"columnApi\", void 0);\n __decorate$2q([\n Autowired('gridApi')\n ], CustomTooltipFeature.prototype, \"gridApi\", void 0);\n __decorate$2q([\n PostConstruct\n ], CustomTooltipFeature.prototype, \"postConstruct\", null);\n return CustomTooltipFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar CssClassManager = /** @class */ (function () {\n function CssClassManager(getGui) {\n // to minimise DOM hits, we only apply CSS classes if they have changed. as adding a CSS class that is already\n // there, or removing one that wasn't present, all takes CPU.\n this.cssClassStates = {};\n this.getGui = getGui;\n }\n CssClassManager.prototype.addCssClass = function (className) {\n var _this = this;\n var list = (className || '').split(' ');\n if (list.length > 1) {\n list.forEach(function (cls) { return _this.addCssClass(cls); });\n return;\n }\n var updateNeeded = this.cssClassStates[className] !== true;\n if (updateNeeded && className.length) {\n var eGui = this.getGui();\n if (eGui) {\n eGui.classList.add(className);\n }\n this.cssClassStates[className] = true;\n }\n };\n CssClassManager.prototype.removeCssClass = function (className) {\n var _this = this;\n var list = (className || '').split(' ');\n if (list.length > 1) {\n list.forEach(function (cls) { return _this.removeCssClass(cls); });\n return;\n }\n var updateNeeded = this.cssClassStates[className] !== false;\n if (updateNeeded && className.length) {\n var eGui = this.getGui();\n if (eGui) {\n eGui.classList.remove(className);\n }\n this.cssClassStates[className] = false;\n }\n };\n CssClassManager.prototype.containsCssClass = function (className) {\n var eGui = this.getGui();\n if (!eGui) {\n return false;\n }\n return eGui.classList.contains(className);\n };\n CssClassManager.prototype.addOrRemoveCssClass = function (className, addOrRemove) {\n var _this = this;\n if (!className) {\n return;\n }\n // we check for spaces before doing the split, as doing the split\n // created a performance problem (on windows only, see AG-6765)\n if (className.indexOf(' ') >= 0) {\n var list = (className || '').split(' ');\n if (list.length > 1) {\n list.forEach(function (cls) { return _this.addOrRemoveCssClass(cls, addOrRemove); });\n return;\n }\n }\n var updateNeeded = this.cssClassStates[className] !== addOrRemove;\n if (updateNeeded && className.length) {\n var eGui = this.getGui();\n if (eGui) {\n eGui.classList.toggle(className, addOrRemove);\n }\n this.cssClassStates[className] = addOrRemove;\n }\n };\n return CssClassManager;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2O = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar compIdSequence = new NumberSequence();\nvar Component = /** @class */ (function (_super) {\n __extends$2O(Component, _super);\n function Component(template) {\n var _this = _super.call(this) || this;\n // if false, then CSS class \"ag-hidden\" is applied, which sets \"display: none\"\n _this.displayed = true;\n // if false, then CSS class \"ag-invisible\" is applied, which sets \"visibility: hidden\"\n _this.visible = true;\n // unique id for this row component. this is used for getting a reference to the HTML dom.\n // we cannot use the RowNode id as this is not unique (due to animation, old rows can be lying\n // around as we create a new rowComp instance for the same row node).\n _this.compId = compIdSequence.next();\n _this.cssClassManager = new CssClassManager(function () { return _this.eGui; });\n if (template) {\n _this.setTemplate(template);\n }\n return _this;\n }\n Component.prototype.preConstructOnComponent = function () {\n this.usingBrowserTooltips = this.gridOptionsWrapper.isEnableBrowserTooltips();\n };\n Component.prototype.getCompId = function () {\n return this.compId;\n };\n Component.prototype.getTooltipParams = function () {\n return {\n value: this.tooltipText,\n location: 'UNKNOWN'\n };\n };\n Component.prototype.setTooltip = function (newTooltipText) {\n var _this = this;\n var removeTooltip = function () {\n if (_this.usingBrowserTooltips) {\n _this.getGui().removeAttribute('title');\n }\n else {\n _this.tooltipFeature = _this.destroyBean(_this.tooltipFeature);\n }\n };\n var addTooltip = function () {\n if (_this.usingBrowserTooltips) {\n _this.getGui().setAttribute('title', _this.tooltipText);\n }\n else {\n _this.tooltipFeature = _this.createBean(new CustomTooltipFeature(_this));\n }\n };\n if (this.tooltipText != newTooltipText) {\n if (this.tooltipText) {\n removeTooltip();\n }\n if (newTooltipText != null) {\n this.tooltipText = newTooltipText;\n if (this.tooltipText) {\n addTooltip();\n }\n }\n }\n };\n // for registered components only, eg creates AgCheckbox instance from ag-checkbox HTML tag\n Component.prototype.createChildComponentsFromTags = function (parentNode, paramsMap) {\n var _this = this;\n // we MUST take a copy of the list first, as the 'swapComponentForNode' adds comments into the DOM\n // which messes up the traversal order of the children.\n var childNodeList = copyNodeList(parentNode.childNodes);\n childNodeList.forEach(function (childNode) {\n if (!(childNode instanceof HTMLElement)) {\n return;\n }\n var childComp = _this.createComponentFromElement(childNode, function (childComp) {\n // copy over all attributes, including css classes, so any attributes user put on the tag\n // wll be carried across\n var childGui = childComp.getGui();\n if (childGui) {\n _this.copyAttributesFromNode(childNode, childComp.getGui());\n }\n }, paramsMap);\n if (childComp) {\n if (childComp.addItems && childNode.children.length) {\n _this.createChildComponentsFromTags(childNode, paramsMap);\n // converting from HTMLCollection to Array\n var items = Array.prototype.slice.call(childNode.children);\n childComp.addItems(items);\n }\n // replace the tag (eg ag-checkbox) with the proper HTMLElement (eg 'div') in the dom\n _this.swapComponentForNode(childComp, parentNode, childNode);\n }\n else if (childNode.childNodes) {\n _this.createChildComponentsFromTags(childNode, paramsMap);\n }\n });\n };\n Component.prototype.createComponentFromElement = function (element, afterPreCreateCallback, paramsMap) {\n var key = element.nodeName;\n var componentParams = paramsMap ? paramsMap[element.getAttribute('ref')] : undefined;\n var ComponentClass = this.agStackComponentsRegistry.getComponentClass(key);\n if (ComponentClass) {\n Component.elementGettingCreated = element;\n var newComponent = new ComponentClass(componentParams);\n newComponent.setParentComponent(this);\n this.createBean(newComponent, null, afterPreCreateCallback);\n return newComponent;\n }\n return null;\n };\n Component.prototype.copyAttributesFromNode = function (source, dest) {\n iterateNamedNodeMap(source.attributes, function (name, value) { return dest.setAttribute(name, value); });\n };\n Component.prototype.swapComponentForNode = function (newComponent, parentNode, childNode) {\n var eComponent = newComponent.getGui();\n parentNode.replaceChild(eComponent, childNode);\n parentNode.insertBefore(document.createComment(childNode.nodeName), eComponent);\n this.addDestroyFunc(this.destroyBean.bind(this, newComponent));\n this.swapInComponentForQuerySelectors(newComponent, childNode);\n };\n Component.prototype.swapInComponentForQuerySelectors = function (newComponent, childNode) {\n var thisNoType = this;\n this.iterateOverQuerySelectors(function (querySelector) {\n if (thisNoType[querySelector.attributeName] === childNode) {\n thisNoType[querySelector.attributeName] = newComponent;\n }\n });\n };\n Component.prototype.iterateOverQuerySelectors = function (action) {\n var thisPrototype = Object.getPrototypeOf(this);\n while (thisPrototype != null) {\n var metaData = thisPrototype.__agComponentMetaData;\n var currentProtoName = getFunctionName(thisPrototype.constructor);\n if (metaData && metaData[currentProtoName] && metaData[currentProtoName].querySelectors) {\n metaData[currentProtoName].querySelectors.forEach(function (querySelector) { return action(querySelector); });\n }\n thisPrototype = Object.getPrototypeOf(thisPrototype);\n }\n };\n Component.prototype.setTemplate = function (template, paramsMap) {\n var eGui = loadTemplate(template);\n this.setTemplateFromElement(eGui, paramsMap);\n };\n Component.prototype.setTemplateFromElement = function (element, paramsMap) {\n this.eGui = element;\n this.eGui.__agComponent = this;\n this.wireQuerySelectors();\n // context will not be available when user sets template in constructor\n if (!!this.getContext()) {\n this.createChildComponentsFromTags(this.getGui(), paramsMap);\n }\n };\n Component.prototype.createChildComponentsPreConstruct = function () {\n // ui exists if user sets template in constructor. when this happens, we have to wait for the context\n // to be autoWired first before we can create child components.\n if (!!this.getGui()) {\n this.createChildComponentsFromTags(this.getGui());\n }\n };\n Component.prototype.wireQuerySelectors = function () {\n var _this = this;\n if (!this.eGui) {\n return;\n }\n var thisNoType = this;\n this.iterateOverQuerySelectors(function (querySelector) {\n var setResult = function (result) { return thisNoType[querySelector.attributeName] = result; };\n // if it's a ref selector, and match is on top level component, we return\n // the element. otherwise no way of components putting ref=xxx on the top\n // level element as querySelector only looks at children.\n var topLevelRefMatch = querySelector.refSelector\n && _this.eGui.getAttribute('ref') === querySelector.refSelector;\n if (topLevelRefMatch) {\n setResult(_this.eGui);\n }\n else {\n // otherwise use querySelector, which looks at children\n var resultOfQuery = _this.eGui.querySelector(querySelector.querySelector);\n if (resultOfQuery) {\n setResult(resultOfQuery.__agComponent || resultOfQuery);\n }\n }\n });\n };\n Component.prototype.getGui = function () {\n return this.eGui;\n };\n Component.prototype.getFocusableElement = function () {\n return this.eGui;\n };\n Component.prototype.setParentComponent = function (component) {\n this.parentComponent = component;\n };\n Component.prototype.getParentComponent = function () {\n return this.parentComponent;\n };\n // this method is for older code, that wants to provide the gui element,\n // it is not intended for this to be in ag-Stack\n Component.prototype.setGui = function (eGui) {\n this.eGui = eGui;\n };\n Component.prototype.queryForHtmlElement = function (cssSelector) {\n return this.eGui.querySelector(cssSelector);\n };\n Component.prototype.queryForHtmlInputElement = function (cssSelector) {\n return this.eGui.querySelector(cssSelector);\n };\n Component.prototype.appendChild = function (newChild, container) {\n if (newChild == null) {\n return;\n }\n if (!container) {\n container = this.eGui;\n }\n if (isNodeOrElement(newChild)) {\n container.appendChild(newChild);\n }\n else {\n var childComponent = newChild;\n container.appendChild(childComponent.getGui());\n }\n };\n Component.prototype.isDisplayed = function () {\n return this.displayed;\n };\n Component.prototype.setVisible = function (visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n setVisible(this.eGui, visible);\n }\n };\n Component.prototype.setDisplayed = function (displayed) {\n if (displayed !== this.displayed) {\n this.displayed = displayed;\n setDisplayed(this.eGui, displayed);\n var event_1 = {\n type: Component.EVENT_DISPLAYED_CHANGED,\n visible: this.displayed\n };\n this.dispatchEvent(event_1);\n }\n };\n Component.prototype.destroy = function () {\n if (this.tooltipFeature) {\n this.tooltipFeature = this.destroyBean(this.tooltipFeature);\n }\n _super.prototype.destroy.call(this);\n };\n Component.prototype.addGuiEventListener = function (event, listener) {\n var _this = this;\n this.eGui.addEventListener(event, listener);\n this.addDestroyFunc(function () { return _this.eGui.removeEventListener(event, listener); });\n };\n Component.prototype.addCssClass = function (className) {\n this.cssClassManager.addCssClass(className);\n };\n Component.prototype.removeCssClass = function (className) {\n this.cssClassManager.removeCssClass(className);\n };\n Component.prototype.containsCssClass = function (className) {\n return this.cssClassManager.containsCssClass(className);\n };\n Component.prototype.addOrRemoveCssClass = function (className, addOrRemove) {\n this.cssClassManager.addOrRemoveCssClass(className, addOrRemove);\n };\n Component.prototype.getAttribute = function (key) {\n var eGui = this.eGui;\n return eGui ? eGui.getAttribute(key) : null;\n };\n Component.prototype.getRefElement = function (refName) {\n return this.queryForHtmlElement(\"[ref=\\\"\" + refName + \"\\\"]\");\n };\n Component.EVENT_DISPLAYED_CHANGED = 'displayedChanged';\n __decorate$2p([\n Autowired('agStackComponentsRegistry')\n ], Component.prototype, \"agStackComponentsRegistry\", void 0);\n __decorate$2p([\n PreConstruct\n ], Component.prototype, \"preConstructOnComponent\", null);\n __decorate$2p([\n PreConstruct\n ], Component.prototype, \"createChildComponentsPreConstruct\", null);\n return Component;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction QuerySelector(selector) {\n return querySelectorFunc.bind(this, selector, undefined);\n}\nfunction RefSelector(ref) {\n return querySelectorFunc.bind(this, \"[ref=\" + ref + \"]\", ref);\n}\nfunction querySelectorFunc(selector, refSelector, classPrototype, methodOrAttributeName, index) {\n if (selector === null) {\n console.error('AG Grid: QuerySelector selector should not be null');\n return;\n }\n if (typeof index === 'number') {\n console.error('AG Grid: QuerySelector should be on an attribute');\n return;\n }\n addToObjectProps(classPrototype, 'querySelectors', {\n attributeName: methodOrAttributeName,\n querySelector: selector,\n refSelector: refSelector\n });\n}\n// // think we should take this out, put property bindings on the\n// export function Method(eventName?: string): Function {\n// return methodFunc.bind(this, eventName);\n// }\n//\n// function methodFunc(alias: string, target: Object, methodName: string) {\n// if (alias === null) {\n// console.error(\"AG Grid: EventListener eventName should not be null\");\n// return;\n// }\n//\n// addToObjectProps(target, 'methods', {\n// methodName: methodName,\n// alias: alias\n// });\n// }\nfunction addToObjectProps(target, key, value) {\n // it's an attribute on the class\n var props = getOrCreateProps(target, getFunctionName(target.constructor));\n if (!props[key]) {\n props[key] = [];\n }\n props[key].push(value);\n}\nfunction getOrCreateProps(target, instanceName) {\n if (!target.__agComponentMetaData) {\n target.__agComponentMetaData = {};\n }\n if (!target.__agComponentMetaData[instanceName]) {\n target.__agComponentMetaData[instanceName] = {};\n }\n return target.__agComponentMetaData[instanceName];\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2N = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// optional floating filter for user provided filters - instead of providing a floating filter,\n// they can provide a getModelAsString() method on the filter instead. this class just displays\n// the string returned from getModelAsString()\nvar ReadOnlyFloatingFilter = /** @class */ (function (_super) {\n __extends$2N(ReadOnlyFloatingFilter, _super);\n function ReadOnlyFloatingFilter() {\n return _super.call(this, /* html */ \"\\n
\\n \\n
\") || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n ReadOnlyFloatingFilter.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n ReadOnlyFloatingFilter.prototype.init = function (params) {\n this.params = params;\n var displayName = this.columnModel.getDisplayNameForColumn(params.column, 'header', true);\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eFloatingFilterText\n .setDisabled(true)\n .setInputAriaLabel(displayName + \" \" + translate('ariaFilterInput', 'Filter Input'));\n };\n ReadOnlyFloatingFilter.prototype.onParentModelChanged = function (parentModel) {\n var _this = this;\n if (!parentModel) {\n this.eFloatingFilterText.setValue('');\n return;\n }\n this.params.parentFilterInstance(function (filterInstance) {\n // it would be nice to check if getModelAsString was present before creating this component,\n // however that is not possible, as React Hooks and VueJS don't attached the methods to the Filter until\n // AFTER the filter is created, not allowing inspection before this (we create floating filters as columns\n // are drawn, but the parent filters are only created when needed).\n if (filterInstance.getModelAsString) {\n var modelAsString = filterInstance.getModelAsString(parentModel);\n _this.eFloatingFilterText.setValue(modelAsString);\n }\n });\n };\n __decorate$2o([\n RefSelector('eFloatingFilterText')\n ], ReadOnlyFloatingFilter.prototype, \"eFloatingFilterText\", void 0);\n __decorate$2o([\n Autowired('columnModel')\n ], ReadOnlyFloatingFilter.prototype, \"columnModel\", void 0);\n return ReadOnlyFloatingFilter;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/** Provides sync access to async component. Date component can be lazy created - this class encapsulates\n * this by keeping value locally until DateComp has loaded, then passing DateComp the value. */\nvar DateCompWrapper = /** @class */ (function () {\n function DateCompWrapper(context, userComponentFactory, dateComponentParams, eParent) {\n var _this = this;\n this.alive = true;\n this.context = context;\n this.eParent = eParent;\n var compDetails = userComponentFactory.getDateCompDetails(dateComponentParams);\n var promise = compDetails.newAgStackInstance();\n promise.then(function (dateComp) {\n // because async, check the filter still exists after component comes back\n if (!_this.alive) {\n context.destroyBean(dateComp);\n return;\n }\n _this.dateComp = dateComp;\n if (!dateComp) {\n return;\n }\n eParent.appendChild(dateComp.getGui());\n if (dateComp.afterGuiAttached) {\n dateComp.afterGuiAttached();\n }\n if (_this.tempValue) {\n dateComp.setDate(_this.tempValue);\n }\n if (_this.disabled != null) {\n _this.setDateCompDisabled(_this.disabled);\n }\n });\n }\n DateCompWrapper.prototype.destroy = function () {\n this.alive = false;\n this.dateComp = this.context.destroyBean(this.dateComp);\n };\n DateCompWrapper.prototype.getDate = function () {\n return this.dateComp ? this.dateComp.getDate() : this.tempValue;\n };\n DateCompWrapper.prototype.setDate = function (value) {\n if (this.dateComp) {\n this.dateComp.setDate(value);\n }\n else {\n this.tempValue = value;\n }\n };\n DateCompWrapper.prototype.setDisabled = function (disabled) {\n if (this.dateComp) {\n this.setDateCompDisabled(disabled);\n }\n else {\n this.disabled = disabled;\n }\n };\n DateCompWrapper.prototype.setDisplayed = function (displayed) {\n setDisplayed(this.eParent, displayed);\n };\n DateCompWrapper.prototype.setInputPlaceholder = function (placeholder) {\n if (this.dateComp && this.dateComp.setInputPlaceholder) {\n this.dateComp.setInputPlaceholder(placeholder);\n }\n };\n DateCompWrapper.prototype.setInputAriaLabel = function (label) {\n if (this.dateComp && this.dateComp.setInputAriaLabel) {\n this.dateComp.setInputAriaLabel(label);\n }\n };\n DateCompWrapper.prototype.afterGuiAttached = function (params) {\n if (this.dateComp && typeof this.dateComp.afterGuiAttached === 'function') {\n this.dateComp.afterGuiAttached(params);\n }\n };\n DateCompWrapper.prototype.setDateCompDisabled = function (disabled) {\n if (this.dateComp == null) {\n return;\n }\n if (this.dateComp.setDisabled == null) {\n return;\n }\n this.dateComp.setDisabled(disabled);\n };\n return DateCompWrapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$d = (undefined && undefined.__assign) || function () {\n __assign$d = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$d.apply(this, arguments);\n};\n/* Common logic for options, used by both filters and floating filters. */\nvar OptionsFactory = /** @class */ (function () {\n function OptionsFactory() {\n this.customFilterOptions = {};\n }\n OptionsFactory.prototype.init = function (params, defaultOptions) {\n this.filterOptions = params.filterOptions || defaultOptions;\n this.mapCustomOptions();\n this.selectDefaultItem(params);\n this.checkForDeprecatedParams();\n };\n OptionsFactory.prototype.checkForDeprecatedParams = function () {\n if (this.filterOptions.some(function (opt) { return typeof opt != 'string' && opt.test != null; })) {\n console.warn(\"AG Grid: [IFilterOptionDef] since v26.2.0, test() has been replaced with predicate().\");\n }\n if (this.filterOptions.some(function (opt) { return typeof opt != 'string' && opt.hideFilterInput != null; })) {\n console.warn(\"AG Grid: [IFilterOptionDef] since v26.2.0, useOfHideFilterInput has been replaced with numberOfInputs.\");\n }\n };\n OptionsFactory.prototype.getFilterOptions = function () {\n return this.filterOptions;\n };\n OptionsFactory.prototype.mapCustomOptions = function () {\n var _this = this;\n if (!this.filterOptions) {\n return;\n }\n this.filterOptions.forEach(function (filterOption) {\n if (typeof filterOption === 'string') {\n return;\n }\n var requiredProperties = [['displayKey'], ['displayName'], ['predicate', 'test']];\n var propertyCheck = function (keys) {\n if (!keys.some(function (key) { return filterOption[key] != null; })) {\n console.warn(\"AG Grid: ignoring FilterOptionDef as it doesn't contain one of '\" + keys + \"'\");\n return false;\n }\n return true;\n };\n if (!requiredProperties.every(propertyCheck)) {\n _this.filterOptions = _this.filterOptions.filter(function (v) { return v === filterOption; }) || [];\n return;\n }\n var test = filterOption.test;\n var mutatedFilterOptions = __assign$d({}, filterOption);\n if (test != null && filterOption.predicate == null) {\n mutatedFilterOptions.predicate = function (v, cv) { return test(v[0], cv); };\n delete mutatedFilterOptions.test;\n }\n if (mutatedFilterOptions.hideFilterInput && mutatedFilterOptions.numberOfInputs == null) {\n mutatedFilterOptions.numberOfInputs = 0;\n delete mutatedFilterOptions.hideFilterInput;\n }\n _this.customFilterOptions[filterOption.displayKey] = mutatedFilterOptions;\n });\n };\n OptionsFactory.prototype.selectDefaultItem = function (params) {\n if (params.defaultOption) {\n this.defaultOption = params.defaultOption;\n }\n else if (this.filterOptions.length >= 1) {\n var firstFilterOption = this.filterOptions[0];\n if (typeof firstFilterOption === 'string') {\n this.defaultOption = firstFilterOption;\n }\n else if (firstFilterOption.displayKey) {\n this.defaultOption = firstFilterOption.displayKey;\n }\n else {\n console.warn(\"AG Grid: invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'\");\n }\n }\n else {\n console.warn('AG Grid: no filter options for filter');\n }\n };\n OptionsFactory.prototype.getDefaultOption = function () {\n return this.defaultOption;\n };\n OptionsFactory.prototype.getCustomOption = function (name) {\n return this.customFilterOptions[name];\n };\n return OptionsFactory;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar DEFAULT_FILTER_LOCALE_TEXT = {\n applyFilter: 'Apply',\n clearFilter: 'Clear',\n resetFilter: 'Reset',\n cancelFilter: 'Cancel',\n textFilter: 'Text Filter',\n numberFilter: 'Number Filter',\n dateFilter: 'Date Filter',\n setFilter: 'Set Filter',\n filterOoo: 'Filter...',\n empty: 'Choose One',\n equals: 'Equals',\n notEqual: 'Not equal',\n lessThan: 'Less than',\n greaterThan: 'Greater than',\n inRange: 'In range',\n inRangeStart: 'From',\n inRangeEnd: 'To',\n lessThanOrEqual: 'Less than or equals',\n greaterThanOrEqual: 'Greater than or equals',\n contains: 'Contains',\n notContains: 'Not contains',\n startsWith: 'Starts with',\n endsWith: 'Ends with',\n blank: 'Blank',\n notBlank: 'Not blank',\n andCondition: 'AND',\n orCondition: 'OR',\n dateFormatOoo: 'yyyy-mm-dd',\n};\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2M = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$c = (undefined && undefined.__assign) || function () {\n __assign$c = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$c.apply(this, arguments);\n};\nvar __decorate$2n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ManagedFocusFeature = /** @class */ (function (_super) {\n __extends$2M(ManagedFocusFeature, _super);\n function ManagedFocusFeature(eFocusableElement, callbacks) {\n if (callbacks === void 0) { callbacks = {}; }\n var _this = _super.call(this) || this;\n _this.eFocusableElement = eFocusableElement;\n _this.callbacks = callbacks;\n _this.callbacks = __assign$c({ shouldStopEventPropagation: function () { return false; }, onTabKeyDown: function (e) {\n if (e.defaultPrevented) {\n return;\n }\n var nextRoot = _this.focusService.findNextFocusableElement(_this.eFocusableElement, false, e.shiftKey);\n if (!nextRoot) {\n return;\n }\n nextRoot.focus();\n e.preventDefault();\n } }, callbacks);\n return _this;\n }\n ManagedFocusFeature.prototype.postConstruct = function () {\n this.eFocusableElement.classList.add(ManagedFocusFeature.FOCUS_MANAGED_CLASS);\n this.addKeyDownListeners(this.eFocusableElement);\n if (this.callbacks.onFocusIn) {\n this.addManagedListener(this.eFocusableElement, 'focusin', this.callbacks.onFocusIn);\n }\n if (this.callbacks.onFocusOut) {\n this.addManagedListener(this.eFocusableElement, 'focusout', this.callbacks.onFocusOut);\n }\n };\n ManagedFocusFeature.prototype.addKeyDownListeners = function (eGui) {\n var _this = this;\n this.addManagedListener(eGui, 'keydown', function (e) {\n if (e.defaultPrevented || isStopPropagationForAgGrid(e)) {\n return;\n }\n if (_this.callbacks.shouldStopEventPropagation(e)) {\n stopPropagationForAgGrid(e);\n return;\n }\n if (e.key === KeyCode.TAB) {\n _this.callbacks.onTabKeyDown(e);\n }\n else if (_this.callbacks.handleKeyDown) {\n _this.callbacks.handleKeyDown(e);\n }\n });\n };\n ManagedFocusFeature.FOCUS_MANAGED_CLASS = 'ag-focus-managed';\n __decorate$2n([\n Autowired('focusService')\n ], ManagedFocusFeature.prototype, \"focusService\", void 0);\n __decorate$2n([\n PostConstruct\n ], ManagedFocusFeature.prototype, \"postConstruct\", null);\n return ManagedFocusFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2L = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/**\n * Contains common logic to all provided filters (apply button, clear button, etc).\n * All the filters that come with AG Grid extend this class. User filters do not\n * extend this class.\n *\n * @param M type of filter-model managed by the concrete sub-class that extends this type\n * @param V type of value managed by the concrete sub-class that extends this type\n */\nvar ProvidedFilter = /** @class */ (function (_super) {\n __extends$2L(ProvidedFilter, _super);\n function ProvidedFilter(filterNameKey) {\n var _this = _super.call(this) || this;\n _this.filterNameKey = filterNameKey;\n _this.applyActive = false;\n _this.hidePopup = null;\n // after the user hits 'apply' the model gets copied to here. this is then the model that we use for\n // all filtering. so if user changes UI but doesn't hit apply, then the UI will be out of sync with this model.\n // this is what we want, as the UI should only become the 'active' filter once it's applied. when apply is\n // inactive, this model will be in sync (following the debounce ms). if the UI is not a valid filter\n // (eg the value is missing so nothing to filter on, or for set filter all checkboxes are checked so filter\n // not active) then this appliedModel will be null/undefined.\n _this.appliedModel = null;\n return _this;\n }\n ProvidedFilter.prototype.postConstruct = function () {\n this.resetTemplate(); // do this first to create the DOM\n this.createManagedBean(new ManagedFocusFeature(this.getFocusableElement(), {\n handleKeyDown: this.handleKeyDown.bind(this)\n }));\n };\n // override\n ProvidedFilter.prototype.handleKeyDown = function (e) { };\n ProvidedFilter.prototype.getFilterTitle = function () {\n return this.translate(this.filterNameKey);\n };\n ProvidedFilter.prototype.isFilterActive = function () {\n // filter is active if we have a valid applied model\n return !!this.appliedModel;\n };\n ProvidedFilter.prototype.resetTemplate = function (paramsMap) {\n var eGui = this.getGui();\n if (eGui) {\n eGui.removeEventListener('submit', this.onFormSubmit);\n }\n var templateString = /* html */ \"\\n
\\n
\\n \" + this.createBodyTemplate() + \"\\n
\\n
\";\n this.setTemplate(templateString, paramsMap);\n eGui = this.getGui();\n if (eGui) {\n eGui.addEventListener('submit', this.onFormSubmit);\n }\n };\n ProvidedFilter.prototype.isReadOnly = function () {\n return !!this.providedFilterParams.readOnly;\n };\n ProvidedFilter.prototype.init = function (params) {\n var _this = this;\n this.setParams(params);\n this.resetUiToDefaults(true).then(function () {\n _this.updateUiVisibility();\n _this.setupOnBtApplyDebounce();\n });\n };\n ProvidedFilter.prototype.setParams = function (params) {\n this.providedFilterParams = params;\n this.applyActive = ProvidedFilter.isUseApplyButton(params);\n this.createButtonPanel();\n };\n ProvidedFilter.prototype.createButtonPanel = function () {\n var _this = this;\n var buttons = this.providedFilterParams.buttons;\n if (!buttons || buttons.length < 1 || this.isReadOnly()) {\n return;\n }\n var eButtonsPanel = document.createElement('div');\n eButtonsPanel.classList.add('ag-filter-apply-panel');\n var addButton = function (type) {\n var text;\n var clickListener;\n switch (type) {\n case 'apply':\n text = _this.translate('applyFilter');\n clickListener = function (e) { return _this.onBtApply(false, false, e); };\n break;\n case 'clear':\n text = _this.translate('clearFilter');\n clickListener = function () { return _this.onBtClear(); };\n break;\n case 'reset':\n text = _this.translate('resetFilter');\n clickListener = function () { return _this.onBtReset(); };\n break;\n case 'cancel':\n text = _this.translate('cancelFilter');\n clickListener = function (e) { _this.onBtCancel(e); };\n break;\n default:\n console.warn('AG Grid: Unknown button type specified');\n return;\n }\n var buttonType = type === 'apply' ? 'submit' : 'button';\n var button = loadTemplate(\n /* html */\n \"\" + text + \"\\n \");\n eButtonsPanel.appendChild(button);\n _this.addManagedListener(button, 'click', clickListener);\n };\n convertToSet(buttons).forEach(function (type) { return addButton(type); });\n this.getGui().appendChild(eButtonsPanel);\n };\n // subclasses can override this to provide alternative debounce defaults\n ProvidedFilter.prototype.getDefaultDebounceMs = function () {\n return 0;\n };\n ProvidedFilter.prototype.setupOnBtApplyDebounce = function () {\n var debounceMs = ProvidedFilter.getDebounceMs(this.providedFilterParams, this.getDefaultDebounceMs());\n this.onBtApplyDebounce = debounce(this.onBtApply.bind(this), debounceMs);\n };\n ProvidedFilter.prototype.getModel = function () {\n return this.appliedModel ? this.appliedModel : null;\n };\n ProvidedFilter.prototype.setModel = function (model) {\n var _this = this;\n var promise = model != null ? this.setModelIntoUi(model) : this.resetUiToDefaults();\n return promise.then(function () {\n _this.updateUiVisibility();\n // we set the model from the GUI, rather than the provided model,\n // so the model is consistent, e.g. handling of null/undefined will be the same,\n // or if model is case insensitive, then casing is removed.\n _this.applyModel();\n });\n };\n ProvidedFilter.prototype.onBtCancel = function (e) {\n var _this = this;\n var currentModel = this.getModel();\n var afterAppliedFunc = function () {\n _this.onUiChanged(false, 'prevent');\n if (_this.providedFilterParams.closeOnApply) {\n _this.close(e);\n }\n };\n if (currentModel != null) {\n this.setModelIntoUi(currentModel).then(afterAppliedFunc);\n }\n else {\n this.resetUiToDefaults().then(afterAppliedFunc);\n }\n };\n ProvidedFilter.prototype.onBtClear = function () {\n var _this = this;\n this.resetUiToDefaults().then(function () { return _this.onUiChanged(); });\n };\n ProvidedFilter.prototype.onBtReset = function () {\n this.onBtClear();\n this.onBtApply();\n };\n /**\n * Applies changes made in the UI to the filter, and returns true if the model has changed.\n */\n ProvidedFilter.prototype.applyModel = function () {\n var newModel = this.getModelFromUi();\n if (!this.isModelValid(newModel)) {\n return false;\n }\n var previousModel = this.appliedModel;\n this.appliedModel = newModel;\n // models can be same if user pasted same content into text field, or maybe just changed the case\n // and it's a case insensitive filter\n return !this.areModelsEqual(previousModel, newModel);\n };\n ProvidedFilter.prototype.isModelValid = function (model) {\n return true;\n };\n ProvidedFilter.prototype.onFormSubmit = function (e) {\n e.preventDefault();\n };\n ProvidedFilter.prototype.onBtApply = function (afterFloatingFilter, afterDataChange, e) {\n if (afterFloatingFilter === void 0) { afterFloatingFilter = false; }\n if (afterDataChange === void 0) { afterDataChange = false; }\n // Prevent form submission\n if (e) {\n e.preventDefault();\n }\n if (this.applyModel()) {\n // the floating filter uses 'afterFloatingFilter' info, so it doesn't refresh after filter changed if change\n // came from floating filter\n this.providedFilterParams.filterChangedCallback({ afterFloatingFilter: afterFloatingFilter, afterDataChange: afterDataChange });\n }\n var closeOnApply = this.providedFilterParams.closeOnApply;\n // only close if an apply button is visible, otherwise we'd be closing every time a change was made!\n if (closeOnApply && this.applyActive && !afterFloatingFilter && !afterDataChange) {\n this.close(e);\n }\n };\n ProvidedFilter.prototype.onNewRowsLoaded = function () {\n };\n ProvidedFilter.prototype.close = function (e) {\n if (!this.hidePopup) {\n return;\n }\n var keyboardEvent = e;\n var key = keyboardEvent && keyboardEvent.key;\n var params;\n if (key === 'Enter' || key === 'Space') {\n params = { keyboardEvent: keyboardEvent };\n }\n this.hidePopup(params);\n this.hidePopup = null;\n };\n /**\n * By default, if the change came from a floating filter it will be applied immediately, otherwise if there is no\n * apply button it will be applied after a debounce, otherwise it will not be applied at all. This behaviour can\n * be adjusted by using the apply parameter.\n */\n ProvidedFilter.prototype.onUiChanged = function (fromFloatingFilter, apply) {\n if (fromFloatingFilter === void 0) { fromFloatingFilter = false; }\n this.updateUiVisibility();\n this.providedFilterParams.filterModifiedCallback();\n if (this.applyActive && !this.isReadOnly) {\n var isValid = this.isModelValid(this.getModelFromUi());\n setDisabled(this.getRefElement('applyFilterButton'), !isValid);\n }\n if ((fromFloatingFilter && !apply) || apply === 'immediately') {\n this.onBtApply(fromFloatingFilter);\n }\n else if ((!this.applyActive && !apply) || apply === 'debounce') {\n this.onBtApplyDebounce();\n }\n };\n ProvidedFilter.prototype.afterGuiAttached = function (params) {\n if (params == null) {\n return;\n }\n this.hidePopup = params.hidePopup;\n };\n // static, as used by floating filter also\n ProvidedFilter.getDebounceMs = function (params, debounceDefault) {\n if (ProvidedFilter.isUseApplyButton(params)) {\n if (params.debounceMs != null) {\n console.warn('AG Grid: debounceMs is ignored when apply button is present');\n }\n return 0;\n }\n return params.debounceMs != null ? params.debounceMs : debounceDefault;\n };\n // static, as used by floating filter also\n ProvidedFilter.isUseApplyButton = function (params) {\n return !!params.buttons && params.buttons.indexOf('apply') >= 0;\n };\n ProvidedFilter.prototype.destroy = function () {\n var eGui = this.getGui();\n if (eGui) {\n eGui.removeEventListener('submit', this.onFormSubmit);\n }\n this.hidePopup = null;\n _super.prototype.destroy.call(this);\n };\n ProvidedFilter.prototype.translate = function (key) {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n return translate(key, DEFAULT_FILTER_LOCALE_TEXT[key]);\n };\n ProvidedFilter.prototype.getCellValue = function (rowNode) {\n var _a = this.providedFilterParams, api = _a.api, colDef = _a.colDef, column = _a.column, columnApi = _a.columnApi, context = _a.context;\n return this.providedFilterParams.valueGetter({\n api: api,\n colDef: colDef,\n column: column,\n columnApi: columnApi,\n context: context,\n data: rowNode.data,\n getValue: function (field) { return rowNode.data[field]; },\n node: rowNode,\n });\n };\n __decorate$2m([\n Autowired('rowModel')\n ], ProvidedFilter.prototype, \"rowModel\", void 0);\n __decorate$2m([\n PostConstruct\n ], ProvidedFilter.prototype, \"postConstruct\", null);\n return ProvidedFilter;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2K = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgAbstractLabel = /** @class */ (function (_super) {\n __extends$2K(AgAbstractLabel, _super);\n function AgAbstractLabel(config, template) {\n var _this = _super.call(this, template) || this;\n _this.labelSeparator = '';\n _this.labelAlignment = 'left';\n _this.disabled = false;\n _this.label = '';\n _this.config = config || {};\n return _this;\n }\n AgAbstractLabel.prototype.postConstruct = function () {\n this.addCssClass('ag-labeled');\n this.eLabel.classList.add('ag-label');\n var _a = this.config, labelSeparator = _a.labelSeparator, label = _a.label, labelWidth = _a.labelWidth, labelAlignment = _a.labelAlignment;\n if (labelSeparator != null) {\n this.setLabelSeparator(labelSeparator);\n }\n if (label != null) {\n this.setLabel(label);\n }\n if (labelWidth != null) {\n this.setLabelWidth(labelWidth);\n }\n this.setLabelAlignment(labelAlignment || this.labelAlignment);\n this.refreshLabel();\n };\n AgAbstractLabel.prototype.refreshLabel = function () {\n clearElement(this.eLabel);\n if (typeof this.label === 'string') {\n this.eLabel.innerText = this.label + this.labelSeparator;\n }\n else if (this.label) {\n this.eLabel.appendChild(this.label);\n }\n if (this.label === '') {\n this.eLabel.classList.add('ag-hidden');\n setAriaRole(this.eLabel, 'presentation');\n }\n else {\n this.eLabel.classList.remove('ag-hidden');\n setAriaRole(this.eLabel, null);\n }\n };\n AgAbstractLabel.prototype.setLabelSeparator = function (labelSeparator) {\n if (this.labelSeparator === labelSeparator) {\n return this;\n }\n this.labelSeparator = labelSeparator;\n if (this.label != null) {\n this.refreshLabel();\n }\n return this;\n };\n AgAbstractLabel.prototype.getLabelId = function () {\n this.eLabel.id = this.eLabel.id || \"ag-\" + this.getCompId() + \"-label\";\n return this.eLabel.id;\n };\n AgAbstractLabel.prototype.getLabel = function () {\n return this.label;\n };\n AgAbstractLabel.prototype.setLabel = function (label) {\n if (this.label === label) {\n return this;\n }\n this.label = label;\n this.refreshLabel();\n return this;\n };\n AgAbstractLabel.prototype.setLabelAlignment = function (alignment) {\n var eGui = this.getGui();\n var eGuiClassList = eGui.classList;\n eGuiClassList.toggle('ag-label-align-left', alignment === 'left');\n eGuiClassList.toggle('ag-label-align-right', alignment === 'right');\n eGuiClassList.toggle('ag-label-align-top', alignment === 'top');\n return this;\n };\n AgAbstractLabel.prototype.setLabelWidth = function (width) {\n if (this.label == null) {\n return this;\n }\n setElementWidth(this.eLabel, width);\n return this;\n };\n AgAbstractLabel.prototype.setDisabled = function (disabled) {\n disabled = !!disabled;\n var element = this.getGui();\n setDisabled(element, disabled);\n element.classList.toggle('ag-disabled', disabled);\n this.disabled = disabled;\n return this;\n };\n AgAbstractLabel.prototype.isDisabled = function () {\n return !!this.disabled;\n };\n __decorate$2l([\n PostConstruct\n ], AgAbstractLabel.prototype, \"postConstruct\", null);\n return AgAbstractLabel;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2J = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgAbstractField = /** @class */ (function (_super) {\n __extends$2J(AgAbstractField, _super);\n function AgAbstractField(config, template, className) {\n var _this = _super.call(this, config, template) || this;\n _this.className = className;\n return _this;\n }\n AgAbstractField.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n if (this.className) {\n this.addCssClass(this.className);\n }\n };\n AgAbstractField.prototype.onValueChange = function (callbackFn) {\n var _this = this;\n this.addManagedListener(this, AgAbstractField.EVENT_CHANGED, function () { return callbackFn(_this.getValue()); });\n return this;\n };\n AgAbstractField.prototype.getWidth = function () {\n return this.getGui().clientWidth;\n };\n AgAbstractField.prototype.setWidth = function (width) {\n setFixedWidth(this.getGui(), width);\n return this;\n };\n AgAbstractField.prototype.getPreviousValue = function () {\n return this.previousValue;\n };\n AgAbstractField.prototype.getValue = function () {\n return this.value;\n };\n AgAbstractField.prototype.setValue = function (value, silent) {\n if (this.value === value) {\n return this;\n }\n this.previousValue = this.value;\n this.value = value;\n if (!silent) {\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n }\n return this;\n };\n AgAbstractField.EVENT_CHANGED = 'valueChange';\n return AgAbstractField;\n}(AgAbstractLabel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2I = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgPickerField = /** @class */ (function (_super) {\n __extends$2I(AgPickerField, _super);\n function AgPickerField(config, className, pickerIcon, ariaRole) {\n var _this = _super.call(this, config, \n /* html */ \"
\\n
\\n
\\n
\\n
\\n
\\n
\", className) || this;\n _this.pickerIcon = pickerIcon;\n _this.isPickerDisplayed = false;\n _this.isDestroyingPicker = false;\n _this.skipClick = false;\n return _this;\n }\n AgPickerField.prototype.postConstruct = function () {\n var _this = this;\n _super.prototype.postConstruct.call(this);\n var displayId = this.getCompId() + \"-display\";\n this.eDisplayField.setAttribute('id', displayId);\n setAriaDescribedBy(this.eWrapper, displayId);\n var clickHandler = function () {\n if (_this.skipClick) {\n _this.skipClick = false;\n return;\n }\n if (_this.isDisabled()) {\n return;\n }\n _this.pickerComponent = _this.showPicker();\n };\n var eGui = this.getGui();\n this.addManagedListener(eGui, 'mousedown', function (e) {\n if (!_this.skipClick &&\n _this.pickerComponent &&\n _this.pickerComponent.isAlive() &&\n isVisible(_this.pickerComponent.getGui()) &&\n eGui.contains(e.target)) {\n _this.skipClick = true;\n }\n });\n this.addManagedListener(eGui, 'keydown', function (e) {\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n clickHandler();\n case KeyCode.ESCAPE:\n if (_this.isPickerDisplayed) {\n e.preventDefault();\n }\n break;\n }\n });\n this.addManagedListener(this.eWrapper, 'click', clickHandler);\n this.addManagedListener(this.eLabel, 'click', clickHandler);\n if (this.pickerIcon) {\n var icon = createIconNoSpan(this.pickerIcon, this.gridOptionsWrapper);\n if (icon) {\n this.eIcon.appendChild(icon);\n }\n }\n };\n AgPickerField.prototype.refreshLabel = function () {\n if (exists(this.getLabel())) {\n setAriaLabelledBy(this.eWrapper, this.getLabelId());\n }\n else {\n this.eWrapper.removeAttribute('aria-labelledby');\n }\n _super.prototype.refreshLabel.call(this);\n };\n AgPickerField.prototype.setAriaLabel = function (label) {\n setAriaLabel(this.eWrapper, label);\n return this;\n };\n AgPickerField.prototype.setInputWidth = function (width) {\n setElementWidth(this.eWrapper, width);\n return this;\n };\n AgPickerField.prototype.getFocusableElement = function () {\n return this.eWrapper;\n };\n __decorate$2k([\n RefSelector('eLabel')\n ], AgPickerField.prototype, \"eLabel\", void 0);\n __decorate$2k([\n RefSelector('eWrapper')\n ], AgPickerField.prototype, \"eWrapper\", void 0);\n __decorate$2k([\n RefSelector('eDisplayField')\n ], AgPickerField.prototype, \"eDisplayField\", void 0);\n __decorate$2k([\n RefSelector('eIcon')\n ], AgPickerField.prototype, \"eIcon\", void 0);\n return AgPickerField;\n}(AgAbstractField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2H = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgList = /** @class */ (function (_super) {\n __extends$2H(AgList, _super);\n function AgList(cssIdentifier) {\n if (cssIdentifier === void 0) { cssIdentifier = 'default'; }\n var _this = _super.call(this, /* html */ \"
\") || this;\n _this.cssIdentifier = cssIdentifier;\n _this.options = [];\n _this.itemEls = [];\n return _this;\n }\n AgList.prototype.init = function () {\n this.addManagedListener(this.getGui(), 'keydown', this.handleKeyDown.bind(this));\n };\n AgList.prototype.handleKeyDown = function (e) {\n var key = e.key;\n switch (key) {\n case KeyCode.ENTER:\n if (!this.highlightedEl) {\n this.setValue(this.getValue());\n }\n else {\n var pos = this.itemEls.indexOf(this.highlightedEl);\n this.setValueByIndex(pos);\n }\n break;\n case KeyCode.DOWN:\n case KeyCode.UP:\n var isDown = key === KeyCode.DOWN;\n var itemToHighlight = void 0;\n e.preventDefault();\n if (!this.highlightedEl) {\n itemToHighlight = this.itemEls[isDown ? 0 : this.itemEls.length - 1];\n }\n else {\n var currentIdx = this.itemEls.indexOf(this.highlightedEl);\n var nextPos = currentIdx + (isDown ? 1 : -1);\n nextPos = Math.min(Math.max(nextPos, 0), this.itemEls.length - 1);\n itemToHighlight = this.itemEls[nextPos];\n }\n this.highlightItem(itemToHighlight);\n break;\n }\n };\n AgList.prototype.addOptions = function (listOptions) {\n var _this = this;\n listOptions.forEach(function (listOption) { return _this.addOption(listOption); });\n return this;\n };\n AgList.prototype.addOption = function (listOption) {\n var value = listOption.value, text = listOption.text;\n var sanitisedText = escapeString(text || value);\n this.options.push({ value: value, text: sanitisedText });\n this.renderOption(value, sanitisedText);\n this.updateIndices();\n return this;\n };\n AgList.prototype.updateIndices = function () {\n var options = this.getGui().querySelectorAll('.ag-list-item');\n options.forEach(function (option, idx) {\n setAriaPosInSet(option, idx + 1);\n setAriaSetSize(option, options.length);\n });\n };\n AgList.prototype.renderOption = function (value, text) {\n var _this = this;\n var itemEl = document.createElement('div');\n setAriaRole(itemEl, 'option');\n itemEl.classList.add('ag-list-item', \"ag-\" + this.cssIdentifier + \"-list-item\");\n itemEl.innerHTML = \"\" + text + \"\";\n itemEl.tabIndex = -1;\n this.itemEls.push(itemEl);\n this.addManagedListener(itemEl, 'mouseover', function () { return _this.highlightItem(itemEl); });\n this.addManagedListener(itemEl, 'mouseleave', function () { return _this.clearHighlighted(); });\n this.addManagedListener(itemEl, 'click', function () { return _this.setValue(value); });\n this.getGui().appendChild(itemEl);\n };\n AgList.prototype.setValue = function (value, silent) {\n if (this.value === value) {\n this.fireItemSelected();\n return this;\n }\n if (value == null) {\n this.reset();\n return this;\n }\n var idx = this.options.findIndex(function (option) { return option.value === value; });\n if (idx !== -1) {\n var option = this.options[idx];\n this.value = option.value;\n this.displayValue = option.text != null ? option.text : option.value;\n this.highlightItem(this.itemEls[idx]);\n if (!silent) {\n this.fireChangeEvent();\n }\n }\n return this;\n };\n AgList.prototype.setValueByIndex = function (idx) {\n return this.setValue(this.options[idx].value);\n };\n AgList.prototype.getValue = function () {\n return this.value;\n };\n AgList.prototype.getDisplayValue = function () {\n return this.displayValue;\n };\n AgList.prototype.refreshHighlighted = function () {\n var _this = this;\n this.clearHighlighted();\n var idx = this.options.findIndex(function (option) { return option.value === _this.value; });\n if (idx !== -1) {\n this.highlightItem(this.itemEls[idx]);\n }\n };\n AgList.prototype.reset = function () {\n this.value = null;\n this.displayValue = null;\n this.clearHighlighted();\n this.fireChangeEvent();\n };\n AgList.prototype.highlightItem = function (el) {\n if (!el.offsetParent) {\n return;\n }\n this.clearHighlighted();\n this.highlightedEl = el;\n this.highlightedEl.classList.add(AgList.ACTIVE_CLASS);\n setAriaSelected(this.highlightedEl, true);\n this.highlightedEl.focus();\n };\n AgList.prototype.clearHighlighted = function () {\n if (!this.highlightedEl || !this.highlightedEl.offsetParent) {\n return;\n }\n this.highlightedEl.classList.remove(AgList.ACTIVE_CLASS);\n setAriaSelected(this.highlightedEl, false);\n this.highlightedEl = null;\n };\n AgList.prototype.fireChangeEvent = function () {\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n this.fireItemSelected();\n };\n AgList.prototype.fireItemSelected = function () {\n this.dispatchEvent({ type: AgList.EVENT_ITEM_SELECTED });\n };\n AgList.EVENT_ITEM_SELECTED = 'selectedItem';\n AgList.ACTIVE_CLASS = 'ag-active-item';\n __decorate$2j([\n PostConstruct\n ], AgList.prototype, \"init\", null);\n return AgList;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2G = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgSelect = /** @class */ (function (_super) {\n __extends$2G(AgSelect, _super);\n function AgSelect(config) {\n return _super.call(this, config, 'ag-select', 'smallDown', 'listbox') || this;\n }\n AgSelect.prototype.init = function () {\n var _this = this;\n this.listComponent = this.createBean(new AgList('select'));\n this.listComponent.setParentComponent(this);\n this.eWrapper.tabIndex = 0;\n this.listComponent.addManagedListener(this.listComponent, AgList.EVENT_ITEM_SELECTED, function () { if (_this.hideList) {\n _this.hideList();\n } });\n this.listComponent.addManagedListener(this.listComponent, AgAbstractField.EVENT_CHANGED, function () {\n _this.setValue(_this.listComponent.getValue(), false, true);\n if (_this.hideList) {\n _this.hideList();\n }\n });\n };\n AgSelect.prototype.showPicker = function () {\n var _this = this;\n var listGui = this.listComponent.getGui();\n var eDocument = this.gridOptionsWrapper.getDocument();\n var destroyMouseWheelFunc = this.addManagedListener(eDocument.body, 'wheel', function (e) {\n if (!listGui.contains(e.target) && _this.hideList) {\n _this.hideList();\n }\n });\n var destroyFocusOutFunc = this.addManagedListener(listGui, 'focusout', function (e) {\n if (!listGui.contains(e.relatedTarget) && _this.hideList) {\n _this.hideList();\n }\n });\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: true,\n eChild: listGui,\n closeOnEsc: true,\n closedCallback: function () {\n _this.hideList = null;\n _this.isPickerDisplayed = false;\n destroyFocusOutFunc();\n destroyMouseWheelFunc();\n if (_this.isAlive()) {\n setAriaExpanded(_this.eWrapper, false);\n _this.getFocusableElement().focus();\n }\n },\n ariaLabel: translate('ariaLabelSelectField', 'Select Field')\n });\n if (addPopupRes) {\n this.hideList = addPopupRes.hideFunc;\n }\n this.isPickerDisplayed = true;\n setElementWidth(listGui, getAbsoluteWidth(this.eWrapper));\n setAriaExpanded(this.eWrapper, true);\n listGui.style.maxHeight = getInnerHeight(this.popupService.getPopupParent()) + 'px';\n listGui.style.position = 'absolute';\n this.popupService.positionPopupUnderComponent({\n type: 'ag-list',\n eventSource: this.eWrapper,\n ePopup: listGui,\n keepWithinBounds: true\n });\n this.listComponent.refreshHighlighted();\n return this.listComponent;\n };\n AgSelect.prototype.addOptions = function (options) {\n var _this = this;\n options.forEach(function (option) { return _this.addOption(option); });\n return this;\n };\n AgSelect.prototype.addOption = function (option) {\n this.listComponent.addOption(option);\n return this;\n };\n AgSelect.prototype.setValue = function (value, silent, fromPicker) {\n if (this.value === value) {\n return this;\n }\n if (!fromPicker) {\n this.listComponent.setValue(value, true);\n }\n var newValue = this.listComponent.getValue();\n if (newValue === this.getValue()) {\n return this;\n }\n this.eDisplayField.innerHTML = this.listComponent.getDisplayValue();\n return _super.prototype.setValue.call(this, value, silent);\n };\n AgSelect.prototype.destroy = function () {\n if (this.hideList) {\n this.hideList();\n }\n this.destroyBean(this.listComponent);\n _super.prototype.destroy.call(this);\n };\n __decorate$2i([\n Autowired('popupService')\n ], AgSelect.prototype, \"popupService\", void 0);\n __decorate$2i([\n PostConstruct\n ], AgSelect.prototype, \"init\", null);\n return AgSelect;\n}(AgPickerField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2F = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgAbstractInputField = /** @class */ (function (_super) {\n __extends$2F(AgAbstractInputField, _super);\n function AgAbstractInputField(config, className, inputType, displayFieldTag) {\n if (inputType === void 0) { inputType = 'text'; }\n if (displayFieldTag === void 0) { displayFieldTag = 'input'; }\n var _this = _super.call(this, config, /* html */ \"\\n
\\n
\\n
\\n <\" + displayFieldTag + \" ref=\\\"eInput\\\" class=\\\"ag-input-field-input\\\">\\n
\\n
\", className) || this;\n _this.inputType = inputType;\n _this.displayFieldTag = displayFieldTag;\n return _this;\n }\n AgAbstractInputField.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n this.setInputType();\n this.eLabel.classList.add(this.className + \"-label\");\n this.eWrapper.classList.add(this.className + \"-input-wrapper\");\n this.eInput.classList.add(this.className + \"-input\");\n this.addCssClass('ag-input-field');\n this.eInput.id = this.eInput.id || \"ag-\" + this.getCompId() + \"-input\";\n var _a = this.config, width = _a.width, value = _a.value;\n if (width != null) {\n this.setWidth(width);\n }\n if (value != null) {\n this.setValue(value);\n }\n this.addInputListeners();\n };\n AgAbstractInputField.prototype.refreshLabel = function () {\n if (exists(this.getLabel())) {\n setAriaLabelledBy(this.eInput, this.getLabelId());\n }\n else {\n this.eInput.removeAttribute('aria-labelledby');\n }\n _super.prototype.refreshLabel.call(this);\n };\n AgAbstractInputField.prototype.addInputListeners = function () {\n var _this = this;\n this.addManagedListener(this.eInput, 'input', function (e) { return _this.setValue(e.target.value); });\n };\n AgAbstractInputField.prototype.setInputType = function () {\n if (this.displayFieldTag === 'input') {\n this.eInput.setAttribute('type', this.inputType);\n }\n };\n AgAbstractInputField.prototype.getInputElement = function () {\n return this.eInput;\n };\n AgAbstractInputField.prototype.setInputWidth = function (width) {\n setElementWidth(this.eWrapper, width);\n return this;\n };\n AgAbstractInputField.prototype.setInputName = function (name) {\n this.getInputElement().setAttribute('name', name);\n return this;\n };\n AgAbstractInputField.prototype.getFocusableElement = function () {\n return this.eInput;\n };\n AgAbstractInputField.prototype.setMaxLength = function (length) {\n var eInput = this.eInput;\n eInput.maxLength = length;\n return this;\n };\n AgAbstractInputField.prototype.setInputPlaceholder = function (placeholder) {\n addOrRemoveAttribute(this.eInput, 'placeholder', placeholder);\n return this;\n };\n AgAbstractInputField.prototype.setInputAriaLabel = function (label) {\n setAriaLabel(this.eInput, label);\n return this;\n };\n AgAbstractInputField.prototype.setDisabled = function (disabled) {\n setDisabled(this.eInput, disabled);\n return _super.prototype.setDisabled.call(this, disabled);\n };\n __decorate$2h([\n RefSelector('eLabel')\n ], AgAbstractInputField.prototype, \"eLabel\", void 0);\n __decorate$2h([\n RefSelector('eWrapper')\n ], AgAbstractInputField.prototype, \"eWrapper\", void 0);\n __decorate$2h([\n RefSelector('eInput')\n ], AgAbstractInputField.prototype, \"eInput\", void 0);\n return AgAbstractInputField;\n}(AgAbstractField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2E = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ConditionPosition;\n(function (ConditionPosition) {\n ConditionPosition[ConditionPosition[\"One\"] = 0] = \"One\";\n ConditionPosition[ConditionPosition[\"Two\"] = 1] = \"Two\";\n})(ConditionPosition || (ConditionPosition = {}));\n/**\n * Every filter with a dropdown where the user can specify a comparing type against the filter values.\n *\n * @param M type of filter-model managed by the concrete sub-class that extends this type\n * @param V type of value managed by the concrete sub-class that extends this type\n * @param E type of UI element used for collecting user-input\n */\nvar SimpleFilter = /** @class */ (function (_super) {\n __extends$2E(SimpleFilter, _super);\n function SimpleFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleFilter.prototype.getNumberOfInputs = function (type) {\n var customOpts = this.optionsFactory.getCustomOption(type);\n if (customOpts) {\n var numberOfInputs = customOpts.numberOfInputs;\n return numberOfInputs != null ? numberOfInputs : 1;\n }\n var zeroInputTypes = [\n SimpleFilter.EMPTY, SimpleFilter.NOT_BLANK, SimpleFilter.BLANK,\n ];\n if (type && zeroInputTypes.indexOf(type) >= 0) {\n return 0;\n }\n else if (type === SimpleFilter.IN_RANGE) {\n return 2;\n }\n return 1;\n };\n // floating filter calls this when user applies filter from floating filter\n SimpleFilter.prototype.onFloatingFilterChanged = function (type, value) {\n this.setTypeFromFloatingFilter(type);\n this.setValueFromFloatingFilter(value);\n this.onUiChanged(true);\n };\n SimpleFilter.prototype.setTypeFromFloatingFilter = function (type) {\n this.eType1.setValue(type);\n this.eType2.setValue(this.optionsFactory.getDefaultOption());\n (this.isDefaultOperator('AND') ? this.eJoinOperatorAnd : this.eJoinOperatorOr).setValue(true);\n };\n SimpleFilter.prototype.getModelFromUi = function () {\n if (!this.isConditionUiComplete(ConditionPosition.One)) {\n return null;\n }\n if (this.isAllowTwoConditions() && this.isConditionUiComplete(ConditionPosition.Two)) {\n return {\n filterType: this.getFilterType(),\n operator: this.getJoinOperator(),\n condition1: this.createCondition(ConditionPosition.One),\n condition2: this.createCondition(ConditionPosition.Two)\n };\n }\n return this.createCondition(ConditionPosition.One);\n };\n SimpleFilter.prototype.getConditionTypes = function () {\n return [\n this.eType1.getValue(),\n this.eType2.getValue(),\n ];\n };\n SimpleFilter.prototype.getJoinOperator = function () {\n return this.eJoinOperatorOr.getValue() === true ? 'OR' : 'AND';\n };\n SimpleFilter.prototype.areModelsEqual = function (a, b) {\n // both are missing\n if (!a && !b) {\n return true;\n }\n // one is missing, other present\n if ((!a && b) || (a && !b)) {\n return false;\n }\n // one is combined, the other is not\n var aIsSimple = !a.operator;\n var bIsSimple = !b.operator;\n var oneSimpleOneCombined = (!aIsSimple && bIsSimple) || (aIsSimple && !bIsSimple);\n if (oneSimpleOneCombined) {\n return false;\n }\n var res;\n // otherwise both present, so compare\n if (aIsSimple) {\n var aSimple = a;\n var bSimple = b;\n res = this.areSimpleModelsEqual(aSimple, bSimple);\n }\n else {\n var aCombined = a;\n var bCombined = b;\n res = aCombined.operator === bCombined.operator\n && this.areSimpleModelsEqual(aCombined.condition1, bCombined.condition1)\n && this.areSimpleModelsEqual(aCombined.condition2, bCombined.condition2);\n }\n return res;\n };\n SimpleFilter.prototype.setModelIntoUi = function (model) {\n var isCombined = model.operator;\n if (isCombined) {\n var combinedModel = model;\n var orChecked = combinedModel.operator === 'OR';\n this.eJoinOperatorAnd.setValue(!orChecked);\n this.eJoinOperatorOr.setValue(orChecked);\n this.eType1.setValue(combinedModel.condition1.type);\n this.eType2.setValue(combinedModel.condition2.type);\n this.setConditionIntoUi(combinedModel.condition1, ConditionPosition.One);\n this.setConditionIntoUi(combinedModel.condition2, ConditionPosition.Two);\n }\n else {\n var simpleModel = model;\n this.eJoinOperatorAnd.setValue(this.isDefaultOperator('AND'));\n this.eJoinOperatorOr.setValue(this.isDefaultOperator('OR'));\n this.eType1.setValue(simpleModel.type);\n this.eType2.setValue(this.optionsFactory.getDefaultOption());\n this.setConditionIntoUi(simpleModel, ConditionPosition.One);\n this.setConditionIntoUi(null, ConditionPosition.Two);\n }\n return AgPromise.resolve();\n };\n SimpleFilter.prototype.doesFilterPass = function (params) {\n var _this = this;\n var model = this.getModel();\n if (model == null) {\n return true;\n }\n var operator = model.operator;\n var models = [];\n if (operator) {\n var combinedModel = model;\n models.push(combinedModel.condition1, combinedModel.condition2);\n }\n else {\n models.push(model);\n }\n var combineFunction = operator && operator === 'OR' ? 'some' : 'every';\n return models[combineFunction](function (m) { return _this.individualConditionPasses(params, m); });\n };\n SimpleFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.optionsFactory = new OptionsFactory();\n this.optionsFactory.init(params, this.getDefaultFilterOptions());\n this.allowTwoConditions = !params.suppressAndOrCondition;\n this.alwaysShowBothConditions = !!params.alwaysShowBothConditions;\n this.defaultJoinOperator = this.getDefaultJoinOperator(params.defaultJoinOperator);\n this.filterPlaceholder = params.filterPlaceholder;\n this.putOptionsIntoDropdown();\n this.addChangedListeners();\n };\n SimpleFilter.prototype.getDefaultJoinOperator = function (defaultJoinOperator) {\n return includes(['AND', 'OR'], defaultJoinOperator) ? defaultJoinOperator : 'AND';\n };\n SimpleFilter.prototype.putOptionsIntoDropdown = function () {\n var _this = this;\n var filterOptions = this.optionsFactory.getFilterOptions();\n var eTypes = [this.eType1, this.eType2];\n // Add specified options to all condition drop-downs.\n filterOptions.forEach(function (option) {\n var listOption = typeof option === 'string' ?\n _this.createBoilerplateListOption(option) :\n _this.createCustomListOption(option);\n eTypes.forEach(function (eType) { return eType.addOption(listOption); });\n });\n // Make drop-downs read-only if there is only one option.\n eTypes.forEach(function (eType) { return eType.setDisabled(filterOptions.length <= 1); });\n };\n SimpleFilter.prototype.createBoilerplateListOption = function (option) {\n return { value: option, text: this.translate(option) };\n };\n SimpleFilter.prototype.createCustomListOption = function (option) {\n var displayKey = option.displayKey;\n var customOption = this.optionsFactory.getCustomOption(option.displayKey);\n return {\n value: displayKey,\n text: customOption ?\n this.gridOptionsWrapper.getLocaleTextFunc()(customOption.displayKey, customOption.displayName) :\n this.translate(displayKey),\n };\n };\n SimpleFilter.prototype.isAllowTwoConditions = function () {\n return this.allowTwoConditions;\n };\n SimpleFilter.prototype.createBodyTemplate = function () {\n return /* html */ \"\\n \\n \" + this.createValueTemplate(ConditionPosition.One) + \"\\n
\\n \\n \\n
\\n \\n \" + this.createValueTemplate(ConditionPosition.Two);\n };\n SimpleFilter.prototype.getCssIdentifier = function () {\n return 'simple-filter';\n };\n SimpleFilter.prototype.updateUiVisibility = function () {\n var _this = this;\n var elementConditionGroups = [\n [this.eType1],\n [this.eType2, this.eJoinOperatorPanel, this.eJoinOperatorAnd, this.eJoinOperatorOr],\n ];\n var elementBodies = [this.eCondition1Body, this.eCondition2Body];\n elementConditionGroups.forEach(function (group, position) {\n var visible = _this.isConditionVisible(position);\n var disabled = _this.isConditionDisabled(position);\n group.forEach(function (element) {\n if (element instanceof AgAbstractInputField || element instanceof AgSelect) {\n element.setDisabled(disabled);\n element.setDisplayed(visible);\n }\n else {\n setDisabled(element, disabled);\n setDisplayed(element, visible);\n }\n });\n });\n elementBodies.forEach(function (element, index) {\n setDisplayed(element, _this.isConditionBodyVisible(index));\n });\n this.forEachInput(function (element, index, position, numberOfInputs) {\n _this.setElementDisplayed(element, index < numberOfInputs);\n _this.setElementDisabled(element, _this.isConditionDisabled(position));\n });\n this.resetPlaceholder();\n };\n SimpleFilter.prototype.afterGuiAttached = function (params) {\n _super.prototype.afterGuiAttached.call(this, params);\n this.resetPlaceholder();\n if (!params || (!params.suppressFocus && !this.isReadOnly())) {\n var firstInput = this.getInputs()[0][0];\n if (!firstInput) {\n return;\n }\n if (firstInput instanceof AgAbstractInputField) {\n firstInput.getInputElement().focus();\n }\n }\n };\n SimpleFilter.prototype.getPlaceholderText = function (defaultPlaceholder, position) {\n var placeholder = this.translate(defaultPlaceholder);\n if (isFunction(this.filterPlaceholder)) {\n var filterPlaceholderFn = this.filterPlaceholder;\n var filterOptionKey = (position === 0 ? this.eType1.getValue() : this.eType2.getValue());\n var filterOption = this.translate(filterOptionKey);\n placeholder = filterPlaceholderFn({\n filterOptionKey: filterOptionKey,\n filterOption: filterOption,\n placeholder: placeholder\n });\n }\n else if (typeof this.filterPlaceholder === 'string') {\n placeholder = this.filterPlaceholder;\n }\n return placeholder;\n };\n // allow sub-classes to reset HTML placeholders after UI update.\n SimpleFilter.prototype.resetPlaceholder = function () {\n var _this = this;\n var globalTranslate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.forEachInput(function (element, index, position, numberOfInputs) {\n if (!(element instanceof AgAbstractInputField)) {\n return;\n }\n var placeholder = index === 0 && numberOfInputs > 1 ? 'inRangeStart' :\n index === 0 ? 'filterOoo' :\n 'inRangeEnd';\n var ariaLabel = index === 0 && numberOfInputs > 1 ? globalTranslate('ariaFilterFromValue', 'Filter from value') :\n index === 0 ? globalTranslate('ariaFilterValue', 'Filter Value') :\n globalTranslate('ariaFilterToValue', 'Filter to Value');\n element.setInputPlaceholder(_this.getPlaceholderText(placeholder, position));\n element.setInputAriaLabel(ariaLabel);\n });\n };\n SimpleFilter.prototype.setElementValue = function (element, value, silent) {\n if (element instanceof AgAbstractInputField) {\n element.setValue(value != null ? String(value) : null, silent);\n }\n };\n SimpleFilter.prototype.setElementDisplayed = function (element, displayed) {\n if (element instanceof Component) {\n setDisplayed(element.getGui(), displayed);\n }\n };\n SimpleFilter.prototype.setElementDisabled = function (element, disabled) {\n if (element instanceof Component) {\n setDisabled(element.getGui(), disabled);\n }\n };\n SimpleFilter.prototype.attachElementOnChange = function (element, listener) {\n if (element instanceof AgAbstractInputField) {\n element.onValueChange(listener);\n }\n };\n SimpleFilter.prototype.forEachInput = function (cb) {\n var _this = this;\n var inputs = this.getInputs();\n this.getConditionTypes().forEach(function (type, position) {\n var numberOfInputs = _this.getNumberOfInputs(type);\n for (var index = 0; index < inputs[position].length; index++) {\n var input = inputs[position][index];\n if (input != null) {\n cb(input, index, position, numberOfInputs);\n }\n }\n });\n };\n SimpleFilter.prototype.isConditionVisible = function (position) {\n if (position === 0) {\n return true;\n } // Position 0 should always be visible.\n if (!this.allowTwoConditions) {\n return false;\n } // Short-circuit if no tail conditions.\n if (this.isReadOnly()) {\n // Only display a condition when read-only if the condition is complete.\n return this.isConditionUiComplete(position);\n }\n if (this.alwaysShowBothConditions) {\n return true;\n }\n // Only display a 2nd or later condition when the previous condition is complete.\n return this.isConditionUiComplete(position - 1);\n };\n SimpleFilter.prototype.isConditionDisabled = function (position) {\n if (this.isReadOnly()) {\n return true;\n } // Read-only mode trumps everything.\n if (!this.isConditionVisible(position)) {\n return true;\n } // Invisible implies disabled.\n if (position === 0) {\n return false;\n } // Position 0 should typically be editable.\n // Only allow editing of a 2nd or later condition if the previous condition is complete.\n return !this.isConditionUiComplete(position - 1);\n };\n SimpleFilter.prototype.isConditionBodyVisible = function (position) {\n if (!this.isConditionVisible(position)) {\n return false;\n }\n // Check that the condition needs inputs.\n var type = this.getConditionTypes()[position];\n var numberOfInputs = this.getNumberOfInputs(type);\n return numberOfInputs > 0;\n };\n // returns true if the UI represents a working filter, eg all parts are filled out.\n // eg if text filter and textfield blank then returns false.\n SimpleFilter.prototype.isConditionUiComplete = function (position) {\n var type = this.getConditionTypes()[position];\n if (type === SimpleFilter.EMPTY) {\n return false;\n }\n if (this.getValues(position).some(function (v) { return v == null; })) {\n return false;\n }\n return true;\n };\n SimpleFilter.prototype.resetUiToDefaults = function (silent) {\n var _this = this;\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var filteringLabel = translate('ariaFilteringOperator', 'Filtering operator');\n var uniqueGroupId = 'ag-simple-filter-and-or-' + this.getCompId();\n var defaultOption = this.optionsFactory.getDefaultOption();\n this.eType1\n .setValue(defaultOption, silent)\n .setAriaLabel(filteringLabel)\n .setDisabled(this.isReadOnly());\n this.eType2\n .setValue(this.optionsFactory.getDefaultOption(), silent)\n .setAriaLabel(filteringLabel)\n .setDisabled(this.isReadOnly());\n this.eJoinOperatorAnd\n .setValue(this.isDefaultOperator('AND'), silent)\n .setName(uniqueGroupId)\n .setLabel(this.translate('andCondition'))\n .setDisabled(this.isReadOnly());\n this.eJoinOperatorOr\n .setValue(this.isDefaultOperator('OR'), silent)\n .setName(uniqueGroupId)\n .setLabel(this.translate('orCondition'))\n .setDisabled(this.isReadOnly());\n this.forEachInput(function (element) {\n _this.setElementValue(element, null, silent);\n _this.setElementDisabled(element, _this.isReadOnly());\n });\n this.resetPlaceholder();\n return AgPromise.resolve();\n };\n // puts model values into the UI\n SimpleFilter.prototype.setConditionIntoUi = function (model, position) {\n var _this = this;\n var values = this.mapValuesFromModel(model);\n this.forEachInput(function (element, index, elPosition, _) {\n if (elPosition !== position) {\n return;\n }\n _this.setElementValue(element, values[index] != null ? values[index] : null);\n });\n };\n // after floating filter changes, this sets the 'value' section. this is implemented by the base class\n // (as that's where value is controlled), the 'type' part from the floating filter is dealt with in this class.\n SimpleFilter.prototype.setValueFromFloatingFilter = function (value) {\n var _this = this;\n this.forEachInput(function (element, index, position, _) {\n _this.setElementValue(element, index === 0 && position === 0 ? value : null);\n });\n };\n SimpleFilter.prototype.isDefaultOperator = function (operator) {\n return operator === this.defaultJoinOperator;\n };\n SimpleFilter.prototype.addChangedListeners = function () {\n var _this = this;\n if (this.isReadOnly()) {\n return;\n }\n var listener = function () { return _this.onUiChanged(); };\n this.eType1.onValueChange(listener);\n this.eType2.onValueChange(listener);\n this.eJoinOperatorOr.onValueChange(listener);\n this.eJoinOperatorAnd.onValueChange(listener);\n this.forEachInput(function (element) {\n _this.attachElementOnChange(element, listener);\n });\n };\n /** returns true if the row passes the said condition */\n SimpleFilter.prototype.individualConditionPasses = function (params, filterModel) {\n var cellValue = this.getCellValue(params.node);\n var values = this.mapValuesFromModel(filterModel);\n var customFilterOption = this.optionsFactory.getCustomOption(filterModel.type);\n var customFilterResult = this.evaluateCustomFilter(customFilterOption, values, cellValue);\n if (customFilterResult != null) {\n return customFilterResult;\n }\n if (cellValue == null) {\n return this.evaluateNullValue(filterModel.type);\n }\n return this.evaluateNonNullValue(values, cellValue, filterModel, params);\n };\n SimpleFilter.prototype.evaluateCustomFilter = function (customFilterOption, values, cellValue) {\n if (customFilterOption == null) {\n return;\n }\n var predicate = customFilterOption.predicate;\n // only execute the custom filter if a value exists or a value isn't required, i.e. input is hidden\n if (predicate != null && !values.some(function (v) { return v == null; })) {\n return predicate(values, cellValue);\n }\n // No custom filter invocation, indicate that to the caller.\n return;\n };\n SimpleFilter.prototype.isBlank = function (cellValue) {\n return cellValue == null ||\n (typeof cellValue === 'string' && cellValue.trim().length === 0);\n };\n SimpleFilter.EMPTY = 'empty';\n SimpleFilter.BLANK = 'blank';\n SimpleFilter.NOT_BLANK = 'notBlank';\n SimpleFilter.EQUALS = 'equals';\n SimpleFilter.NOT_EQUAL = 'notEqual';\n SimpleFilter.LESS_THAN = 'lessThan';\n SimpleFilter.LESS_THAN_OR_EQUAL = 'lessThanOrEqual';\n SimpleFilter.GREATER_THAN = 'greaterThan';\n SimpleFilter.GREATER_THAN_OR_EQUAL = 'greaterThanOrEqual';\n SimpleFilter.IN_RANGE = 'inRange';\n SimpleFilter.CONTAINS = 'contains';\n SimpleFilter.NOT_CONTAINS = 'notContains';\n SimpleFilter.STARTS_WITH = 'startsWith';\n SimpleFilter.ENDS_WITH = 'endsWith';\n __decorate$2g([\n RefSelector('eOptions1')\n ], SimpleFilter.prototype, \"eType1\", void 0);\n __decorate$2g([\n RefSelector('eOptions2')\n ], SimpleFilter.prototype, \"eType2\", void 0);\n __decorate$2g([\n RefSelector('eJoinOperatorPanel')\n ], SimpleFilter.prototype, \"eJoinOperatorPanel\", void 0);\n __decorate$2g([\n RefSelector('eJoinOperatorAnd')\n ], SimpleFilter.prototype, \"eJoinOperatorAnd\", void 0);\n __decorate$2g([\n RefSelector('eJoinOperatorOr')\n ], SimpleFilter.prototype, \"eJoinOperatorOr\", void 0);\n __decorate$2g([\n RefSelector('eCondition1Body')\n ], SimpleFilter.prototype, \"eCondition1Body\", void 0);\n __decorate$2g([\n RefSelector('eCondition2Body')\n ], SimpleFilter.prototype, \"eCondition2Body\", void 0);\n return SimpleFilter;\n}(ProvidedFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2D = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar ScalarFilter = /** @class */ (function (_super) {\n __extends$2D(ScalarFilter, _super);\n function ScalarFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScalarFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.scalarFilterParams = params;\n };\n ScalarFilter.prototype.evaluateNullValue = function (filterType) {\n switch (filterType) {\n case ScalarFilter.EQUALS:\n case ScalarFilter.NOT_EQUAL:\n if (this.scalarFilterParams.includeBlanksInEquals) {\n return true;\n }\n break;\n case ScalarFilter.GREATER_THAN:\n case ScalarFilter.GREATER_THAN_OR_EQUAL:\n if (this.scalarFilterParams.includeBlanksInGreaterThan) {\n return true;\n }\n break;\n case ScalarFilter.LESS_THAN:\n case ScalarFilter.LESS_THAN_OR_EQUAL:\n if (this.scalarFilterParams.includeBlanksInLessThan) {\n return true;\n }\n break;\n case ScalarFilter.IN_RANGE:\n if (this.scalarFilterParams.includeBlanksInRange) {\n return true;\n }\n break;\n case ScalarFilter.BLANK:\n return true;\n case ScalarFilter.NOT_BLANK:\n return false;\n }\n return false;\n };\n ScalarFilter.prototype.evaluateNonNullValue = function (values, cellValue, filterModel) {\n var comparator = this.comparator();\n var compareResult = values[0] != null ? comparator(values[0], cellValue) : 0;\n switch (filterModel.type) {\n case ScalarFilter.EQUALS:\n return compareResult === 0;\n case ScalarFilter.NOT_EQUAL:\n return compareResult !== 0;\n case ScalarFilter.GREATER_THAN:\n return compareResult > 0;\n case ScalarFilter.GREATER_THAN_OR_EQUAL:\n return compareResult >= 0;\n case ScalarFilter.LESS_THAN:\n return compareResult < 0;\n case ScalarFilter.LESS_THAN_OR_EQUAL:\n return compareResult <= 0;\n case ScalarFilter.IN_RANGE: {\n var compareToResult = comparator(values[1], cellValue);\n return this.scalarFilterParams.inRangeInclusive ?\n compareResult >= 0 && compareToResult <= 0 :\n compareResult > 0 && compareToResult < 0;\n }\n case ScalarFilter.BLANK:\n return this.isBlank(cellValue);\n case ScalarFilter.NOT_BLANK:\n return !this.isBlank(cellValue);\n default:\n console.warn('AG Grid: Unexpected type of filter \"' + filterModel.type + '\", it looks like the filter was configured with incorrect Filter Options');\n return true;\n }\n };\n return ScalarFilter;\n}(SimpleFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2C = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$b = (undefined && undefined.__assign) || function () {\n __assign$b = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$b.apply(this, arguments);\n};\nvar __decorate$2f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DEFAULT_MIN_YEAR = 1000;\nvar DEFAULT_MAX_YEAR = Infinity;\nvar DateFilter = /** @class */ (function (_super) {\n __extends$2C(DateFilter, _super);\n function DateFilter() {\n var _this = _super.call(this, 'dateFilter') || this;\n _this.minValidYear = DEFAULT_MIN_YEAR;\n _this.maxValidYear = DEFAULT_MAX_YEAR;\n return _this;\n }\n DateFilter.prototype.afterGuiAttached = function (params) {\n _super.prototype.afterGuiAttached.call(this, params);\n this.dateCondition1FromComp.afterGuiAttached(params);\n };\n DateFilter.prototype.mapValuesFromModel = function (filterModel) {\n // unlike the other filters, we do two things here:\n // 1) allow for different attribute names (same as done for other filters) (eg the 'from' and 'to'\n // are in different locations in Date and Number filter models)\n // 2) convert the type (because Date filter uses Dates, however model is 'string')\n //\n // NOTE: The conversion of string to date also removes the timezone - i.e. when user picks\n // a date from the UI, it will have timezone info in it. This is lost when creating\n // the model. When we recreate the date again here, it's without a timezone.\n var _a = filterModel || {}, dateFrom = _a.dateFrom, dateTo = _a.dateTo, type = _a.type;\n return [\n dateFrom && parseDateTimeFromString(dateFrom) || null,\n dateTo && parseDateTimeFromString(dateTo) || null,\n ].slice(0, this.getNumberOfInputs(type));\n };\n DateFilter.prototype.comparator = function () {\n return this.dateFilterParams.comparator ? this.dateFilterParams.comparator : this.defaultComparator.bind(this);\n };\n DateFilter.prototype.defaultComparator = function (filterDate, cellValue) {\n // The default comparator assumes that the cellValue is a date\n var cellAsDate = cellValue;\n if (cellValue == null || cellAsDate < filterDate) {\n return -1;\n }\n if (cellAsDate > filterDate) {\n return 1;\n }\n return 0;\n };\n DateFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.dateFilterParams = params;\n var yearParser = function (param, fallback) {\n if (params[param] != null) {\n if (!isNaN(params[param])) {\n return params[param] == null ? fallback : Number(params[param]);\n }\n else {\n console.warn(\"AG Grid: DateFilter \" + param + \" is not a number\");\n }\n }\n return fallback;\n };\n this.minValidYear = yearParser('minValidYear', DEFAULT_MIN_YEAR);\n this.maxValidYear = yearParser('maxValidYear', DEFAULT_MAX_YEAR);\n if (this.minValidYear > this.maxValidYear) {\n console.warn(\"AG Grid: DateFilter minValidYear should be <= maxValidYear\");\n }\n this.createDateComponents();\n };\n DateFilter.prototype.createDateComponents = function () {\n var _this = this;\n var createDateCompWrapper = function (element) {\n return new DateCompWrapper(_this.getContext(), _this.userComponentFactory, {\n onDateChanged: function () { return _this.onUiChanged(); },\n filterParams: _this.dateFilterParams\n }, element);\n };\n this.dateCondition1FromComp = createDateCompWrapper(this.eCondition1PanelFrom);\n this.dateCondition1ToComp = createDateCompWrapper(this.eCondition1PanelTo);\n this.dateCondition2FromComp = createDateCompWrapper(this.eCondition2PanelFrom);\n this.dateCondition2ToComp = createDateCompWrapper(this.eCondition2PanelTo);\n this.addDestroyFunc(function () {\n _this.forEachInput(function (element) { return element.destroy(); });\n });\n };\n DateFilter.prototype.setElementValue = function (element, value, silent) {\n element.setDate(value);\n };\n DateFilter.prototype.setElementDisplayed = function (element, displayed) {\n element.setDisplayed(displayed);\n };\n DateFilter.prototype.setElementDisabled = function (element, disabled) {\n element.setDisabled(disabled);\n };\n DateFilter.prototype.getDefaultFilterOptions = function () {\n return DateFilter.DEFAULT_FILTER_OPTIONS;\n };\n DateFilter.prototype.createValueTemplate = function (position) {\n var pos = position === ConditionPosition.One ? '1' : '2';\n return /* html */ \"\\n
\\n
\\n
\\n
\";\n };\n DateFilter.prototype.isConditionUiComplete = function (position) {\n var _this = this;\n if (!_super.prototype.isConditionUiComplete.call(this, position)) {\n return false;\n }\n var isValidDate = function (value) { return value != null\n && value.getUTCFullYear() >= _this.minValidYear\n && value.getUTCFullYear() <= _this.maxValidYear; };\n var valid = true;\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (elPosition !== position || !valid || index >= numberOfInputs) {\n return;\n }\n valid = valid && isValidDate(element.getDate());\n });\n return valid;\n };\n DateFilter.prototype.areSimpleModelsEqual = function (aSimple, bSimple) {\n return aSimple.dateFrom === bSimple.dateFrom\n && aSimple.dateTo === bSimple.dateTo\n && aSimple.type === bSimple.type;\n };\n DateFilter.prototype.getFilterType = function () {\n return 'date';\n };\n DateFilter.prototype.createCondition = function (position) {\n var type = this.getConditionTypes()[position];\n var model = {};\n var values = this.getValues(position);\n if (values.length > 0) {\n model.dateFrom = serialiseDate(values[0]);\n }\n if (values.length > 1) {\n model.dateTo = serialiseDate(values[1]);\n }\n return __assign$b({ dateFrom: null, dateTo: null, filterType: this.getFilterType(), type: type }, model);\n };\n DateFilter.prototype.resetPlaceholder = function () {\n var globalTranslate = this.gridOptionsWrapper.getLocaleTextFunc();\n var placeholder = this.translate('dateFormatOoo');\n var ariaLabel = globalTranslate('ariaFilterValue', 'Filter Value');\n this.forEachInput(function (element) {\n element.setInputPlaceholder(placeholder);\n element.setInputAriaLabel(ariaLabel);\n });\n };\n DateFilter.prototype.getInputs = function () {\n return [\n [this.dateCondition1FromComp, this.dateCondition1ToComp],\n [this.dateCondition2FromComp, this.dateCondition2ToComp],\n ];\n };\n DateFilter.prototype.getValues = function (position) {\n var result = [];\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (position === elPosition && index < numberOfInputs) {\n result.push(element.getDate());\n }\n });\n return result;\n };\n DateFilter.DEFAULT_FILTER_OPTIONS = [\n ScalarFilter.EQUALS,\n ScalarFilter.GREATER_THAN,\n ScalarFilter.LESS_THAN,\n ScalarFilter.NOT_EQUAL,\n ScalarFilter.IN_RANGE,\n ScalarFilter.BLANK,\n ScalarFilter.NOT_BLANK,\n ];\n __decorate$2f([\n RefSelector('eCondition1PanelFrom')\n ], DateFilter.prototype, \"eCondition1PanelFrom\", void 0);\n __decorate$2f([\n RefSelector('eCondition1PanelTo')\n ], DateFilter.prototype, \"eCondition1PanelTo\", void 0);\n __decorate$2f([\n RefSelector('eCondition2PanelFrom')\n ], DateFilter.prototype, \"eCondition2PanelFrom\", void 0);\n __decorate$2f([\n RefSelector('eCondition2PanelTo')\n ], DateFilter.prototype, \"eCondition2PanelTo\", void 0);\n __decorate$2f([\n Autowired('userComponentFactory')\n ], DateFilter.prototype, \"userComponentFactory\", void 0);\n return DateFilter;\n}(ScalarFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2B = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar SimpleFloatingFilter = /** @class */ (function (_super) {\n __extends$2B(SimpleFloatingFilter, _super);\n function SimpleFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleFloatingFilter.prototype.getDefaultDebounceMs = function () {\n return 0;\n };\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n SimpleFloatingFilter.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n // used by:\n // 1) NumberFloatingFilter & TextFloatingFilter: Always, for both when editable and read only.\n // 2) DateFloatingFilter: Only when read only (as we show text rather than a date picker when read only)\n SimpleFloatingFilter.prototype.getTextFromModel = function (model) {\n if (!model) {\n return null;\n }\n var isCombined = model.operator != null;\n if (isCombined) {\n var combinedModel = model;\n var _a = combinedModel || {}, condition1 = _a.condition1, condition2 = _a.condition2;\n var customOption1 = this.getTextFromModel(condition1);\n var customOption2 = this.getTextFromModel(condition2);\n return [\n customOption1,\n combinedModel.operator,\n customOption2,\n ].join(' ');\n }\n else if (model.type === SimpleFilter.BLANK || model.type === SimpleFilter.NOT_BLANK) {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n return translate(model.type, model.type);\n }\n else {\n var condition = model;\n var customOption = this.optionsFactory.getCustomOption(condition.type);\n // For custom filter options we display the Name of the filter instead\n // of displaying the `from` value, as it wouldn't be relevant\n var _b = customOption || {}, displayKey = _b.displayKey, displayName = _b.displayName, numberOfInputs = _b.numberOfInputs;\n if (displayKey && displayName && numberOfInputs === 0) {\n this.gridOptionsWrapper.getLocaleTextFunc()(displayKey, displayName);\n return displayName;\n }\n return this.conditionToString(condition, customOption);\n }\n };\n SimpleFloatingFilter.prototype.isEventFromFloatingFilter = function (event) {\n return event && event.afterFloatingFilter;\n };\n SimpleFloatingFilter.prototype.getLastType = function () {\n return this.lastType;\n };\n SimpleFloatingFilter.prototype.isReadOnly = function () {\n return this.readOnly;\n };\n SimpleFloatingFilter.prototype.setLastTypeFromModel = function (model) {\n // if no model provided by the parent filter use default\n if (!model) {\n this.lastType = this.optionsFactory.getDefaultOption();\n return;\n }\n var isCombined = model.operator;\n var condition;\n if (isCombined) {\n var combinedModel = model;\n condition = combinedModel.condition1;\n }\n else {\n condition = model;\n }\n this.lastType = condition.type;\n };\n SimpleFloatingFilter.prototype.canWeEditAfterModelFromParentFilter = function (model) {\n if (!model) {\n // if no model, then we can edit as long as the lastType is something we can edit, as this\n // is the type we will provide to the parent filter if the user decides to use the floating filter.\n return this.isTypeEditable(this.lastType);\n }\n // never allow editing if the filter is combined (ie has two parts)\n var isCombined = model.operator;\n if (isCombined) {\n return false;\n }\n var simpleModel = model;\n return this.isTypeEditable(simpleModel.type);\n };\n SimpleFloatingFilter.prototype.init = function (params) {\n this.optionsFactory = new OptionsFactory();\n this.optionsFactory.init(params.filterParams, this.getDefaultFilterOptions());\n this.lastType = this.optionsFactory.getDefaultOption();\n // readOnly is a property of IProvidedFilterParams - we need to find a better (type-safe)\n // way to support reading this in the future.\n this.readOnly = !!params.filterParams.readOnly;\n // we are editable if:\n // 1) there is a type (user has configured filter wrong if not type)\n // AND\n // 2) the default type is not 'in range'\n var editable = this.isTypeEditable(this.lastType);\n this.setEditable(editable);\n };\n SimpleFloatingFilter.prototype.doesFilterHaveSingleInput = function (filterType) {\n var customFilterOption = this.optionsFactory.getCustomOption(filterType);\n var numberOfInputs = (customFilterOption || {}).numberOfInputs;\n return numberOfInputs == null || numberOfInputs == 1;\n };\n SimpleFloatingFilter.prototype.isTypeEditable = function (type) {\n var uneditableTypes = [\n SimpleFilter.IN_RANGE, SimpleFilter.EMPTY, SimpleFilter.BLANK, SimpleFilter.NOT_BLANK,\n ];\n return !!type &&\n !this.isReadOnly() &&\n this.doesFilterHaveSingleInput(type) &&\n uneditableTypes.indexOf(type) < 0;\n };\n return SimpleFloatingFilter;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2A = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DateFloatingFilter = /** @class */ (function (_super) {\n __extends$2A(DateFloatingFilter, _super);\n function DateFloatingFilter() {\n return _super.call(this, /* html */ \"\\n
\\n \\n
\\n
\") || this;\n }\n DateFloatingFilter.prototype.getDefaultFilterOptions = function () {\n return DateFilter.DEFAULT_FILTER_OPTIONS;\n };\n DateFloatingFilter.prototype.conditionToString = function (condition, options) {\n var type = condition.type;\n var numberOfInputs = (options || {}).numberOfInputs;\n var isRange = type == SimpleFilter.IN_RANGE || numberOfInputs === 2;\n var dateFrom = parseDateTimeFromString(condition.dateFrom);\n var dateTo = parseDateTimeFromString(condition.dateTo);\n var format = this.filterParams.inRangeFloatingFilterDateFormat;\n if (isRange) {\n var formattedFrom = dateFrom !== null ? dateToFormattedString(dateFrom, format) : 'null';\n var formattedTo = dateTo !== null ? dateToFormattedString(dateTo, format) : 'null';\n return formattedFrom + \"-\" + formattedTo;\n }\n if (dateFrom != null) {\n return dateToFormattedString(dateFrom, format);\n }\n // cater for when the type doesn't need a value\n return \"\" + type;\n };\n DateFloatingFilter.prototype.init = function (params) {\n _super.prototype.init.call(this, params);\n this.params = params;\n this.filterParams = params.filterParams;\n this.createDateComponent();\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eReadOnlyText\n .setDisabled(true)\n .setInputAriaLabel(translate('ariaDateFilterInput', 'Date Filter Input'));\n };\n DateFloatingFilter.prototype.setEditable = function (editable) {\n setDisplayed(this.eDateWrapper, editable);\n setDisplayed(this.eReadOnlyText.getGui(), !editable);\n };\n DateFloatingFilter.prototype.onParentModelChanged = function (model, event) {\n // We don't want to update the floating filter if the floating filter caused the change,\n // because the UI is already in sync. if we didn't do this, the UI would behave strangely\n // as it would be updating as the user is typing\n if (this.isEventFromFloatingFilter(event)) {\n return;\n }\n _super.prototype.setLastTypeFromModel.call(this, model);\n var allowEditing = !this.isReadOnly() &&\n this.canWeEditAfterModelFromParentFilter(model);\n this.setEditable(allowEditing);\n if (allowEditing) {\n if (model) {\n var dateModel = model;\n this.dateComp.setDate(parseDateTimeFromString(dateModel.dateFrom));\n }\n else {\n this.dateComp.setDate(null);\n }\n this.eReadOnlyText.setValue('');\n }\n else {\n this.eReadOnlyText.setValue(this.getTextFromModel(model));\n this.dateComp.setDate(null);\n }\n };\n DateFloatingFilter.prototype.onDateChanged = function () {\n var _this = this;\n var filterValueDate = this.dateComp.getDate();\n var filterValueText = serialiseDate(filterValueDate);\n this.params.parentFilterInstance(function (filterInstance) {\n if (filterInstance) {\n var date = parseDateTimeFromString(filterValueText);\n filterInstance.onFloatingFilterChanged(_this.getLastType() || null, date);\n }\n });\n };\n DateFloatingFilter.prototype.createDateComponent = function () {\n var _this = this;\n var debounceMs = ProvidedFilter.getDebounceMs(this.params.filterParams, this.getDefaultDebounceMs());\n var dateComponentParams = {\n onDateChanged: debounce(this.onDateChanged.bind(this), debounceMs),\n filterParams: this.params.column.getColDef().filterParams\n };\n this.dateComp = new DateCompWrapper(this.getContext(), this.userComponentFactory, dateComponentParams, this.eDateWrapper);\n this.addDestroyFunc(function () { return _this.dateComp.destroy(); });\n };\n __decorate$2e([\n Autowired('userComponentFactory')\n ], DateFloatingFilter.prototype, \"userComponentFactory\", void 0);\n __decorate$2e([\n RefSelector('eReadOnlyText')\n ], DateFloatingFilter.prototype, \"eReadOnlyText\", void 0);\n __decorate$2e([\n RefSelector('eDateWrapper')\n ], DateFloatingFilter.prototype, \"eDateWrapper\", void 0);\n return DateFloatingFilter;\n}(SimpleFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DefaultDateComponent = /** @class */ (function (_super) {\n __extends$2z(DefaultDateComponent, _super);\n function DefaultDateComponent() {\n return _super.call(this, /* html */ \"\\n
\\n \\n
\") || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n DefaultDateComponent.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n DefaultDateComponent.prototype.init = function (params) {\n var _this = this;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var inputElement = this.eDateInput.getInputElement();\n if (this.shouldUseBrowserDatePicker(params)) {\n inputElement.type = 'date';\n }\n // ensures that the input element is focussed when a clear button is clicked\n this.addManagedListener(inputElement, 'mousedown', function () {\n if (_this.eDateInput.isDisabled()) {\n return;\n }\n inputElement.focus();\n });\n this.addManagedListener(inputElement, 'input', function (e) {\n if (e.target !== eDocument.activeElement) {\n return;\n }\n if (_this.eDateInput.isDisabled()) {\n return;\n }\n params.onDateChanged();\n });\n var _a = params.filterParams || {}, minValidYear = _a.minValidYear, maxValidYear = _a.maxValidYear;\n if (minValidYear) {\n inputElement.min = minValidYear + \"-01-01\";\n }\n if (maxValidYear) {\n inputElement.max = maxValidYear + \"-12-31\";\n }\n };\n DefaultDateComponent.prototype.getDate = function () {\n return parseDateTimeFromString(this.eDateInput.getValue());\n };\n DefaultDateComponent.prototype.setDate = function (date) {\n this.eDateInput.setValue(serialiseDate(date, false));\n };\n DefaultDateComponent.prototype.setInputPlaceholder = function (placeholder) {\n this.eDateInput.setInputPlaceholder(placeholder);\n };\n DefaultDateComponent.prototype.setDisabled = function (disabled) {\n this.eDateInput.setDisabled(disabled);\n };\n DefaultDateComponent.prototype.afterGuiAttached = function (params) {\n if (!params || !params.suppressFocus) {\n this.eDateInput.getInputElement().focus();\n }\n };\n DefaultDateComponent.prototype.shouldUseBrowserDatePicker = function (params) {\n if (params.filterParams && params.filterParams.browserDatePicker != null) {\n return params.filterParams.browserDatePicker;\n }\n return isBrowserChrome() || isBrowserFirefox();\n };\n __decorate$2d([\n RefSelector('eDateInput')\n ], DefaultDateComponent.prototype, \"eDateInput\", void 0);\n return DefaultDateComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar NumberFilter = /** @class */ (function (_super) {\n __extends$2y(NumberFilter, _super);\n function NumberFilter() {\n return _super.call(this, 'numberFilter') || this;\n }\n NumberFilter.prototype.mapValuesFromModel = function (filterModel) {\n var _a = filterModel || {}, filter = _a.filter, filterTo = _a.filterTo, type = _a.type;\n return [\n filter == null ? null : filter,\n filterTo == null ? null : filterTo,\n ].slice(0, this.getNumberOfInputs(type));\n };\n NumberFilter.prototype.getDefaultDebounceMs = function () {\n return 500;\n };\n NumberFilter.prototype.comparator = function () {\n return function (left, right) {\n if (left === right) {\n return 0;\n }\n return left < right ? 1 : -1;\n };\n };\n NumberFilter.prototype.setParams = function (params) {\n this.numberFilterParams = params;\n var allowedCharPattern = this.getAllowedCharPattern();\n if (allowedCharPattern) {\n var config = { allowedCharPattern: allowedCharPattern };\n this.resetTemplate({\n 'eValue-index0-1': config,\n 'eValue-index1-1': config,\n 'eValue-index0-2': config,\n 'eValue-index1-2': config,\n });\n }\n _super.prototype.setParams.call(this, params);\n };\n NumberFilter.prototype.getDefaultFilterOptions = function () {\n return NumberFilter.DEFAULT_FILTER_OPTIONS;\n };\n NumberFilter.prototype.createValueTemplate = function (position) {\n var pos = position === ConditionPosition.One ? '1' : '2';\n var allowedCharPattern = this.getAllowedCharPattern();\n var agElementTag = allowedCharPattern ? 'ag-input-text-field' : 'ag-input-number-field';\n return /* html */ \"\\n
\\n <\" + agElementTag + \" class=\\\"ag-filter-from ag-filter-filter\\\" ref=\\\"eValue-index0-\" + pos + \"\\\">\\n <\" + agElementTag + \" class=\\\"ag-filter-to ag-filter-filter\\\" ref=\\\"eValue-index1-\" + pos + \"\\\">\\n
\";\n };\n NumberFilter.prototype.getValues = function (position) {\n var _this = this;\n var result = [];\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (position === elPosition && index < numberOfInputs) {\n result.push(_this.stringToFloat(element.getValue()));\n }\n });\n return result;\n };\n NumberFilter.prototype.areSimpleModelsEqual = function (aSimple, bSimple) {\n return aSimple.filter === bSimple.filter\n && aSimple.filterTo === bSimple.filterTo\n && aSimple.type === bSimple.type;\n };\n NumberFilter.prototype.getFilterType = function () {\n return 'number';\n };\n NumberFilter.prototype.stringToFloat = function (value) {\n if (typeof value === 'number') {\n return value;\n }\n var filterText = makeNull(value);\n if (filterText != null && filterText.trim() === '') {\n filterText = null;\n }\n if (this.numberFilterParams.numberParser) {\n return this.numberFilterParams.numberParser(filterText);\n }\n return filterText == null || filterText.trim() === '-' ? null : parseFloat(filterText);\n };\n NumberFilter.prototype.createCondition = function (position) {\n var type = this.getConditionTypes()[position];\n var model = {\n filterType: this.getFilterType(),\n type: type\n };\n var values = this.getValues(position);\n if (values.length > 0) {\n model.filter = values[0];\n }\n if (values.length > 1) {\n model.filterTo = values[1];\n }\n return model;\n };\n NumberFilter.prototype.getInputs = function () {\n return [\n [this.eValueFrom1, this.eValueTo1],\n [this.eValueFrom2, this.eValueTo2],\n ];\n };\n NumberFilter.prototype.getAllowedCharPattern = function () {\n var allowedCharPattern = (this.numberFilterParams || {}).allowedCharPattern;\n if (allowedCharPattern) {\n return allowedCharPattern;\n }\n if (!isBrowserChrome() && !isBrowserEdge()) {\n // only Chrome and Edge support the HTML5 number field, so for other browsers we provide an equivalent\n // constraint instead\n return '\\\\d\\\\-\\\\.';\n }\n return null;\n };\n NumberFilter.DEFAULT_FILTER_OPTIONS = [\n ScalarFilter.EQUALS,\n ScalarFilter.NOT_EQUAL,\n ScalarFilter.LESS_THAN,\n ScalarFilter.LESS_THAN_OR_EQUAL,\n ScalarFilter.GREATER_THAN,\n ScalarFilter.GREATER_THAN_OR_EQUAL,\n ScalarFilter.IN_RANGE,\n ScalarFilter.BLANK,\n ScalarFilter.NOT_BLANK,\n ];\n __decorate$2c([\n RefSelector('eValue-index0-1')\n ], NumberFilter.prototype, \"eValueFrom1\", void 0);\n __decorate$2c([\n RefSelector('eValue-index1-1')\n ], NumberFilter.prototype, \"eValueTo1\", void 0);\n __decorate$2c([\n RefSelector('eValue-index0-2')\n ], NumberFilter.prototype, \"eValueFrom2\", void 0);\n __decorate$2c([\n RefSelector('eValue-index1-2')\n ], NumberFilter.prototype, \"eValueTo2\", void 0);\n return NumberFilter;\n}(ScalarFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2x = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$a = (undefined && undefined.__assign) || function () {\n __assign$a = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$a.apply(this, arguments);\n};\nvar __decorate$2b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TextFilter = /** @class */ (function (_super) {\n __extends$2x(TextFilter, _super);\n function TextFilter() {\n return _super.call(this, 'textFilter') || this;\n }\n TextFilter.trimInput = function (value) {\n var trimmedInput = value && value.trim();\n // trim the input, unless it is all whitespace (this is consistent with Excel behaviour)\n return trimmedInput === '' ? value : trimmedInput;\n };\n TextFilter.prototype.getDefaultDebounceMs = function () {\n return 500;\n };\n TextFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.textFilterParams = params;\n this.matcher = this.getTextMatcher();\n this.formatter = this.textFilterParams.textFormatter ||\n (this.textFilterParams.caseSensitive ? TextFilter.DEFAULT_FORMATTER : TextFilter.DEFAULT_LOWERCASE_FORMATTER);\n };\n TextFilter.prototype.getTextMatcher = function () {\n var legacyComparator = this.textFilterParams.textCustomComparator;\n if (legacyComparator) {\n _.doOnce(function () { return console.warn('AG Grid - textCustomComparator is deprecated, use textMatcher instead.'); }, 'textCustomComparator.deprecated');\n return function (_a) {\n var filterOption = _a.filterOption, value = _a.value, filterText = _a.filterText;\n return legacyComparator(filterOption, value, filterText);\n };\n }\n return this.textFilterParams.textMatcher || TextFilter.DEFAULT_MATCHER;\n };\n TextFilter.prototype.createCondition = function (position) {\n var type = this.getConditionTypes()[position];\n var model = {\n filterType: this.getFilterType(),\n type: type,\n };\n var values = this.getValues(position);\n if (values.length > 0) {\n model.filter = values[0];\n }\n if (values.length > 1) {\n model.filterTo = values[1];\n }\n return model;\n };\n TextFilter.prototype.getFilterType = function () {\n return 'text';\n };\n TextFilter.prototype.areSimpleModelsEqual = function (aSimple, bSimple) {\n return aSimple.filter === bSimple.filter &&\n aSimple.filterTo === bSimple.filterTo &&\n aSimple.type === bSimple.type;\n };\n TextFilter.prototype.getInputs = function () {\n return [\n [this.eValueFrom1, this.eValueTo1],\n [this.eValueFrom2, this.eValueTo2],\n ];\n };\n TextFilter.prototype.getValues = function (position) {\n var _this = this;\n var result = [];\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (position === elPosition && index < numberOfInputs) {\n var value = makeNull(element.getValue());\n var cleanValue = (_this.textFilterParams.trimInput ? TextFilter.trimInput(value) : value) || null;\n result.push(cleanValue);\n element.setValue(cleanValue, true); // ensure clean value is visible\n }\n });\n return result;\n };\n TextFilter.prototype.getDefaultFilterOptions = function () {\n return TextFilter.DEFAULT_FILTER_OPTIONS;\n };\n TextFilter.prototype.createValueTemplate = function (position) {\n var pos = position === ConditionPosition.One ? '1' : '2';\n return /* html */ \"\\n
\\n \\n \\n
\";\n };\n TextFilter.prototype.mapValuesFromModel = function (filterModel) {\n var _a = filterModel || {}, filter = _a.filter, filterTo = _a.filterTo, type = _a.type;\n return [\n filter || null,\n filterTo || null,\n ].slice(0, this.getNumberOfInputs(type));\n };\n TextFilter.prototype.evaluateNullValue = function (filterType) {\n var filterTypesAllowNulls = [\n SimpleFilter.NOT_EQUAL, SimpleFilter.NOT_CONTAINS, SimpleFilter.BLANK,\n ];\n return filterType ? filterTypesAllowNulls.indexOf(filterType) >= 0 : false;\n };\n TextFilter.prototype.evaluateNonNullValue = function (values, cellValue, filterModel, params) {\n var _this = this;\n var formattedValues = values.map(function (v) { return _this.formatter(v); }) || [];\n var cellValueFormatted = this.formatter(cellValue);\n var _a = this.textFilterParams, api = _a.api, colDef = _a.colDef, column = _a.column, columnApi = _a.columnApi, context = _a.context, textFormatter = _a.textFormatter;\n if (filterModel.type === SimpleFilter.BLANK) {\n return this.isBlank(cellValue);\n }\n else if (filterModel.type === SimpleFilter.NOT_BLANK) {\n return !this.isBlank(cellValue);\n }\n var matcherParams = {\n api: api,\n colDef: colDef,\n column: column,\n columnApi: columnApi,\n context: context,\n node: params.node,\n data: params.data,\n filterOption: filterModel.type,\n value: cellValueFormatted,\n textFormatter: textFormatter,\n };\n return formattedValues.some(function (v) { return _this.matcher(__assign$a(__assign$a({}, matcherParams), { filterText: v })); });\n };\n TextFilter.DEFAULT_FILTER_OPTIONS = [\n SimpleFilter.CONTAINS,\n SimpleFilter.NOT_CONTAINS,\n SimpleFilter.EQUALS,\n SimpleFilter.NOT_EQUAL,\n SimpleFilter.STARTS_WITH,\n SimpleFilter.ENDS_WITH,\n SimpleFilter.BLANK,\n SimpleFilter.NOT_BLANK,\n ];\n TextFilter.DEFAULT_FORMATTER = function (from) { return from; };\n TextFilter.DEFAULT_LOWERCASE_FORMATTER = function (from) { return from == null ? null : from.toString().toLowerCase(); };\n TextFilter.DEFAULT_MATCHER = function (_a) {\n var filterOption = _a.filterOption, value = _a.value, filterText = _a.filterText;\n if (filterText == null) {\n return false;\n }\n switch (filterOption) {\n case TextFilter.CONTAINS:\n return value.indexOf(filterText) >= 0;\n case TextFilter.NOT_CONTAINS:\n return value.indexOf(filterText) < 0;\n case TextFilter.EQUALS:\n return value === filterText;\n case TextFilter.NOT_EQUAL:\n return value != filterText;\n case TextFilter.STARTS_WITH:\n return value.indexOf(filterText) === 0;\n case TextFilter.ENDS_WITH:\n var index = value.lastIndexOf(filterText);\n return index >= 0 && index === (value.length - filterText.length);\n default:\n return false;\n }\n };\n __decorate$2b([\n RefSelector('eValue-index0-1')\n ], TextFilter.prototype, \"eValueFrom1\", void 0);\n __decorate$2b([\n RefSelector('eValue-index1-1')\n ], TextFilter.prototype, \"eValueTo1\", void 0);\n __decorate$2b([\n RefSelector('eValue-index0-2')\n ], TextFilter.prototype, \"eValueFrom2\", void 0);\n __decorate$2b([\n RefSelector('eValue-index1-2')\n ], TextFilter.prototype, \"eValueTo2\", void 0);\n return TextFilter;\n}(SimpleFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2w = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TextInputFloatingFilter = /** @class */ (function (_super) {\n __extends$2w(TextInputFloatingFilter, _super);\n function TextInputFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TextInputFloatingFilter.prototype.postConstruct = function () {\n this.resetTemplate();\n };\n TextInputFloatingFilter.prototype.resetTemplate = function (paramsMap) {\n this.setTemplate(/* html */ \"\\n
\\n \\n
\\n \", paramsMap);\n };\n TextInputFloatingFilter.prototype.getDefaultDebounceMs = function () {\n return 500;\n };\n TextInputFloatingFilter.prototype.onParentModelChanged = function (model, event) {\n if (this.isEventFromFloatingFilter(event)) {\n // if the floating filter triggered the change, it is already in sync\n return;\n }\n this.setLastTypeFromModel(model);\n this.eFloatingFilterInput.setValue(this.getTextFromModel(model));\n this.setEditable(this.canWeEditAfterModelFromParentFilter(model));\n };\n TextInputFloatingFilter.prototype.init = function (params) {\n _super.prototype.init.call(this, params);\n this.params = params;\n this.applyActive = ProvidedFilter.isUseApplyButton(this.params.filterParams);\n var allowedCharPattern = this.params.filterParams.allowedCharPattern;\n if (allowedCharPattern != null) {\n this.resetTemplate({ eFloatingFilterInput: { allowedCharPattern: allowedCharPattern } });\n }\n if (!this.isReadOnly()) {\n var debounceMs = ProvidedFilter.getDebounceMs(this.params.filterParams, this.getDefaultDebounceMs());\n var toDebounce = debounce(this.syncUpWithParentFilter.bind(this), debounceMs);\n var filterGui = this.eFloatingFilterInput.getGui();\n this.addManagedListener(filterGui, 'input', toDebounce);\n this.addManagedListener(filterGui, 'keypress', toDebounce);\n this.addManagedListener(filterGui, 'keydown', toDebounce);\n }\n var columnDef = params.column.getDefinition();\n if (this.isReadOnly() || (columnDef.filterParams &&\n columnDef.filterParams.filterOptions &&\n columnDef.filterParams.filterOptions.length === 1 &&\n columnDef.filterParams.filterOptions[0] === 'inRange')) {\n this.eFloatingFilterInput.setDisabled(true);\n }\n var displayName = this.columnModel.getDisplayNameForColumn(params.column, 'header', true);\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eFloatingFilterInput.setInputAriaLabel(displayName + \" \" + translate('ariaFilterInput', 'Filter Input'));\n };\n TextInputFloatingFilter.prototype.syncUpWithParentFilter = function (e) {\n var _this = this;\n var enterKeyPressed = e.key === KeyCode.ENTER;\n if (this.applyActive && !enterKeyPressed) {\n return;\n }\n var value = this.eFloatingFilterInput.getValue();\n if (this.params.filterParams.trimInput) {\n value = TextFilter.trimInput(value);\n this.eFloatingFilterInput.setValue(value, true); // ensure visible value is trimmed\n }\n this.params.parentFilterInstance(function (filterInstance) {\n if (filterInstance) {\n filterInstance.onFloatingFilterChanged(_this.getLastType() || null, value || null);\n }\n });\n };\n TextInputFloatingFilter.prototype.conditionToString = function (condition, options) {\n var numberOfInputs = (options || {}).numberOfInputs;\n var isRange = condition.type == SimpleFilter.IN_RANGE || numberOfInputs === 2;\n if (isRange) {\n return condition.filter + \"-\" + condition.filterTo;\n }\n // cater for when the type doesn't need a value\n if (condition.filter != null) {\n return \"\" + condition.filter;\n }\n return \"\" + condition.type;\n };\n TextInputFloatingFilter.prototype.setEditable = function (editable) {\n this.eFloatingFilterInput.setDisabled(!editable);\n };\n __decorate$2a([\n Autowired('columnModel')\n ], TextInputFloatingFilter.prototype, \"columnModel\", void 0);\n __decorate$2a([\n RefSelector('eFloatingFilterInput')\n ], TextInputFloatingFilter.prototype, \"eFloatingFilterInput\", void 0);\n __decorate$2a([\n PostConstruct\n ], TextInputFloatingFilter.prototype, \"postConstruct\", null);\n return TextInputFloatingFilter;\n}(SimpleFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2v = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar NumberFloatingFilter = /** @class */ (function (_super) {\n __extends$2v(NumberFloatingFilter, _super);\n function NumberFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumberFloatingFilter.prototype.getDefaultFilterOptions = function () {\n return NumberFilter.DEFAULT_FILTER_OPTIONS;\n };\n return NumberFloatingFilter;\n}(TextInputFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2u = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar TextFloatingFilter = /** @class */ (function (_super) {\n __extends$2u(TextFloatingFilter, _super);\n function TextFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TextFloatingFilter.prototype.getDefaultFilterOptions = function () {\n return TextFilter.DEFAULT_FILTER_OPTIONS;\n };\n return TextFloatingFilter;\n}(TextInputFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar TouchListener = /** @class */ (function () {\n function TouchListener(eElement, preventMouseClick) {\n var _this = this;\n if (preventMouseClick === void 0) { preventMouseClick = false; }\n this.destroyFuncs = [];\n this.touching = false;\n this.eventService = new EventService();\n this.eElement = eElement;\n this.preventMouseClick = preventMouseClick;\n var startListener = this.onTouchStart.bind(this);\n var moveListener = this.onTouchMove.bind(this);\n var endListener = this.onTouchEnd.bind(this);\n this.eElement.addEventListener(\"touchstart\", startListener, { passive: true });\n this.eElement.addEventListener(\"touchmove\", moveListener, { passive: true });\n // we set passive=false, as we want to prevent default on this event\n this.eElement.addEventListener(\"touchend\", endListener, { passive: false });\n this.destroyFuncs.push(function () {\n _this.eElement.removeEventListener(\"touchstart\", startListener, { passive: true });\n _this.eElement.removeEventListener(\"touchmove\", moveListener, { passive: true });\n _this.eElement.removeEventListener(\"touchend\", endListener, { passive: false });\n });\n }\n TouchListener.prototype.getActiveTouch = function (touchList) {\n for (var i = 0; i < touchList.length; i++) {\n var matches = touchList[i].identifier === this.touchStart.identifier;\n if (matches) {\n return touchList[i];\n }\n }\n return null;\n };\n TouchListener.prototype.addEventListener = function (eventType, listener) {\n this.eventService.addEventListener(eventType, listener);\n };\n TouchListener.prototype.removeEventListener = function (eventType, listener) {\n this.eventService.removeEventListener(eventType, listener);\n };\n TouchListener.prototype.onTouchStart = function (touchEvent) {\n var _this = this;\n // only looking at one touch point at any time\n if (this.touching) {\n return;\n }\n this.touchStart = touchEvent.touches[0];\n this.touching = true;\n this.moved = false;\n var touchStartCopy = this.touchStart;\n window.setTimeout(function () {\n var touchesMatch = _this.touchStart === touchStartCopy;\n if (_this.touching && touchesMatch && !_this.moved) {\n _this.moved = true;\n var event_1 = {\n type: TouchListener.EVENT_LONG_TAP,\n touchStart: _this.touchStart,\n touchEvent: touchEvent\n };\n _this.eventService.dispatchEvent(event_1);\n }\n }, 500);\n };\n TouchListener.prototype.onTouchMove = function (touchEvent) {\n if (!this.touching) {\n return;\n }\n var touch = this.getActiveTouch(touchEvent.touches);\n if (!touch) {\n return;\n }\n var eventIsFarAway = !areEventsNear(touch, this.touchStart, 4);\n if (eventIsFarAway) {\n this.moved = true;\n }\n };\n TouchListener.prototype.onTouchEnd = function (touchEvent) {\n if (!this.touching) {\n return;\n }\n if (!this.moved) {\n var event_2 = {\n type: TouchListener.EVENT_TAP,\n touchStart: this.touchStart\n };\n this.eventService.dispatchEvent(event_2);\n this.checkForDoubleTap();\n }\n // stops the tap from also been processed as a mouse click\n if (this.preventMouseClick && touchEvent.cancelable) {\n touchEvent.preventDefault();\n }\n this.touching = false;\n };\n TouchListener.prototype.checkForDoubleTap = function () {\n var now = new Date().getTime();\n if (this.lastTapTime && this.lastTapTime > 0) {\n // if previous tap, see if duration is short enough to be considered double tap\n var interval = now - this.lastTapTime;\n if (interval > TouchListener.DOUBLE_TAP_MILLIS) {\n // dispatch double tap event\n var event_3 = {\n type: TouchListener.EVENT_DOUBLE_TAP,\n touchStart: this.touchStart\n };\n this.eventService.dispatchEvent(event_3);\n // this stops a tripple tap ending up as two double taps\n this.lastTapTime = null;\n }\n else {\n this.lastTapTime = now;\n }\n }\n else {\n this.lastTapTime = now;\n }\n };\n TouchListener.prototype.destroy = function () {\n this.destroyFuncs.forEach(function (func) { return func(); });\n };\n TouchListener.EVENT_TAP = \"tap\";\n TouchListener.EVENT_DOUBLE_TAP = \"doubleTap\";\n TouchListener.EVENT_LONG_TAP = \"longTap\";\n TouchListener.DOUBLE_TAP_MILLIS = 500;\n return TouchListener;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2t = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$29 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SortIndicatorComp = /** @class */ (function (_super) {\n __extends$2t(SortIndicatorComp, _super);\n function SortIndicatorComp(skipTemplate) {\n var _this = _super.call(this) || this;\n if (!skipTemplate) {\n _this.setTemplate(SortIndicatorComp.TEMPLATE);\n }\n return _this;\n }\n SortIndicatorComp.prototype.attachCustomElements = function (eSortOrder, eSortAsc, eSortDesc, eSortMixed, eSortNone) {\n this.eSortOrder = eSortOrder;\n this.eSortAsc = eSortAsc;\n this.eSortDesc = eSortDesc;\n this.eSortMixed = eSortMixed;\n this.eSortNone = eSortNone;\n };\n SortIndicatorComp.prototype.setupSort = function (column, suppressOrder) {\n var _this = this;\n if (suppressOrder === void 0) { suppressOrder = false; }\n this.column = column;\n this.suppressOrder = suppressOrder;\n this.setupMultiSortIndicator();\n var canSort = !!this.column.getColDef().sortable;\n if (!canSort) {\n return;\n }\n this.addInIcon('sortAscending', this.eSortAsc, column);\n this.addInIcon('sortDescending', this.eSortDesc, column);\n this.addInIcon('sortUnSort', this.eSortNone, column);\n // Watch global events, as row group columns can effect their display column.\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, function () { return _this.onSortChanged(); });\n // when grouping changes so can sort indexes and icons\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, function () { return _this.onSortChanged(); });\n this.onSortChanged();\n };\n SortIndicatorComp.prototype.addInIcon = function (iconName, eParent, column) {\n if (eParent == null) {\n return;\n }\n var eIcon = createIconNoSpan(iconName, this.gridOptionsWrapper, column);\n if (eIcon) {\n eParent.appendChild(eIcon);\n }\n };\n SortIndicatorComp.prototype.onSortChanged = function () {\n this.updateIcons();\n if (!this.suppressOrder) {\n this.updateSortOrder();\n }\n };\n SortIndicatorComp.prototype.updateIcons = function () {\n var sortDirection = this.sortController.getDisplaySortForColumn(this.column);\n if (this.eSortAsc) {\n var isAscending = sortDirection === 'asc';\n this.eSortAsc.classList.toggle('ag-hidden', !isAscending);\n }\n if (this.eSortDesc) {\n var isDescending = sortDirection === 'desc';\n this.eSortDesc.classList.toggle('ag-hidden', !isDescending);\n }\n if (this.eSortNone) {\n var alwaysHideNoSort = !this.column.getColDef().unSortIcon && !this.gridOptionsWrapper.isUnSortIcon();\n var isNone = sortDirection === null || sortDirection === undefined;\n this.eSortNone.classList.toggle('ag-hidden', (alwaysHideNoSort || !isNone));\n }\n };\n SortIndicatorComp.prototype.setupMultiSortIndicator = function () {\n var _this = this;\n this.addInIcon('sortUnSort', this.eSortMixed, this.column);\n var isColumnShowingRowGroup = this.column.getColDef().showRowGroup;\n var areGroupsCoupled = this.gridOptionsWrapper.isColumnsSortingCoupledToGroup();\n if (areGroupsCoupled && isColumnShowingRowGroup) {\n // Watch global events, as row group columns can effect their display column.\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, function () { return _this.updateMultiSortIndicator(); });\n // when grouping changes so can sort indexes and icons\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, function () { return _this.updateMultiSortIndicator(); });\n this.updateMultiSortIndicator();\n }\n };\n SortIndicatorComp.prototype.updateMultiSortIndicator = function () {\n if (this.eSortMixed) {\n var isMixedSort = this.sortController.getDisplaySortForColumn(this.column) === 'mixed';\n this.eSortMixed.classList.toggle('ag-hidden', !isMixedSort);\n }\n };\n // we listen here for global sort events, NOT column sort events, as we want to do this\n // when sorting has been set on all column (if we listened just for our col (where we\n // set the asc / desc icons) then it's possible other cols are yet to get their sorting state.\n SortIndicatorComp.prototype.updateSortOrder = function () {\n var _this = this;\n var _a;\n if (!this.eSortOrder) {\n return;\n }\n var allColumnsWithSorting = this.sortController.getColumnsWithSortingOrdered();\n var indexThisCol = (_a = this.sortController.getDisplaySortIndexForColumn(this.column), (_a !== null && _a !== void 0 ? _a : -1));\n var moreThanOneColSorting = allColumnsWithSorting.some(function (col) { var _a; return _a = _this.sortController.getDisplaySortIndexForColumn(col), (_a !== null && _a !== void 0 ? _a : -1 >= 1); });\n var showIndex = indexThisCol >= 0 && moreThanOneColSorting;\n setDisplayed(this.eSortOrder, showIndex);\n if (indexThisCol >= 0) {\n this.eSortOrder.innerHTML = (indexThisCol + 1).toString();\n }\n else {\n clearElement(this.eSortOrder);\n }\n };\n SortIndicatorComp.TEMPLATE = \"\\n \\n \\n \\n \\n \\n \";\n __decorate$29([\n RefSelector('eSortOrder')\n ], SortIndicatorComp.prototype, \"eSortOrder\", void 0);\n __decorate$29([\n RefSelector('eSortAsc')\n ], SortIndicatorComp.prototype, \"eSortAsc\", void 0);\n __decorate$29([\n RefSelector('eSortDesc')\n ], SortIndicatorComp.prototype, \"eSortDesc\", void 0);\n __decorate$29([\n RefSelector('eSortMixed')\n ], SortIndicatorComp.prototype, \"eSortMixed\", void 0);\n __decorate$29([\n RefSelector('eSortNone')\n ], SortIndicatorComp.prototype, \"eSortNone\", void 0);\n __decorate$29([\n Autowired('columnModel')\n ], SortIndicatorComp.prototype, \"columnModel\", void 0);\n __decorate$29([\n Autowired('sortController')\n ], SortIndicatorComp.prototype, \"sortController\", void 0);\n return SortIndicatorComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2s = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$28 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderComp = /** @class */ (function (_super) {\n __extends$2s(HeaderComp, _super);\n function HeaderComp() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.lastMovingChanged = 0;\n return _this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n HeaderComp.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n HeaderComp.prototype.refresh = function (params) {\n this.params = params;\n // if template changed, then recreate the whole comp, the code required to manage\n // a changing template is to difficult for what it's worth.\n if (this.workOutTemplate() != this.currentTemplate) {\n return false;\n }\n if (this.workOutShowMenu() != this.currentShowMenu) {\n return false;\n }\n if (this.workOutSort() != this.currentSort) {\n return false;\n }\n this.setDisplayName(params);\n return true;\n };\n HeaderComp.prototype.workOutTemplate = function () {\n var template = firstExistingValue(this.params.template, HeaderComp.TEMPLATE);\n // take account of any newlines & whitespace before/after the actual template\n template = template && template.trim ? template.trim() : template;\n return template;\n };\n HeaderComp.prototype.init = function (params) {\n this.params = params;\n this.currentTemplate = this.workOutTemplate();\n this.setTemplate(this.currentTemplate);\n this.setupTap();\n this.setupIcons(params.column);\n this.setMenu();\n this.setupSort();\n this.setupFilterIcon();\n this.setDisplayName(params);\n };\n HeaderComp.prototype.setDisplayName = function (params) {\n if (this.currentDisplayName != params.displayName) {\n this.currentDisplayName = params.displayName;\n var displayNameSanitised = escapeString(this.currentDisplayName);\n if (this.eText) {\n this.eText.innerHTML = displayNameSanitised;\n }\n }\n };\n HeaderComp.prototype.setupIcons = function (column) {\n this.addInIcon('menu', this.eMenu, column);\n this.addInIcon('filter', this.eFilter, column);\n };\n HeaderComp.prototype.addInIcon = function (iconName, eParent, column) {\n if (eParent == null) {\n return;\n }\n var eIcon = createIconNoSpan(iconName, this.gridOptionsWrapper, column);\n if (eIcon) {\n eParent.appendChild(eIcon);\n }\n };\n HeaderComp.prototype.setupTap = function () {\n var _this = this;\n var options = this.gridOptionsWrapper;\n if (options.isSuppressTouch()) {\n return;\n }\n var touchListener = new TouchListener(this.getGui(), true);\n var suppressMenuHide = options.isSuppressMenuHide();\n var tapMenuButton = suppressMenuHide && exists(this.eMenu);\n var menuTouchListener = tapMenuButton ? new TouchListener(this.eMenu, true) : touchListener;\n if (this.params.enableMenu) {\n var eventType = tapMenuButton ? 'EVENT_TAP' : 'EVENT_LONG_TAP';\n var showMenuFn = function (event) {\n options.getApi().showColumnMenuAfterMouseClick(_this.params.column, event.touchStart);\n };\n this.addManagedListener(menuTouchListener, TouchListener[eventType], showMenuFn);\n }\n if (this.params.enableSorting) {\n var tapListener = function (event) {\n var target = event.touchStart.target;\n // When suppressMenuHide is true, a tap on the menu icon will bubble up\n // to the header container, in that case we should not sort\n if (suppressMenuHide && _this.eMenu.contains(target)) {\n return;\n }\n _this.sortController.progressSort(_this.params.column, false, \"uiColumnSorted\");\n };\n this.addManagedListener(touchListener, TouchListener.EVENT_TAP, tapListener);\n }\n // if tapMenuButton is true `touchListener` and `menuTouchListener` are different\n // so we need to make sure to destroy both listeners here\n this.addDestroyFunc(function () { return touchListener.destroy(); });\n if (tapMenuButton) {\n this.addDestroyFunc(function () { return menuTouchListener.destroy(); });\n }\n };\n HeaderComp.prototype.workOutShowMenu = function () {\n // we don't show the menu if on an iPad/iPhone, as the user cannot have a pointer device/\n // However if suppressMenuHide is set to true the menu will be displayed alwasys, so it's ok\n // to show it on iPad in this case (as hover isn't needed). If suppressMenuHide\n // is false (default) user will need to use longpress to display the menu.\n var menuHides = !this.gridOptionsWrapper.isSuppressMenuHide();\n var onIpadAndMenuHides = isIOSUserAgent() && menuHides;\n var showMenu = this.params.enableMenu && !onIpadAndMenuHides;\n return showMenu;\n };\n HeaderComp.prototype.setMenu = function () {\n var _this = this;\n // if no menu provided in template, do nothing\n if (!this.eMenu) {\n return;\n }\n this.currentShowMenu = this.workOutShowMenu();\n if (!this.currentShowMenu) {\n removeFromParent(this.eMenu);\n return;\n }\n var suppressMenuHide = this.gridOptionsWrapper.isSuppressMenuHide();\n this.addManagedListener(this.eMenu, 'click', function () { return _this.showMenu(_this.eMenu); });\n this.eMenu.classList.toggle('ag-header-menu-always-show', suppressMenuHide);\n };\n HeaderComp.prototype.showMenu = function (eventSource) {\n if (!eventSource) {\n eventSource = this.eMenu;\n }\n this.menuFactory.showMenuAfterButtonClick(this.params.column, eventSource, 'columnMenu');\n };\n HeaderComp.prototype.workOutSort = function () {\n return this.params.enableSorting;\n };\n HeaderComp.prototype.setupSort = function () {\n var _this = this;\n this.currentSort = this.params.enableSorting;\n // eSortIndicator will not be present when customers provided custom header\n // templates, in that case, we need to look for provided sort elements and\n // manually create eSortIndicator.\n if (!this.eSortIndicator) {\n this.eSortIndicator = this.context.createBean(new SortIndicatorComp(true));\n this.eSortIndicator.attachCustomElements(this.eSortOrder, this.eSortAsc, this.eSortDesc, this.eSortMixed, this.eSortNone);\n }\n this.eSortIndicator.setupSort(this.params.column);\n // we set up the indicator prior to the check for whether this column is sortable, as it allows the indicator to\n // set up the multi sort indicator which can appear irrelevant of whether this column can itself be sorted.\n // this can occur in the case of a non-sortable group display column.\n if (!this.currentSort) {\n return;\n }\n var sortUsingCtrl = this.gridOptionsWrapper.isMultiSortKeyCtrl();\n // keep track of last time the moving changed flag was set\n this.addManagedListener(this.params.column, Column.EVENT_MOVING_CHANGED, function () {\n _this.lastMovingChanged = new Date().getTime();\n });\n // add the event on the header, so when clicked, we do sorting\n if (this.eLabel) {\n this.addManagedListener(this.eLabel, 'click', function (event) {\n // sometimes when moving a column via dragging, this was also firing a clicked event.\n // here is issue raised by user: https://ag-grid.zendesk.com/agent/tickets/1076\n // this check stops sort if a) column is moving or b) column moved less than 200ms ago (so caters for race condition)\n var moving = _this.params.column.isMoving();\n var nowTime = new Date().getTime();\n // typically there is <2ms if moving flag was set recently, as it would be done in same VM turn\n var movedRecently = (nowTime - _this.lastMovingChanged) < 50;\n var columnMoving = moving || movedRecently;\n if (!columnMoving) {\n var multiSort = sortUsingCtrl ? (event.ctrlKey || event.metaKey) : event.shiftKey;\n _this.params.progressSort(multiSort);\n }\n });\n }\n var onSortingChanged = function () {\n var _a;\n _this.addOrRemoveCssClass('ag-header-cell-sorted-asc', _this.params.column.isSortAscending());\n _this.addOrRemoveCssClass('ag-header-cell-sorted-desc', _this.params.column.isSortDescending());\n _this.addOrRemoveCssClass('ag-header-cell-sorted-none', _this.params.column.isSortNone());\n if (_this.params.column.getColDef().showRowGroup) {\n var sourceColumns = _this.columnModel.getSourceColumnsForGroupColumn(_this.params.column);\n // this == is intentional, as it allows null and undefined to match, which are both unsorted states\n var sortDirectionsMatch = (_a = sourceColumns) === null || _a === void 0 ? void 0 : _a.every(function (sourceCol) { return _this.params.column.getSort() == sourceCol.getSort(); });\n var isMultiSorting = !sortDirectionsMatch;\n _this.addOrRemoveCssClass('ag-header-cell-sorted-mixed', isMultiSorting);\n }\n };\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, onSortingChanged);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, onSortingChanged);\n };\n HeaderComp.prototype.setupFilterIcon = function () {\n if (!this.eFilter) {\n return;\n }\n this.addManagedListener(this.params.column, Column.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.onFilterChanged();\n };\n HeaderComp.prototype.onFilterChanged = function () {\n var filterPresent = this.params.column.isFilterActive();\n this.eFilter.classList.toggle('ag-hidden', !filterPresent);\n };\n HeaderComp.TEMPLATE = \"
\\n \\n
\\n \\n \\n \\n
\\n
\";\n __decorate$28([\n Autowired('sortController')\n ], HeaderComp.prototype, \"sortController\", void 0);\n __decorate$28([\n Autowired('menuFactory')\n ], HeaderComp.prototype, \"menuFactory\", void 0);\n __decorate$28([\n Autowired('columnModel')\n ], HeaderComp.prototype, \"columnModel\", void 0);\n __decorate$28([\n RefSelector('eFilter')\n ], HeaderComp.prototype, \"eFilter\", void 0);\n __decorate$28([\n RefSelector('eSortIndicator')\n ], HeaderComp.prototype, \"eSortIndicator\", void 0);\n __decorate$28([\n RefSelector('eMenu')\n ], HeaderComp.prototype, \"eMenu\", void 0);\n __decorate$28([\n RefSelector('eLabel')\n ], HeaderComp.prototype, \"eLabel\", void 0);\n __decorate$28([\n RefSelector('eText')\n ], HeaderComp.prototype, \"eText\", void 0);\n __decorate$28([\n RefSelector('eSortOrder')\n ], HeaderComp.prototype, \"eSortOrder\", void 0);\n __decorate$28([\n RefSelector('eSortAsc')\n ], HeaderComp.prototype, \"eSortAsc\", void 0);\n __decorate$28([\n RefSelector('eSortDesc')\n ], HeaderComp.prototype, \"eSortDesc\", void 0);\n __decorate$28([\n RefSelector('eSortMixed')\n ], HeaderComp.prototype, \"eSortMixed\", void 0);\n __decorate$28([\n RefSelector('eSortNone')\n ], HeaderComp.prototype, \"eSortNone\", void 0);\n return HeaderComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2r = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$27 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderGroupComp = /** @class */ (function (_super) {\n __extends$2r(HeaderGroupComp, _super);\n function HeaderGroupComp() {\n return _super.call(this, HeaderGroupComp.TEMPLATE) || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n HeaderGroupComp.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n HeaderGroupComp.prototype.init = function (params) {\n this.params = params;\n this.checkWarnings();\n this.setupLabel();\n this.addGroupExpandIcon();\n this.setupExpandIcons();\n };\n HeaderGroupComp.prototype.checkWarnings = function () {\n var paramsAny = this.params;\n if (paramsAny.template) {\n var message_1 = \"AG Grid: A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)\";\n doOnce(function () { return console.warn(message_1); }, 'HeaderGroupComp.templateNotSupported');\n }\n };\n HeaderGroupComp.prototype.setupExpandIcons = function () {\n var _this = this;\n this.addInIcon(\"columnGroupOpened\", \"agOpened\");\n this.addInIcon(\"columnGroupClosed\", \"agClosed\");\n var expandAction = function (event) {\n if (isStopPropagationForAgGrid(event)) {\n return;\n }\n var newExpandedValue = !_this.params.columnGroup.isExpanded();\n _this.columnModel.setColumnGroupOpened(_this.params.columnGroup.getProvidedColumnGroup(), newExpandedValue, \"uiColumnExpanded\");\n };\n this.addTouchAndClickListeners(this.eCloseIcon, expandAction);\n this.addTouchAndClickListeners(this.eOpenIcon, expandAction);\n var stopPropagationAction = function (event) {\n stopPropagationForAgGrid(event);\n };\n // adding stopPropagation to the double click for the icons prevents double click action happening\n // when the icons are clicked. if the icons are double clicked, then the groups should open and\n // then close again straight away. if we also listened to double click, then the group would open,\n // close, then open, which is not what we want. double click should only action if the user double\n // clicks outside of the icons.\n this.addManagedListener(this.eCloseIcon, \"dblclick\", stopPropagationAction);\n this.addManagedListener(this.eOpenIcon, \"dblclick\", stopPropagationAction);\n this.addManagedListener(this.getGui(), \"dblclick\", expandAction);\n this.updateIconVisibility();\n var providedColumnGroup = this.params.columnGroup.getProvidedColumnGroup();\n this.addManagedListener(providedColumnGroup, ProvidedColumnGroup.EVENT_EXPANDED_CHANGED, this.updateIconVisibility.bind(this));\n this.addManagedListener(providedColumnGroup, ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED, this.updateIconVisibility.bind(this));\n };\n HeaderGroupComp.prototype.addTouchAndClickListeners = function (eElement, action) {\n var touchListener = new TouchListener(eElement, true);\n this.addManagedListener(touchListener, TouchListener.EVENT_TAP, action);\n this.addDestroyFunc(function () { return touchListener.destroy(); });\n this.addManagedListener(eElement, \"click\", action);\n };\n HeaderGroupComp.prototype.updateIconVisibility = function () {\n var columnGroup = this.params.columnGroup;\n if (columnGroup.isExpandable()) {\n var expanded = this.params.columnGroup.isExpanded();\n setDisplayed(this.eOpenIcon, expanded);\n setDisplayed(this.eCloseIcon, !expanded);\n }\n else {\n setDisplayed(this.eOpenIcon, false);\n setDisplayed(this.eCloseIcon, false);\n }\n };\n HeaderGroupComp.prototype.addInIcon = function (iconName, refName) {\n var eIcon = createIconNoSpan(iconName, this.gridOptionsWrapper, null);\n if (eIcon) {\n this.getRefElement(refName).appendChild(eIcon);\n }\n };\n HeaderGroupComp.prototype.addGroupExpandIcon = function () {\n if (!this.params.columnGroup.isExpandable()) {\n setDisplayed(this.eOpenIcon, false);\n setDisplayed(this.eCloseIcon, false);\n return;\n }\n };\n HeaderGroupComp.prototype.setupLabel = function () {\n // no renderer, default text render\n var displayName = this.params.displayName;\n if (exists(displayName)) {\n var displayNameSanitised = escapeString(displayName);\n this.getRefElement('agLabel').innerHTML = displayNameSanitised;\n }\n };\n HeaderGroupComp.TEMPLATE = \"
\\n \\n \\n \\n
\";\n __decorate$27([\n Autowired(\"columnModel\")\n ], HeaderGroupComp.prototype, \"columnModel\", void 0);\n __decorate$27([\n RefSelector(\"agOpened\")\n ], HeaderGroupComp.prototype, \"eOpenIcon\", void 0);\n __decorate$27([\n RefSelector(\"agClosed\")\n ], HeaderGroupComp.prototype, \"eCloseIcon\", void 0);\n return HeaderGroupComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar PopupComponent = /** @class */ (function (_super) {\n __extends$2q(PopupComponent, _super);\n function PopupComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PopupComponent.prototype.isPopup = function () {\n return true;\n };\n PopupComponent.prototype.setParentComponent = function (container) {\n container.addCssClass('ag-has-popup');\n _super.prototype.setParentComponent.call(this, container);\n };\n PopupComponent.prototype.destroy = function () {\n var parentComp = this.parentComponent;\n var hasParent = parentComp && parentComp.isAlive();\n if (hasParent) {\n parentComp.getGui().classList.remove('ag-has-popup');\n }\n _super.prototype.destroy.call(this);\n };\n return PopupComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2p = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$26 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar LargeTextCellEditor = /** @class */ (function (_super) {\n __extends$2p(LargeTextCellEditor, _super);\n function LargeTextCellEditor() {\n return _super.call(this, LargeTextCellEditor.TEMPLATE) || this;\n }\n LargeTextCellEditor.prototype.init = function (params) {\n this.params = params;\n this.focusAfterAttached = params.cellStartedEdit;\n this.eTextArea\n .setMaxLength(params.maxLength || 200)\n .setCols(params.cols || 60)\n .setRows(params.rows || 10);\n if (exists(params.value)) {\n this.eTextArea.setValue(params.value.toString(), true);\n }\n this.addGuiEventListener('keydown', this.onKeyDown.bind(this));\n };\n LargeTextCellEditor.prototype.onKeyDown = function (event) {\n var key = event.key;\n if (key === KeyCode.LEFT ||\n key === KeyCode.UP ||\n key === KeyCode.RIGHT ||\n key === KeyCode.DOWN ||\n (event.shiftKey && key === KeyCode.ENTER)) { // shift+enter allows for newlines\n event.stopPropagation();\n }\n };\n LargeTextCellEditor.prototype.afterGuiAttached = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eTextArea.setInputAriaLabel(translate('ariaInputEditor', 'Input Editor'));\n if (this.focusAfterAttached) {\n this.eTextArea.getFocusableElement().focus();\n }\n };\n LargeTextCellEditor.prototype.getValue = function () {\n return this.params.parseValue(this.eTextArea.getValue());\n };\n LargeTextCellEditor.TEMPLATE = \"
\\n \\n
\";\n __decorate$26([\n RefSelector(\"eTextArea\")\n ], LargeTextCellEditor.prototype, \"eTextArea\", void 0);\n return LargeTextCellEditor;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2o = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$25 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SelectCellEditor = /** @class */ (function (_super) {\n __extends$2o(SelectCellEditor, _super);\n function SelectCellEditor() {\n var _this = _super.call(this, '
') || this;\n _this.startedByEnter = false;\n return _this;\n }\n SelectCellEditor.prototype.init = function (params) {\n var _this = this;\n this.focusAfterAttached = params.cellStartedEdit;\n if (missing(params.values)) {\n console.warn('AG Grid: no values found for select cellEditor');\n return;\n }\n this.startedByEnter = params.eventKey != null ? params.eventKey === KeyCode.ENTER : false;\n var hasValue = false;\n params.values.forEach(function (value) {\n var option = { value: value };\n var valueFormatted = _this.valueFormatterService.formatValue(params.column, null, value);\n var valueFormattedExits = valueFormatted !== null && valueFormatted !== undefined;\n option.text = valueFormattedExits ? valueFormatted : value;\n _this.eSelect.addOption(option);\n hasValue = hasValue || params.value === value;\n });\n if (hasValue) {\n this.eSelect.setValue(params.value, true);\n }\n else if (params.values.length) {\n this.eSelect.setValue(params.values[0], true);\n }\n // we don't want to add this if full row editing, otherwise selecting will stop the\n // full row editing.\n if (!this.gridOptionsWrapper.isFullRowEdit()) {\n this.eSelect.onValueChange(function () { return params.stopEditing(); });\n }\n };\n SelectCellEditor.prototype.afterGuiAttached = function () {\n if (this.focusAfterAttached) {\n this.eSelect.getFocusableElement().focus();\n }\n if (this.startedByEnter) {\n this.eSelect.showPicker();\n }\n };\n SelectCellEditor.prototype.focusIn = function () {\n this.eSelect.getFocusableElement().focus();\n };\n SelectCellEditor.prototype.getValue = function () {\n return this.eSelect.getValue();\n };\n SelectCellEditor.prototype.isPopup = function () {\n return false;\n };\n __decorate$25([\n Autowired('valueFormatterService')\n ], SelectCellEditor.prototype, \"valueFormatterService\", void 0);\n __decorate$25([\n RefSelector('eSelect')\n ], SelectCellEditor.prototype, \"eSelect\", void 0);\n return SelectCellEditor;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2n = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar PopupSelectCellEditor = /** @class */ (function (_super) {\n __extends$2n(PopupSelectCellEditor, _super);\n function PopupSelectCellEditor() {\n var _this = _super.call(this) || this;\n doOnce(function () { return console.warn('AG Grid: The PopupSelectCellEditor (agPopupSelectCellEditor) is deprecated. Instead use {cellEditor: \"agSelectCellEditor\", cellEditorPopup: true} '); }, 'PopupSelectCellEditor.deprecated');\n return _this;\n }\n PopupSelectCellEditor.prototype.isPopup = function () {\n return true;\n };\n return PopupSelectCellEditor;\n}(SelectCellEditor));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2m = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$24 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TextCellEditor = /** @class */ (function (_super) {\n __extends$2m(TextCellEditor, _super);\n function TextCellEditor() {\n return _super.call(this, TextCellEditor.TEMPLATE) || this;\n }\n TextCellEditor.prototype.init = function (params) {\n this.params = params;\n var eInput = this.eInput;\n var startValue;\n // cellStartedEdit is only false if we are doing fullRow editing\n if (params.cellStartedEdit) {\n this.focusAfterAttached = true;\n if (params.eventKey === KeyCode.BACKSPACE || params.eventKey === KeyCode.DELETE) {\n startValue = '';\n }\n else if (params.charPress) {\n startValue = params.charPress;\n }\n else {\n startValue = this.getStartValue(params);\n if (params.eventKey !== KeyCode.F2) {\n this.highlightAllOnFocus = true;\n }\n }\n }\n else {\n this.focusAfterAttached = false;\n startValue = this.getStartValue(params);\n }\n if (startValue != null) {\n eInput.setValue(startValue, true);\n }\n if (params.maxLength != null) {\n eInput.setMaxLength(params.maxLength);\n }\n this.addManagedListener(eInput.getGui(), 'keydown', function (event) {\n var key = event.key;\n if (key === KeyCode.PAGE_UP || key === KeyCode.PAGE_DOWN) {\n event.preventDefault();\n }\n });\n };\n TextCellEditor.prototype.afterGuiAttached = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var eInput = this.eInput;\n eInput.setInputAriaLabel(translate('ariaInputEditor', 'Input Editor'));\n if (!this.focusAfterAttached) {\n return;\n }\n // Added for AG-3238. We can't remove this explicit focus() because Chrome requires an input\n // to be focused before setSelectionRange will work. But it triggers a bug in Safari where\n // explicitly focusing then blurring an empty field will cause the parent container to scroll.\n if (!isBrowserSafari()) {\n eInput.getFocusableElement().focus();\n }\n var inputEl = eInput.getInputElement();\n if (this.highlightAllOnFocus) {\n inputEl.select();\n }\n else {\n // when we started editing, we want the caret at the end, not the start.\n // this comes into play in two scenarios:\n // a) when user hits F2\n // b) when user hits a printable character\n var value = eInput.getValue();\n var len = (exists(value) && value.length) || 0;\n if (len) {\n inputEl.setSelectionRange(len, len);\n }\n }\n };\n // gets called when tabbing trough cells and in full row edit mode\n TextCellEditor.prototype.focusIn = function () {\n var eInput = this.eInput;\n var focusEl = eInput.getFocusableElement();\n var inputEl = eInput.getInputElement();\n focusEl.focus();\n inputEl.select();\n };\n TextCellEditor.prototype.getValue = function () {\n var eInput = this.eInput;\n return this.params.parseValue(eInput.getValue());\n };\n TextCellEditor.prototype.getStartValue = function (params) {\n var formatValue = params.useFormatter || params.column.getColDef().refData;\n return formatValue ? params.formatValue(params.value) : params.value;\n };\n TextCellEditor.prototype.isPopup = function () {\n return false;\n };\n TextCellEditor.TEMPLATE = \"
\\n \\n
\";\n __decorate$24([\n RefSelector('eInput')\n ], TextCellEditor.prototype, \"eInput\", void 0);\n return TextCellEditor;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2l = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar PopupTextCellEditor = /** @class */ (function (_super) {\n __extends$2l(PopupTextCellEditor, _super);\n function PopupTextCellEditor() {\n var _this = _super.call(this) || this;\n doOnce(function () { return console.warn('AG Grid: The PopupTextCellEditor (agPopupTextCellEditor) is deprecated. Instead use {cellEditor: \"agTextCellEditor\", cellEditorPopup: true} '); }, 'PopupTextCellEditor.deprecated');\n return _this;\n }\n PopupTextCellEditor.prototype.isPopup = function () {\n return true;\n };\n return PopupTextCellEditor;\n}(TextCellEditor));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2k = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$23 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ARROW_UP = '\\u2191';\nvar ARROW_DOWN = '\\u2193';\nvar AnimateShowChangeCellRenderer = /** @class */ (function (_super) {\n __extends$2k(AnimateShowChangeCellRenderer, _super);\n function AnimateShowChangeCellRenderer() {\n var _this = _super.call(this, AnimateShowChangeCellRenderer.TEMPLATE) || this;\n _this.refreshCount = 0;\n return _this;\n }\n AnimateShowChangeCellRenderer.prototype.init = function (params) {\n // this.params = params;\n this.eValue = this.queryForHtmlElement('.ag-value-change-value');\n this.eDelta = this.queryForHtmlElement('.ag-value-change-delta');\n this.refresh(params);\n };\n AnimateShowChangeCellRenderer.prototype.showDelta = function (params, delta) {\n var absDelta = Math.abs(delta);\n var valueFormatted = params.formatValue(absDelta);\n var valueToUse = exists(valueFormatted) ? valueFormatted : absDelta;\n var deltaUp = (delta >= 0);\n if (deltaUp) {\n this.eDelta.innerHTML = ARROW_UP + valueToUse;\n }\n else {\n // because negative, use ABS to remove sign\n this.eDelta.innerHTML = ARROW_DOWN + valueToUse;\n }\n this.eDelta.classList.toggle('ag-value-change-delta-up', deltaUp);\n this.eDelta.classList.toggle('ag-value-change-delta-down', !deltaUp);\n };\n AnimateShowChangeCellRenderer.prototype.setTimerToRemoveDelta = function () {\n var _this = this;\n // the refreshCount makes sure that if the value updates again while\n // the below timer is waiting, then the below timer will realise it\n // is not the most recent and will not try to remove the delta value.\n this.refreshCount++;\n var refreshCountCopy = this.refreshCount;\n window.setTimeout(function () {\n if (refreshCountCopy === _this.refreshCount) {\n _this.hideDeltaValue();\n }\n }, 2000);\n };\n AnimateShowChangeCellRenderer.prototype.hideDeltaValue = function () {\n this.eValue.classList.remove('ag-value-change-value-highlight');\n clearElement(this.eDelta);\n };\n AnimateShowChangeCellRenderer.prototype.refresh = function (params) {\n var value = params.value;\n if (value === this.lastValue) {\n return false;\n }\n if (exists(params.valueFormatted)) {\n this.eValue.innerHTML = params.valueFormatted;\n }\n else if (exists(params.value)) {\n this.eValue.innerHTML = value;\n }\n else {\n clearElement(this.eValue);\n }\n // we don't show the delta if we are in the middle of a filter. see comment on FilterManager\n // with regards processingFilterChange\n if (this.filterManager.isSuppressFlashingCellsBecauseFiltering()) {\n return false;\n }\n if (typeof value === 'number' && typeof this.lastValue === 'number') {\n var delta = value - this.lastValue;\n this.showDelta(params, delta);\n }\n // highlight the current value, but only if it's not new, otherwise it\n // would get highlighted first time the value is shown\n if (this.lastValue) {\n this.eValue.classList.add('ag-value-change-value-highlight');\n }\n this.setTimerToRemoveDelta();\n this.lastValue = value;\n return true;\n };\n AnimateShowChangeCellRenderer.TEMPLATE = '' +\n '' +\n '' +\n '';\n __decorate$23([\n Autowired('filterManager')\n ], AnimateShowChangeCellRenderer.prototype, \"filterManager\", void 0);\n return AnimateShowChangeCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2j = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$22 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AnimateSlideCellRenderer = /** @class */ (function (_super) {\n __extends$2j(AnimateSlideCellRenderer, _super);\n function AnimateSlideCellRenderer() {\n var _this = _super.call(this, AnimateSlideCellRenderer.TEMPLATE) || this;\n _this.refreshCount = 0;\n _this.eCurrent = _this.queryForHtmlElement('.ag-value-slide-current');\n return _this;\n }\n AnimateSlideCellRenderer.prototype.init = function (params) {\n this.refresh(params);\n };\n AnimateSlideCellRenderer.prototype.addSlideAnimation = function () {\n var _this = this;\n this.refreshCount++;\n // below we keep checking this, and stop working on the animation\n // if it no longer matches - this means another animation has started\n // and this one is stale.\n var refreshCountCopy = this.refreshCount;\n // if old animation, remove it\n if (this.ePrevious) {\n this.getGui().removeChild(this.ePrevious);\n }\n this.ePrevious = loadTemplate('');\n this.ePrevious.innerHTML = this.eCurrent.innerHTML;\n this.getGui().insertBefore(this.ePrevious, this.eCurrent);\n // having timeout of 0 allows use to skip to the next css turn,\n // so we know the previous css classes have been applied. so the\n // complex set of setTimeout below creates the animation\n window.setTimeout(function () {\n if (refreshCountCopy !== _this.refreshCount) {\n return;\n }\n _this.ePrevious.classList.add('ag-value-slide-out-end');\n }, 50);\n window.setTimeout(function () {\n if (refreshCountCopy !== _this.refreshCount) {\n return;\n }\n _this.getGui().removeChild(_this.ePrevious);\n _this.ePrevious = null;\n }, 3000);\n };\n AnimateSlideCellRenderer.prototype.refresh = function (params) {\n var value = params.value;\n if (missing(value)) {\n value = '';\n }\n if (value === this.lastValue) {\n return false;\n }\n // we don't show the delta if we are in the middle of a filter. see comment on FilterManager\n // with regards processingFilterChange\n if (this.filterManager.isSuppressFlashingCellsBecauseFiltering()) {\n return false;\n }\n this.addSlideAnimation();\n this.lastValue = value;\n if (exists(params.valueFormatted)) {\n this.eCurrent.innerHTML = params.valueFormatted;\n }\n else if (exists(params.value)) {\n this.eCurrent.innerHTML = value;\n }\n else {\n clearElement(this.eCurrent);\n }\n return true;\n };\n AnimateSlideCellRenderer.TEMPLATE = \"\\n \\n \";\n __decorate$22([\n Autowired('filterManager')\n ], AnimateSlideCellRenderer.prototype, \"filterManager\", void 0);\n return AnimateSlideCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar RowHighlightPosition;\n(function (RowHighlightPosition) {\n RowHighlightPosition[RowHighlightPosition[\"Above\"] = 0] = \"Above\";\n RowHighlightPosition[RowHighlightPosition[\"Below\"] = 1] = \"Below\";\n})(RowHighlightPosition || (RowHighlightPosition = {}));\nvar RowNode = /** @class */ (function () {\n function RowNode(beans) {\n /** The current row index. If the row is filtered out or in a collapsed group, this value will be `null`. */\n this.rowIndex = null;\n /** The key for the group eg Ireland, UK, USA */\n this.key = null;\n /** Children mapped by the pivot columns. */\n this.childrenMapped = {};\n /**\n * This will be `true` if it has a rowIndex assigned, otherwise `false`.\n */\n this.displayed = false;\n /** The row top position in pixels. */\n this.rowTop = null;\n /** The top pixel for this row last time, makes sense if data set was ordered or filtered,\n * it is used so new rows can animate in from their old position. */\n this.oldRowTop = null;\n /** `true` by default - can be overridden via gridOptions.isRowSelectable(rowNode) */\n this.selectable = true;\n /** Used by sorting service - to give deterministic sort to groups. Previously we\n * just id for this, however id is a string and had slower sorting compared to numbers. */\n this.__objectId = RowNode.OBJECT_ID_SEQUENCE++;\n /** When one or more Columns are using autoHeight, this keeps track of height of each autoHeight Cell,\n * indexed by the Column ID. */\n this.__autoHeights = {};\n /** `true` when nodes with the same id are being removed and added as part of the same batch transaction */\n this.alreadyRendered = false;\n this.highlighted = null;\n this.selected = false;\n this.beans = beans;\n }\n /** Replaces the data on the `rowNode`. When complete, the grid will refresh the the entire rendered row if it is showing. */\n RowNode.prototype.setData = function (data) {\n this.setDataCommon(data, false);\n };\n // similar to setRowData, however it is expected that the data is the same data item. this\n // is intended to be used with Redux type stores, where the whole data can be changed. we are\n // guaranteed that the data is the same entity (so grid doesn't need to worry about the id of the\n // underlying data changing, hence doesn't need to worry about selection). the grid, upon receiving\n // dataChanged event, will refresh the cells rather than rip them all out (so user can show transitions).\n RowNode.prototype.updateData = function (data) {\n this.setDataCommon(data, true);\n };\n RowNode.prototype.setDataCommon = function (data, update) {\n var oldData = this.data;\n this.data = data;\n this.beans.valueCache.onDataChanged();\n this.updateDataOnDetailNode();\n this.checkRowSelectable();\n var event = this.createDataChangedEvent(data, oldData, update);\n this.dispatchLocalEvent(event);\n };\n // when we are doing master / detail, the detail node is lazy created, but then kept around.\n // so if we show / hide the detail, the same detail rowNode is used. so we need to keep the data\n // in sync, otherwise expand/collapse of the detail would still show the old values.\n RowNode.prototype.updateDataOnDetailNode = function () {\n if (this.detailNode) {\n this.detailNode.data = this.data;\n }\n };\n RowNode.prototype.createDataChangedEvent = function (newData, oldData, update) {\n return {\n type: RowNode.EVENT_DATA_CHANGED,\n node: this,\n oldData: oldData,\n newData: newData,\n update: update\n };\n };\n RowNode.prototype.createLocalRowEvent = function (type) {\n return {\n type: type,\n node: this\n };\n };\n RowNode.prototype.getRowIndexString = function () {\n if (this.rowPinned === Constants.PINNED_TOP) {\n return 't-' + this.rowIndex;\n }\n if (this.rowPinned === Constants.PINNED_BOTTOM) {\n return 'b-' + this.rowIndex;\n }\n return this.rowIndex.toString();\n };\n RowNode.prototype.createDaemonNode = function () {\n var oldNode = new RowNode(this.beans);\n // just copy the id and data, this is enough for the node to be used\n // in the selection controller (the selection controller is the only\n // place where daemon nodes can live).\n oldNode.id = this.id;\n oldNode.data = this.data;\n oldNode.daemon = true;\n oldNode.selected = this.selected;\n oldNode.level = this.level;\n return oldNode;\n };\n RowNode.prototype.setDataAndId = function (data, id) {\n var oldNode = exists(this.id) ? this.createDaemonNode() : null;\n var oldData = this.data;\n this.data = data;\n this.updateDataOnDetailNode();\n this.setId(id);\n this.beans.selectionService.syncInRowNode(this, oldNode);\n this.checkRowSelectable();\n var event = this.createDataChangedEvent(data, oldData, false);\n this.dispatchLocalEvent(event);\n };\n RowNode.prototype.checkRowSelectable = function () {\n var isRowSelectableFunc = this.beans.gridOptionsWrapper.getIsRowSelectableFunc();\n this.setRowSelectable(isRowSelectableFunc ? isRowSelectableFunc(this) : true);\n };\n RowNode.prototype.setRowSelectable = function (newVal) {\n if (this.selectable !== newVal) {\n this.selectable = newVal;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_SELECTABLE_CHANGED));\n }\n var isGroupSelectsChildren = this.beans.gridOptionsWrapper.isGroupSelectsChildren();\n if (isGroupSelectsChildren) {\n var selected = this.calculateSelectedFromChildren();\n this.setSelected((selected !== null && selected !== void 0 ? selected : false));\n }\n }\n };\n RowNode.prototype.setId = function (id) {\n // see if user is providing the id's\n var getRowIdFunc = this.beans.gridOptionsWrapper.getRowIdFunc();\n if (getRowIdFunc) {\n // if user is providing the id's, then we set the id only after the data has been set.\n // this is important for virtual pagination and viewport, where empty rows exist.\n if (this.data) {\n // we pass 'true' as we skip this level when generating keys,\n // as we don't always have the key for this level (eg when updating\n // data via transaction on SSRM, we are getting key to look up the\n // RowNode, don't have the RowNode yet, thus no way to get the current key)\n var parentKeys = this.getGroupKeys(true);\n this.id = getRowIdFunc({\n data: this.data,\n parentKeys: parentKeys.length > 0 ? parentKeys : undefined,\n level: this.level\n });\n // make sure id provided doesn't start with 'row-group-' as this is reserved. also check that\n // it has 'startsWith' in case the user provided a number.\n if (this.id !== null && typeof this.id === 'string' && this.id.startsWith(RowNode.ID_PREFIX_ROW_GROUP)) {\n console.error(\"AG Grid: Row IDs cannot start with \" + RowNode.ID_PREFIX_ROW_GROUP + \", this is a reserved prefix for AG Grid's row grouping feature.\");\n }\n // force id to be a string\n if (this.id !== null && typeof this.id !== 'string') {\n this.id = '' + this.id;\n }\n }\n else {\n // this can happen if user has set blank into the rowNode after the row previously\n // having data. this happens in virtual page row model, when data is delete and\n // the page is refreshed.\n this.id = undefined;\n }\n }\n else {\n this.id = id;\n }\n };\n RowNode.prototype.getGroupKeys = function (excludeSelf) {\n if (excludeSelf === void 0) { excludeSelf = false; }\n var keys = [];\n var pointer = this;\n if (excludeSelf) {\n pointer = pointer.parent;\n }\n while (pointer && pointer.level >= 0) {\n keys.push(pointer.key);\n pointer = pointer.parent;\n }\n keys.reverse();\n return keys;\n };\n RowNode.prototype.isPixelInRange = function (pixel) {\n if (!exists(this.rowTop) || !exists(this.rowHeight)) {\n return false;\n }\n return pixel >= this.rowTop && pixel < (this.rowTop + this.rowHeight);\n };\n RowNode.prototype.setFirstChild = function (firstChild) {\n if (this.firstChild === firstChild) {\n return;\n }\n this.firstChild = firstChild;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_FIRST_CHILD_CHANGED));\n }\n };\n RowNode.prototype.setLastChild = function (lastChild) {\n if (this.lastChild === lastChild) {\n return;\n }\n this.lastChild = lastChild;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_LAST_CHILD_CHANGED));\n }\n };\n RowNode.prototype.setChildIndex = function (childIndex) {\n if (this.childIndex === childIndex) {\n return;\n }\n this.childIndex = childIndex;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_CHILD_INDEX_CHANGED));\n }\n };\n RowNode.prototype.setRowTop = function (rowTop) {\n this.oldRowTop = this.rowTop;\n if (this.rowTop === rowTop) {\n return;\n }\n this.rowTop = rowTop;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_TOP_CHANGED));\n }\n this.setDisplayed(rowTop !== null);\n };\n RowNode.prototype.clearRowTopAndRowIndex = function () {\n this.oldRowTop = null;\n this.setRowTop(null);\n this.setRowIndex(null);\n };\n RowNode.prototype.setDisplayed = function (displayed) {\n if (this.displayed === displayed) {\n return;\n }\n this.displayed = displayed;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_DISPLAYED_CHANGED));\n }\n };\n RowNode.prototype.setDragging = function (dragging) {\n if (this.dragging === dragging) {\n return;\n }\n this.dragging = dragging;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_DRAGGING_CHANGED));\n }\n };\n RowNode.prototype.setHighlighted = function (highlighted) {\n if (highlighted === this.highlighted) {\n return;\n }\n this.highlighted = highlighted;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_HIGHLIGHT_CHANGED));\n }\n };\n RowNode.prototype.setAllChildrenCount = function (allChildrenCount) {\n if (this.allChildrenCount === allChildrenCount) {\n return;\n }\n this.allChildrenCount = allChildrenCount;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED));\n }\n };\n RowNode.prototype.setMaster = function (master) {\n if (this.master === master) {\n return;\n }\n // if changing AWAY from master, then unexpand, otherwise\n // next time it's shown it is expanded again\n if (this.master && !master) {\n this.expanded = false;\n }\n this.master = master;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_MASTER_CHANGED));\n }\n };\n RowNode.prototype.setGroup = function (group) {\n if (this.group === group) {\n return;\n }\n // if we used to be a group, and no longer, then close the node\n if (this.group && !group) {\n this.expanded = false;\n }\n this.group = group;\n this.updateHasChildren();\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_GROUP_CHANGED));\n }\n };\n /**\n * Sets the row height.\n * Call if you want to change the height initially assigned to the row.\n * After calling, you must call `api.onRowHeightChanged()` so the grid knows it needs to work out the placement of the rows. */\n RowNode.prototype.setRowHeight = function (rowHeight, estimated) {\n if (estimated === void 0) { estimated = false; }\n this.rowHeight = rowHeight;\n this.rowHeightEstimated = estimated;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_HEIGHT_CHANGED));\n }\n };\n RowNode.prototype.setRowAutoHeight = function (cellHeight, column) {\n if (!this.__autoHeights) {\n this.__autoHeights = {};\n }\n var autoHeights = this.__autoHeights;\n autoHeights[column.getId()] = cellHeight;\n if (cellHeight != null) {\n if (this.checkAutoHeightsDebounced == null) {\n this.checkAutoHeightsDebounced = debounce(this.checkAutoHeights.bind(this), 1);\n }\n this.checkAutoHeightsDebounced();\n }\n };\n RowNode.prototype.checkAutoHeights = function () {\n var notAllPresent = false;\n var nonePresent = true;\n var newRowHeight = 0;\n var autoHeights = this.__autoHeights;\n if (autoHeights == null) {\n return;\n }\n var displayedAutoHeightCols = this.beans.columnModel.getAllDisplayedAutoHeightCols();\n displayedAutoHeightCols.forEach(function (col) {\n var cellHeight = autoHeights[col.getId()];\n if (cellHeight == null) {\n notAllPresent = true;\n return;\n }\n nonePresent = false;\n if (cellHeight > newRowHeight) {\n newRowHeight = cellHeight;\n }\n });\n if (notAllPresent) {\n return;\n }\n // we take min of 10, so we don't adjust for empty rows. if <10, we put to default.\n // this prevents the row starting very small when waiting for async components,\n // which would then mean the grid squashes in far to many rows (as small heights\n // means more rows fit in) which looks crap. so best ignore small values and assume\n // we are still waiting for values to render.\n if (nonePresent || newRowHeight < 10) {\n newRowHeight = this.beans.gridOptionsWrapper.getRowHeightForNode(this).height;\n }\n if (newRowHeight == this.rowHeight) {\n return;\n }\n this.setRowHeight(newRowHeight);\n var rowModel = this.beans.rowModel;\n if (rowModel.onRowHeightChangedDebounced) {\n rowModel.onRowHeightChangedDebounced();\n }\n };\n RowNode.prototype.setRowIndex = function (rowIndex) {\n if (this.rowIndex === rowIndex) {\n return;\n }\n this.rowIndex = rowIndex;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_ROW_INDEX_CHANGED));\n }\n };\n RowNode.prototype.setUiLevel = function (uiLevel) {\n if (this.uiLevel === uiLevel) {\n return;\n }\n this.uiLevel = uiLevel;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_UI_LEVEL_CHANGED));\n }\n };\n /**\n * Set the expanded state of this rowNode. Pass `true` to expand and `false` to collapse.\n */\n RowNode.prototype.setExpanded = function (expanded, e) {\n if (this.expanded === expanded) {\n return;\n }\n this.expanded = expanded;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_EXPANDED_CHANGED));\n }\n var event = Object.assign({}, this.createGlobalRowEvent(Events.EVENT_ROW_GROUP_OPENED), {\n expanded: expanded,\n event: e || null\n });\n this.beans.rowNodeEventThrottle.dispatchExpanded(event);\n // when using footers we need to refresh the group row, as the aggregation\n // values jump between group and footer\n if (this.beans.gridOptionsWrapper.isGroupIncludeFooter()) {\n this.beans.rowRenderer.refreshCells({ rowNodes: [this] });\n }\n };\n RowNode.prototype.createGlobalRowEvent = function (type) {\n return {\n type: type,\n node: this,\n data: this.data,\n rowIndex: this.rowIndex,\n rowPinned: this.rowPinned,\n context: this.beans.gridOptionsWrapper.getContext(),\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi()\n };\n };\n RowNode.prototype.dispatchLocalEvent = function (event) {\n if (this.eventService) {\n this.eventService.dispatchEvent(event);\n }\n };\n /**\n * Replaces the value on the `rowNode` for the specified column. When complete,\n * the grid will refresh the rendered cell on the required row only.\n *\n * @param colKey The column where the value should be updated\n * @param newValue The new value\n * @param eventSource The source of the event\n * @returns `True` if the value was changed, otherwise `False`.\n */\n RowNode.prototype.setDataValue = function (colKey, newValue, eventSource) {\n // When it is done via the editors, no 'cell changed' event gets fired, as it's assumed that\n // the cell knows about the change given it's in charge of the editing.\n // this method is for the client to call, so the cell listens for the change\n // event, and also flashes the cell when the change occurs.\n var column = this.beans.columnModel.getPrimaryColumn(colKey);\n var oldValue = this.beans.valueService.getValue(column, this);\n var valueChanged = this.beans.valueService.setValue(this, column, newValue, eventSource);\n this.dispatchCellChangedEvent(column, newValue, oldValue);\n this.checkRowSelectable();\n return valueChanged;\n };\n RowNode.prototype.setGroupValue = function (colKey, newValue) {\n var column = this.beans.columnModel.getGridColumn(colKey);\n if (missing(this.groupData)) {\n this.groupData = {};\n }\n var columnId = column.getColId();\n var oldValue = this.groupData[columnId];\n if (oldValue === newValue) {\n return;\n }\n this.groupData[columnId] = newValue;\n this.dispatchCellChangedEvent(column, newValue, oldValue);\n };\n // sets the data for an aggregation\n RowNode.prototype.setAggData = function (newAggData) {\n var _this = this;\n // find out all keys that could potentially change\n var colIds = getAllKeysInObjects([this.aggData, newAggData]);\n var oldAggData = this.aggData;\n this.aggData = newAggData;\n // if no event service, nobody has registered for events, so no need fire event\n if (this.eventService) {\n colIds.forEach(function (colId) {\n var column = _this.beans.columnModel.getGridColumn(colId);\n var value = _this.aggData ? _this.aggData[colId] : undefined;\n var oldValue = oldAggData ? oldAggData[colId] : undefined;\n _this.dispatchCellChangedEvent(column, value, oldValue);\n });\n }\n };\n RowNode.prototype.updateHasChildren = function () {\n // we need to return true when this.group=true, as this is used by server side row model\n // (as children are lazy loaded and stored in a cache anyway). otherwise we return true\n // if children exist.\n var newValue = (this.group && !this.footer) || (this.childrenAfterGroup && this.childrenAfterGroup.length > 0);\n if (newValue !== this.__hasChildren) {\n this.__hasChildren = !!newValue;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_HAS_CHILDREN_CHANGED));\n }\n }\n };\n RowNode.prototype.hasChildren = function () {\n if (this.__hasChildren == null) {\n this.updateHasChildren();\n }\n return this.__hasChildren;\n };\n RowNode.prototype.isEmptyRowGroupNode = function () {\n return this.group && missingOrEmpty(this.childrenAfterGroup);\n };\n RowNode.prototype.dispatchCellChangedEvent = function (column, newValue, oldValue) {\n var cellChangedEvent = {\n type: RowNode.EVENT_CELL_CHANGED,\n node: this,\n column: column,\n newValue: newValue,\n oldValue: oldValue\n };\n this.dispatchLocalEvent(cellChangedEvent);\n };\n /**\n * The first time `quickFilter` runs, the grid creates a one-off string representation of the row.\n * This string is then used for the quick filter instead of hitting each column separately.\n * When you edit, using grid editing, this string gets cleared down.\n * However if you edit without using grid editing, you will need to clear this string down for the row to be updated with the new values.\n * Otherwise new values will not work with the `quickFilter`. */\n RowNode.prototype.resetQuickFilterAggregateText = function () {\n this.quickFilterAggregateText = null;\n };\n RowNode.prototype.isExpandable = function () {\n return (this.hasChildren() && !this.footer) || this.master ? true : false;\n };\n /** Returns:\n * - `true` if node is selected,\n * - `false` if the node isn't selected\n * - `undefined` if it's partially selected (group where not all children are selected). */\n RowNode.prototype.isSelected = function () {\n // for footers, we just return what our sibling selected state is, as cannot select a footer\n if (this.footer) {\n return this.sibling.isSelected();\n }\n return this.selected;\n };\n /** Perform a depth-first search of this node and its children. */\n RowNode.prototype.depthFirstSearch = function (callback) {\n if (this.childrenAfterGroup) {\n this.childrenAfterGroup.forEach(function (child) { return child.depthFirstSearch(callback); });\n }\n callback(this);\n };\n // + selectionController.calculatedSelectedForAllGroupNodes()\n RowNode.prototype.calculateSelectedFromChildren = function () {\n var _a;\n var atLeastOneSelected = false;\n var atLeastOneDeSelected = false;\n var atLeastOneMixed = false;\n if (!((_a = this.childrenAfterGroup) === null || _a === void 0 ? void 0 : _a.length)) {\n return this.selectable ? this.selected : null;\n }\n for (var i = 0; i < this.childrenAfterGroup.length; i++) {\n var child = this.childrenAfterGroup[i];\n var childState = child.isSelected();\n // non-selectable nodes must be calculated from their children, or ignored if no value results.\n if (!child.selectable) {\n var selectable = child.calculateSelectedFromChildren();\n if (selectable === null) {\n continue;\n }\n childState = selectable;\n }\n switch (childState) {\n case true:\n atLeastOneSelected = true;\n break;\n case false:\n atLeastOneDeSelected = true;\n break;\n default:\n atLeastOneMixed = true;\n break;\n }\n }\n if (atLeastOneMixed || (atLeastOneSelected && atLeastOneDeSelected)) {\n return undefined;\n }\n else if (atLeastOneSelected) {\n return true;\n }\n else if (atLeastOneDeSelected) {\n return false;\n }\n else if (!this.selectable) {\n return null;\n }\n else {\n return this.selected;\n }\n };\n RowNode.prototype.setSelectedInitialValue = function (selected) {\n this.selected = selected;\n };\n /**\n * Select (or deselect) the node.\n * @param newValue -`true` for selection, `false` for deselection.\n * @param clearSelection - If selecting, then passing `true` will select the node exclusively (i.e. NOT do multi select). If doing deselection, `clearSelection` has no impact.\n * @param suppressFinishActions - Pass `true` to prevent the `selectionChanged` from being fired. Note that the `rowSelected` event will still be fired.\n */\n RowNode.prototype.setSelected = function (newValue, clearSelection, suppressFinishActions) {\n if (clearSelection === void 0) { clearSelection = false; }\n if (suppressFinishActions === void 0) { suppressFinishActions = false; }\n this.setSelectedParams({\n newValue: newValue,\n clearSelection: clearSelection,\n suppressFinishActions: suppressFinishActions,\n rangeSelect: false\n });\n };\n RowNode.prototype.isRowPinned = function () {\n return this.rowPinned === Constants.PINNED_TOP || this.rowPinned === Constants.PINNED_BOTTOM;\n };\n // to make calling code more readable, this is the same method as setSelected except it takes names parameters\n RowNode.prototype.setSelectedParams = function (params) {\n var _a;\n var groupSelectsChildren = this.beans.gridOptionsWrapper.isGroupSelectsChildren();\n var newValue = params.newValue === true;\n var clearSelection = params.clearSelection === true;\n var suppressFinishActions = params.suppressFinishActions === true;\n var rangeSelect = params.rangeSelect === true;\n // groupSelectsFiltered only makes sense when group selects children\n var groupSelectsFiltered = groupSelectsChildren && (params.groupSelectsFiltered === true);\n if (this.id === undefined) {\n console.warn('AG Grid: cannot select node until id for node is known');\n return 0;\n }\n if (this.rowPinned) {\n console.warn('AG Grid: cannot select pinned rows');\n return 0;\n }\n // if we are a footer, we don't do selection, just pass the info\n // to the sibling (the parent of the group)\n if (this.footer) {\n return this.sibling.setSelectedParams(params);\n }\n if (rangeSelect && this.beans.selectionService.getLastSelectedNode()) {\n var newRowClicked = this.beans.selectionService.getLastSelectedNode() !== this;\n var allowMultiSelect = this.beans.gridOptionsWrapper.isRowSelectionMulti();\n if (newRowClicked && allowMultiSelect) {\n var nodesChanged = this.doRowRangeSelection(params.newValue);\n this.beans.selectionService.setLastSelectedNode(this);\n return nodesChanged;\n }\n }\n var updatedCount = 0;\n // when groupSelectsFiltered, then this node may end up intermediate despite\n // trying to set it to true / false. this group will be calculated further on\n // down when we call calculatedSelectedForAllGroupNodes(). we need to skip it\n // here, otherwise the updatedCount would include it.\n var skipThisNode = groupSelectsFiltered && this.group;\n if (!skipThisNode) {\n var thisNodeWasSelected = this.selectThisNode(newValue, params.event);\n if (thisNodeWasSelected) {\n updatedCount++;\n }\n }\n if (groupSelectsChildren && ((_a = this.childrenAfterGroup) === null || _a === void 0 ? void 0 : _a.length)) {\n updatedCount += this.selectChildNodes(newValue, groupSelectsFiltered);\n }\n // clear other nodes if not doing multi select\n if (!suppressFinishActions) {\n var clearOtherNodes = newValue && (clearSelection || !this.beans.gridOptionsWrapper.isRowSelectionMulti());\n if (clearOtherNodes) {\n updatedCount += this.beans.selectionService.clearOtherNodes(this);\n }\n // only if we selected something, then update groups and fire events\n if (updatedCount > 0) {\n this.beans.selectionService.updateGroupsFromChildrenSelections();\n // this is the very end of the 'action node', so we are finished all the updates,\n // include any parent / child changes that this method caused\n var event_1 = {\n type: Events.EVENT_SELECTION_CHANGED\n };\n this.beans.eventService.dispatchEvent(event_1);\n }\n // so if user next does shift-select, we know where to start the selection from\n if (newValue) {\n this.beans.selectionService.setLastSelectedNode(this);\n }\n }\n return updatedCount;\n };\n // selects all rows between this node and the last selected node (or the top if this is the first selection).\n // not to be mixed up with 'cell range selection' where you drag the mouse, this is row range selection, by\n // holding down 'shift'.\n RowNode.prototype.doRowRangeSelection = function (value) {\n var _this = this;\n if (value === void 0) { value = true; }\n var groupsSelectChildren = this.beans.gridOptionsWrapper.isGroupSelectsChildren();\n var lastSelectedNode = this.beans.selectionService.getLastSelectedNode();\n var nodesToSelect = this.beans.rowModel.getNodesInRangeForSelection(this, lastSelectedNode);\n var updatedCount = 0;\n nodesToSelect.forEach(function (rowNode) {\n if (rowNode.group && groupsSelectChildren || (value === false && _this === rowNode)) {\n return;\n }\n var nodeWasSelected = rowNode.selectThisNode(value);\n if (nodeWasSelected) {\n updatedCount++;\n }\n });\n this.beans.selectionService.updateGroupsFromChildrenSelections();\n var event = {\n type: Events.EVENT_SELECTION_CHANGED\n };\n this.beans.eventService.dispatchEvent(event);\n return updatedCount;\n };\n RowNode.prototype.isParentOfNode = function (potentialParent) {\n var parentNode = this.parent;\n while (parentNode) {\n if (parentNode === potentialParent) {\n return true;\n }\n parentNode = parentNode.parent;\n }\n return false;\n };\n RowNode.prototype.selectThisNode = function (newValue, e) {\n // we only check selectable when newValue=true (ie selecting) to allow unselecting values,\n // as selectable is dynamic, need a way to unselect rows when selectable becomes false.\n var selectionNotAllowed = !this.selectable && newValue;\n var selectionNotChanged = this.selected === newValue;\n if (selectionNotAllowed || selectionNotChanged) {\n return false;\n }\n this.selected = newValue;\n if (this.eventService) {\n this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_ROW_SELECTED));\n }\n var event = Object.assign({}, this.createGlobalRowEvent(Events.EVENT_ROW_SELECTED), {\n event: e || null\n });\n this.beans.eventService.dispatchEvent(event);\n return true;\n };\n RowNode.prototype.selectChildNodes = function (newValue, groupSelectsFiltered) {\n var children = groupSelectsFiltered ? this.childrenAfterAggFilter : this.childrenAfterGroup;\n if (missing(children)) {\n return 0;\n }\n var updatedCount = 0;\n for (var i = 0; i < children.length; i++) {\n updatedCount += children[i].setSelectedParams({\n newValue: newValue,\n clearSelection: false,\n suppressFinishActions: true,\n groupSelectsFiltered: groupSelectsFiltered\n });\n }\n return updatedCount;\n };\n /** Add an event listener. */\n RowNode.prototype.addEventListener = function (eventType, listener) {\n if (!this.eventService) {\n this.eventService = new EventService();\n }\n this.eventService.addEventListener(eventType, listener);\n };\n /** Remove event listener. */\n RowNode.prototype.removeEventListener = function (eventType, listener) {\n if (!this.eventService) {\n return;\n }\n this.eventService.removeEventListener(eventType, listener);\n if (this.eventService.noRegisteredListenersExist()) {\n this.eventService = null;\n }\n };\n RowNode.prototype.onMouseEnter = function () {\n this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_MOUSE_ENTER));\n };\n RowNode.prototype.onMouseLeave = function () {\n this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_MOUSE_LEAVE));\n };\n RowNode.prototype.getFirstChildOfFirstChild = function (rowGroupColumn) {\n var currentRowNode = this;\n var isCandidate = true;\n var foundFirstChildPath = false;\n var nodeToSwapIn = null;\n // if we are hiding groups, then if we are the first child, of the first child,\n // all the way up to the column we are interested in, then we show the group cell.\n while (isCandidate && !foundFirstChildPath) {\n var parentRowNode = currentRowNode.parent;\n var firstChild = exists(parentRowNode) && currentRowNode.firstChild;\n if (firstChild) {\n if (parentRowNode.rowGroupColumn === rowGroupColumn) {\n foundFirstChildPath = true;\n nodeToSwapIn = parentRowNode;\n }\n }\n else {\n isCandidate = false;\n }\n currentRowNode = parentRowNode;\n }\n return foundFirstChildPath ? nodeToSwapIn : null;\n };\n RowNode.prototype.isFullWidthCell = function () {\n var isFullWidthCellFunc = this.beans.gridOptionsWrapper.getIsFullWidthCellFunc();\n return isFullWidthCellFunc ? isFullWidthCellFunc({ rowNode: this }) : false;\n };\n /**\n * Returns the route of the row node. If the Row Node is a group, it returns the route to that Row Node.\n * If the Row Node is not a group, it returns `undefined`.\n */\n RowNode.prototype.getRoute = function () {\n if (this.key == null) {\n return;\n }\n var res = [];\n var pointer = this;\n while (pointer.key != null) {\n res.push(pointer.key);\n pointer = pointer.parent;\n }\n return res.reverse();\n };\n RowNode.ID_PREFIX_ROW_GROUP = 'row-group-';\n RowNode.ID_PREFIX_TOP_PINNED = 't-';\n RowNode.ID_PREFIX_BOTTOM_PINNED = 'b-';\n RowNode.OBJECT_ID_SEQUENCE = 0;\n RowNode.EVENT_ROW_SELECTED = 'rowSelected';\n RowNode.EVENT_DATA_CHANGED = 'dataChanged';\n RowNode.EVENT_CELL_CHANGED = 'cellChanged';\n RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED = 'allChildrenCountChanged';\n RowNode.EVENT_MASTER_CHANGED = 'masterChanged';\n RowNode.EVENT_GROUP_CHANGED = 'groupChanged';\n RowNode.EVENT_MOUSE_ENTER = 'mouseEnter';\n RowNode.EVENT_MOUSE_LEAVE = 'mouseLeave';\n RowNode.EVENT_HEIGHT_CHANGED = 'heightChanged';\n RowNode.EVENT_TOP_CHANGED = 'topChanged';\n RowNode.EVENT_DISPLAYED_CHANGED = 'displayedChanged';\n RowNode.EVENT_FIRST_CHILD_CHANGED = 'firstChildChanged';\n RowNode.EVENT_LAST_CHILD_CHANGED = 'lastChildChanged';\n RowNode.EVENT_CHILD_INDEX_CHANGED = 'childIndexChanged';\n RowNode.EVENT_ROW_INDEX_CHANGED = 'rowIndexChanged';\n RowNode.EVENT_EXPANDED_CHANGED = 'expandedChanged';\n RowNode.EVENT_HAS_CHILDREN_CHANGED = 'hasChildrenChanged';\n RowNode.EVENT_SELECTABLE_CHANGED = 'selectableChanged';\n RowNode.EVENT_UI_LEVEL_CHANGED = 'uiLevelChanged';\n RowNode.EVENT_HIGHLIGHT_CHANGED = 'rowHighlightChanged';\n RowNode.EVENT_DRAGGING_CHANGED = 'draggingChanged';\n return RowNode;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2i = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$9 = (undefined && undefined.__assign) || function () {\n __assign$9 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$9.apply(this, arguments);\n};\nvar __decorate$21 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CheckboxSelectionComponent = /** @class */ (function (_super) {\n __extends$2i(CheckboxSelectionComponent, _super);\n function CheckboxSelectionComponent() {\n return _super.call(this, /* html*/ \"\\n
\\n \\n
\") || this;\n }\n CheckboxSelectionComponent.prototype.postConstruct = function () {\n this.eCheckbox.setPassive(true);\n };\n CheckboxSelectionComponent.prototype.getCheckboxId = function () {\n return this.eCheckbox.getInputElement().id;\n };\n CheckboxSelectionComponent.prototype.onDataChanged = function () {\n // when rows are loaded for the second time, this can impact the selection, as a row\n // could be loaded as already selected (if user scrolls down, and then up again).\n this.onSelectionChanged();\n };\n CheckboxSelectionComponent.prototype.onSelectableChanged = function () {\n this.showOrHideSelect();\n };\n CheckboxSelectionComponent.prototype.onSelectionChanged = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var state = this.rowNode.isSelected();\n var stateName = state === undefined\n ? translate('ariaIndeterminate', 'indeterminate')\n : (state === true\n ? translate('ariaChecked', 'checked')\n : translate('ariaUnchecked', 'unchecked'));\n var ariaLabel = translate('ariaRowToggleSelection', 'Press Space to toggle row selection');\n this.eCheckbox.setValue(state, true);\n this.eCheckbox.setInputAriaLabel(ariaLabel + \" (\" + stateName + \")\");\n };\n CheckboxSelectionComponent.prototype.onCheckedClicked = function (event) {\n var groupSelectsFiltered = this.gridOptionsWrapper.isGroupSelectsFiltered();\n var updatedCount = this.rowNode.setSelectedParams({ newValue: false, rangeSelect: event.shiftKey, groupSelectsFiltered: groupSelectsFiltered });\n return updatedCount;\n };\n CheckboxSelectionComponent.prototype.onUncheckedClicked = function (event) {\n var groupSelectsFiltered = this.gridOptionsWrapper.isGroupSelectsFiltered();\n var updatedCount = this.rowNode.setSelectedParams({ newValue: true, rangeSelect: event.shiftKey, groupSelectsFiltered: groupSelectsFiltered });\n return updatedCount;\n };\n CheckboxSelectionComponent.prototype.init = function (params) {\n var _this = this;\n this.rowNode = params.rowNode;\n this.column = params.column;\n this.overrides = params.overrides;\n this.onSelectionChanged();\n // we don't want double click on this icon to open a group\n this.addManagedListener(this.eCheckbox.getInputElement(), 'dblclick', function (event) {\n stopPropagationForAgGrid(event);\n });\n this.addManagedListener(this.eCheckbox.getInputElement(), 'click', function (event) {\n // we don't want the row clicked event to fire when selecting the checkbox, otherwise the row\n // would possibly get selected twice\n stopPropagationForAgGrid(event);\n var isSelected = _this.eCheckbox.getValue();\n var previousValue = _this.eCheckbox.getPreviousValue();\n if (previousValue === undefined || isSelected === undefined) {\n // Indeterminate state - try toggling children to determine action.\n var result = _this.onUncheckedClicked(event || {});\n if (result === 0) {\n _this.onCheckedClicked(event);\n }\n }\n else if (isSelected) {\n _this.onCheckedClicked(event);\n }\n else {\n _this.onUncheckedClicked(event || {});\n }\n });\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_SELECTED, this.onSelectionChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.onDataChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_SELECTABLE_CHANGED, this.onSelectableChanged.bind(this));\n var isRowSelectableFunc = this.gridOptionsWrapper.getIsRowSelectableFunc();\n var checkboxVisibleIsDynamic = isRowSelectableFunc || typeof this.getIsVisible() === 'function';\n if (checkboxVisibleIsDynamic) {\n var showOrHideSelectListener = this.showOrHideSelect.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, showOrHideSelectListener);\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, showOrHideSelectListener);\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, showOrHideSelectListener);\n this.showOrHideSelect();\n }\n this.eCheckbox.getInputElement().setAttribute('tabindex', '-1');\n };\n CheckboxSelectionComponent.prototype.showOrHideSelect = function () {\n var _a, _b, _c, _d;\n // if the isRowSelectable() is not provided the row node is selectable by default\n var selectable = this.rowNode.selectable;\n // checkboxSelection callback is deemed a legacy solution however we will still consider it's result.\n // If selectable, then also check the colDef callback. if not selectable, this it short circuits - no need\n // to call the colDef callback.\n var isVisible = this.getIsVisible();\n if (selectable) {\n if (typeof isVisible === 'function') {\n var extraParams = (_a = this.overrides) === null || _a === void 0 ? void 0 : _a.callbackParams;\n var params = (_b = this.column) === null || _b === void 0 ? void 0 : _b.createColumnFunctionCallbackParams(this.rowNode);\n selectable = params ? isVisible(__assign$9(__assign$9({}, extraParams), params)) : false;\n }\n else {\n selectable = (isVisible !== null && isVisible !== void 0 ? isVisible : false);\n }\n }\n var disableInsteadOfHide = (_c = this.column) === null || _c === void 0 ? void 0 : _c.getColDef().showDisabledCheckboxes;\n if (disableInsteadOfHide) {\n this.eCheckbox.setDisabled(!selectable);\n this.setVisible(true);\n this.setDisplayed(true);\n return;\n }\n if ((_d = this.overrides) === null || _d === void 0 ? void 0 : _d.removeHidden) {\n this.setDisplayed(selectable);\n return;\n }\n this.setVisible(selectable);\n };\n CheckboxSelectionComponent.prototype.getIsVisible = function () {\n var _a, _b;\n if (this.overrides) {\n return this.overrides.isVisible;\n }\n // column will be missing if groupUseEntireRow=true\n return (_b = (_a = this.column) === null || _a === void 0 ? void 0 : _a.getColDef()) === null || _b === void 0 ? void 0 : _b.checkboxSelection;\n };\n __decorate$21([\n RefSelector('eCheckbox')\n ], CheckboxSelectionComponent.prototype, \"eCheckbox\", void 0);\n __decorate$21([\n PostConstruct\n ], CheckboxSelectionComponent.prototype, \"postConstruct\", null);\n return CheckboxSelectionComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2h = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$20 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __values$3 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar DragSourceType;\n(function (DragSourceType) {\n DragSourceType[DragSourceType[\"ToolPanel\"] = 0] = \"ToolPanel\";\n DragSourceType[DragSourceType[\"HeaderCell\"] = 1] = \"HeaderCell\";\n DragSourceType[DragSourceType[\"RowDrag\"] = 2] = \"RowDrag\";\n DragSourceType[DragSourceType[\"ChartPanel\"] = 3] = \"ChartPanel\";\n})(DragSourceType || (DragSourceType = {}));\nvar VerticalDirection;\n(function (VerticalDirection) {\n VerticalDirection[VerticalDirection[\"Up\"] = 0] = \"Up\";\n VerticalDirection[VerticalDirection[\"Down\"] = 1] = \"Down\";\n})(VerticalDirection || (VerticalDirection = {}));\nvar HorizontalDirection;\n(function (HorizontalDirection) {\n HorizontalDirection[HorizontalDirection[\"Left\"] = 0] = \"Left\";\n HorizontalDirection[HorizontalDirection[\"Right\"] = 1] = \"Right\";\n})(HorizontalDirection || (HorizontalDirection = {}));\nvar DragAndDropService = /** @class */ (function (_super) {\n __extends$2h(DragAndDropService, _super);\n function DragAndDropService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.dragSourceAndParamsList = [];\n _this.dropTargets = [];\n return _this;\n }\n DragAndDropService_1 = DragAndDropService;\n DragAndDropService.prototype.init = function () {\n this.ePinnedIcon = createIcon('columnMovePin', this.gridOptionsWrapper, null);\n this.eHideIcon = createIcon('columnMoveHide', this.gridOptionsWrapper, null);\n this.eMoveIcon = createIcon('columnMoveMove', this.gridOptionsWrapper, null);\n this.eLeftIcon = createIcon('columnMoveLeft', this.gridOptionsWrapper, null);\n this.eRightIcon = createIcon('columnMoveRight', this.gridOptionsWrapper, null);\n this.eGroupIcon = createIcon('columnMoveGroup', this.gridOptionsWrapper, null);\n this.eAggregateIcon = createIcon('columnMoveValue', this.gridOptionsWrapper, null);\n this.ePivotIcon = createIcon('columnMovePivot', this.gridOptionsWrapper, null);\n this.eDropNotAllowedIcon = createIcon('dropNotAllowed', this.gridOptionsWrapper, null);\n };\n DragAndDropService.prototype.addDragSource = function (dragSource, allowTouch) {\n if (allowTouch === void 0) { allowTouch = false; }\n var params = {\n eElement: dragSource.eElement,\n dragStartPixels: dragSource.dragStartPixels,\n onDragStart: this.onDragStart.bind(this, dragSource),\n onDragStop: this.onDragStop.bind(this),\n onDragging: this.onDragging.bind(this)\n };\n this.dragSourceAndParamsList.push({ params: params, dragSource: dragSource });\n this.dragService.addDragSource(params, allowTouch);\n };\n DragAndDropService.prototype.removeDragSource = function (dragSource) {\n var sourceAndParams = this.dragSourceAndParamsList.find(function (item) { return item.dragSource === dragSource; });\n if (sourceAndParams) {\n this.dragService.removeDragSource(sourceAndParams.params);\n removeFromArray(this.dragSourceAndParamsList, sourceAndParams);\n }\n };\n DragAndDropService.prototype.clearDragSourceParamsList = function () {\n var _this = this;\n this.dragSourceAndParamsList.forEach(function (sourceAndParams) { return _this.dragService.removeDragSource(sourceAndParams.params); });\n this.dragSourceAndParamsList.length = 0;\n };\n DragAndDropService.prototype.nudge = function () {\n if (this.dragging) {\n this.onDragging(this.eventLastTime, true);\n }\n };\n DragAndDropService.prototype.onDragStart = function (dragSource, mouseEvent) {\n this.dragging = true;\n this.dragSource = dragSource;\n this.eventLastTime = mouseEvent;\n this.dragItem = this.dragSource.getDragItem();\n this.lastDropTarget = this.dragSource.dragSourceDropTarget;\n if (this.dragSource.onDragStarted) {\n this.dragSource.onDragStarted();\n }\n this.createGhost();\n };\n DragAndDropService.prototype.onDragStop = function (mouseEvent) {\n this.eventLastTime = null;\n this.dragging = false;\n if (this.dragSource.onDragStopped) {\n this.dragSource.onDragStopped();\n }\n if (this.lastDropTarget && this.lastDropTarget.onDragStop) {\n var draggingEvent = this.createDropTargetEvent(this.lastDropTarget, mouseEvent, null, null, false);\n this.lastDropTarget.onDragStop(draggingEvent);\n }\n this.lastDropTarget = null;\n this.dragItem = null;\n this.removeGhost();\n };\n DragAndDropService.prototype.onDragging = function (mouseEvent, fromNudge) {\n var _this = this;\n var _a, _b, _c, _d;\n var hDirection = this.getHorizontalDirection(mouseEvent);\n var vDirection = this.getVerticalDirection(mouseEvent);\n this.eventLastTime = mouseEvent;\n this.positionGhost(mouseEvent);\n // check if mouseEvent intersects with any of the drop targets\n var validDropTargets = this.dropTargets.filter(function (target) { return _this.isMouseOnDropTarget(mouseEvent, target); });\n var dropTarget = this.findCurrentDropTarget(mouseEvent, validDropTargets);\n if (dropTarget !== this.lastDropTarget) {\n this.leaveLastTargetIfExists(mouseEvent, hDirection, vDirection, fromNudge);\n if (this.lastDropTarget !== null && dropTarget === null) {\n (_b = (_a = this.dragSource).onGridExit) === null || _b === void 0 ? void 0 : _b.call(_a, this.dragItem);\n }\n if (this.lastDropTarget === null && dropTarget !== null) {\n (_d = (_c = this.dragSource).onGridEnter) === null || _d === void 0 ? void 0 : _d.call(_c, this.dragItem);\n }\n this.enterDragTargetIfExists(dropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n this.lastDropTarget = dropTarget;\n }\n else if (dropTarget && dropTarget.onDragging) {\n var draggingEvent = this.createDropTargetEvent(dropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n dropTarget.onDragging(draggingEvent);\n }\n };\n DragAndDropService.prototype.getAllContainersFromDropTarget = function (dropTarget) {\n var secondaryContainers = dropTarget.getSecondaryContainers ? dropTarget.getSecondaryContainers() : null;\n var containers = [[dropTarget.getContainer()]];\n return secondaryContainers ? containers.concat(secondaryContainers) : containers;\n };\n DragAndDropService.prototype.allContainersIntersect = function (mouseEvent, containers) {\n var e_1, _a;\n try {\n for (var containers_1 = __values$3(containers), containers_1_1 = containers_1.next(); !containers_1_1.done; containers_1_1 = containers_1.next()) {\n var container = containers_1_1.value;\n var rect = container.getBoundingClientRect();\n // if element is not visible, then width and height are zero\n if (rect.width === 0 || rect.height === 0) {\n return false;\n }\n var horizontalFit = mouseEvent.clientX >= rect.left && mouseEvent.clientX < rect.right;\n var verticalFit = mouseEvent.clientY >= rect.top && mouseEvent.clientY < rect.bottom;\n if (!horizontalFit || !verticalFit) {\n return false;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (containers_1_1 && !containers_1_1.done && (_a = containers_1.return)) _a.call(containers_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return true;\n };\n // checks if the mouse is on the drop target. it checks eContainer and eSecondaryContainers\n DragAndDropService.prototype.isMouseOnDropTarget = function (mouseEvent, dropTarget) {\n var e_2, _a;\n var allContainersFromDropTarget = this.getAllContainersFromDropTarget(dropTarget);\n var mouseOverTarget = false;\n try {\n for (var allContainersFromDropTarget_1 = __values$3(allContainersFromDropTarget), allContainersFromDropTarget_1_1 = allContainersFromDropTarget_1.next(); !allContainersFromDropTarget_1_1.done; allContainersFromDropTarget_1_1 = allContainersFromDropTarget_1.next()) {\n var currentContainers = allContainersFromDropTarget_1_1.value;\n if (this.allContainersIntersect(mouseEvent, currentContainers)) {\n mouseOverTarget = true;\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (allContainersFromDropTarget_1_1 && !allContainersFromDropTarget_1_1.done && (_a = allContainersFromDropTarget_1.return)) _a.call(allContainersFromDropTarget_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (dropTarget.targetContainsSource && !dropTarget.getContainer().contains(this.dragSource.eElement)) {\n return false;\n }\n return mouseOverTarget && dropTarget.isInterestedIn(this.dragSource.type, this.dragSource.eElement);\n };\n DragAndDropService.prototype.findCurrentDropTarget = function (mouseEvent, validDropTargets) {\n var e_3, _a, e_4, _b;\n var len = validDropTargets.length;\n if (len === 0) {\n return null;\n }\n if (len === 1) {\n return validDropTargets[0];\n }\n var eDocument = this.gridOptionsWrapper.getDocument();\n // elementsFromPoint return a list of elements under\n // the mouseEvent sorted from topMost to bottomMost\n var elementStack = eDocument.elementsFromPoint(mouseEvent.clientX, mouseEvent.clientY);\n try {\n // loop over the sorted elementStack to find which dropTarget comes first\n for (var elementStack_1 = __values$3(elementStack), elementStack_1_1 = elementStack_1.next(); !elementStack_1_1.done; elementStack_1_1 = elementStack_1.next()) {\n var el = elementStack_1_1.value;\n try {\n for (var validDropTargets_1 = (e_4 = void 0, __values$3(validDropTargets)), validDropTargets_1_1 = validDropTargets_1.next(); !validDropTargets_1_1.done; validDropTargets_1_1 = validDropTargets_1.next()) {\n var dropTarget = validDropTargets_1_1.value;\n var containers = flatten(this.getAllContainersFromDropTarget(dropTarget));\n if (containers.indexOf(el) !== -1) {\n return dropTarget;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (validDropTargets_1_1 && !validDropTargets_1_1.done && (_b = validDropTargets_1.return)) _b.call(validDropTargets_1);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (elementStack_1_1 && !elementStack_1_1.done && (_a = elementStack_1.return)) _a.call(elementStack_1);\n }\n finally { if (e_3) throw e_3.error; }\n }\n // we should never hit this point of the code because only\n // valid dropTargets should be provided to this method.\n return null;\n };\n DragAndDropService.prototype.enterDragTargetIfExists = function (dropTarget, mouseEvent, hDirection, vDirection, fromNudge) {\n if (!dropTarget) {\n return;\n }\n if (dropTarget.onDragEnter) {\n var dragEnterEvent = this.createDropTargetEvent(dropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n dropTarget.onDragEnter(dragEnterEvent);\n }\n this.setGhostIcon(dropTarget.getIconName ? dropTarget.getIconName() : null);\n };\n DragAndDropService.prototype.leaveLastTargetIfExists = function (mouseEvent, hDirection, vDirection, fromNudge) {\n if (!this.lastDropTarget) {\n return;\n }\n if (this.lastDropTarget.onDragLeave) {\n var dragLeaveEvent = this.createDropTargetEvent(this.lastDropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n this.lastDropTarget.onDragLeave(dragLeaveEvent);\n }\n this.setGhostIcon(null);\n };\n DragAndDropService.prototype.addDropTarget = function (dropTarget) {\n this.dropTargets.push(dropTarget);\n };\n DragAndDropService.prototype.removeDropTarget = function (dropTarget) {\n this.dropTargets = this.dropTargets.filter(function (target) { return target.getContainer() !== dropTarget.getContainer(); });\n };\n DragAndDropService.prototype.hasExternalDropZones = function () {\n return this.dropTargets.some(function (zones) { return zones.external; });\n };\n DragAndDropService.prototype.findExternalZone = function (params) {\n var externalTargets = this.dropTargets.filter(function (target) { return target.external; });\n return externalTargets.find(function (zone) { return zone.getContainer() === params.getContainer(); }) || null;\n };\n DragAndDropService.prototype.getHorizontalDirection = function (event) {\n var clientX = this.eventLastTime && this.eventLastTime.clientX;\n var eClientX = event.clientX;\n if (clientX === eClientX) {\n return null;\n }\n return clientX > eClientX ? HorizontalDirection.Left : HorizontalDirection.Right;\n };\n DragAndDropService.prototype.getVerticalDirection = function (event) {\n var clientY = this.eventLastTime && this.eventLastTime.clientY;\n var eClientY = event.clientY;\n if (clientY === eClientY) {\n return null;\n }\n return clientY > eClientY ? VerticalDirection.Up : VerticalDirection.Down;\n };\n DragAndDropService.prototype.createDropTargetEvent = function (dropTarget, event, hDirection, vDirection, fromNudge) {\n // localise x and y to the target\n var dropZoneTarget = dropTarget.getContainer();\n var rect = dropZoneTarget.getBoundingClientRect();\n var _a = this, api = _a.gridApi, columnApi = _a.columnApi, dragItem = _a.dragItem, dragSource = _a.dragSource;\n var x = event.clientX - rect.left;\n var y = event.clientY - rect.top;\n return { event: event, x: x, y: y, vDirection: vDirection, hDirection: hDirection, dragSource: dragSource, fromNudge: fromNudge, dragItem: dragItem, api: api, columnApi: columnApi, dropZoneTarget: dropZoneTarget };\n };\n DragAndDropService.prototype.positionGhost = function (event) {\n var ghost = this.eGhost;\n if (!ghost) {\n return;\n }\n var ghostRect = ghost.getBoundingClientRect();\n var ghostHeight = ghostRect.height;\n // for some reason, without the '-2', it still overlapped by 1 or 2 pixels, which\n // then brought in scrollbars to the browser. no idea why, but putting in -2 here\n // works around it which is good enough for me.\n var browserWidth = getBodyWidth() - 2;\n var browserHeight = getBodyHeight() - 2;\n var top = event.pageY - (ghostHeight / 2);\n var left = event.pageX - 10;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var win = (eDocument.defaultView || window);\n var windowScrollY = win.pageYOffset || eDocument.documentElement.scrollTop;\n var windowScrollX = win.pageXOffset || eDocument.documentElement.scrollLeft;\n // check ghost is not positioned outside of the browser\n if (browserWidth > 0 && ((left + ghost.clientWidth) > (browserWidth + windowScrollX))) {\n left = browserWidth + windowScrollX - ghost.clientWidth;\n }\n if (left < 0) {\n left = 0;\n }\n if (browserHeight > 0 && ((top + ghost.clientHeight) > (browserHeight + windowScrollY))) {\n top = browserHeight + windowScrollY - ghost.clientHeight;\n }\n if (top < 0) {\n top = 0;\n }\n ghost.style.left = left + \"px\";\n ghost.style.top = top + \"px\";\n };\n DragAndDropService.prototype.removeGhost = function () {\n if (this.eGhost && this.eGhostParent) {\n this.eGhostParent.removeChild(this.eGhost);\n }\n this.eGhost = null;\n };\n DragAndDropService.prototype.createGhost = function () {\n this.eGhost = loadTemplate(DragAndDropService_1.GHOST_TEMPLATE);\n this.mouseEventService.stampTopLevelGridCompWithGridInstance(this.eGhost);\n var theme = this.environment.getTheme().theme;\n if (theme) {\n this.eGhost.classList.add(theme);\n }\n this.eGhostIcon = this.eGhost.querySelector('.ag-dnd-ghost-icon');\n this.setGhostIcon(null);\n var eText = this.eGhost.querySelector('.ag-dnd-ghost-label');\n var dragItemName = this.dragSource.dragItemName;\n if (isFunction(dragItemName)) {\n dragItemName = dragItemName();\n }\n eText.innerHTML = escapeString(dragItemName) || '';\n this.eGhost.style.height = '25px';\n this.eGhost.style.top = '20px';\n this.eGhost.style.left = '20px';\n var eDocument = this.gridOptionsWrapper.getDocument();\n var targetEl = null;\n try {\n targetEl = eDocument.fullscreenElement;\n }\n catch (e) {\n // some environments like SalesForce will throw errors\n // simply by trying to read the fullscreenElement property\n }\n finally {\n if (!targetEl) {\n targetEl = eDocument.querySelector('body');\n }\n }\n this.eGhostParent = targetEl;\n if (!this.eGhostParent) {\n console.warn('AG Grid: could not find document body, it is needed for dragging columns');\n }\n else {\n this.eGhostParent.appendChild(this.eGhost);\n }\n };\n DragAndDropService.prototype.setGhostIcon = function (iconName, shake) {\n if (shake === void 0) { shake = false; }\n clearElement(this.eGhostIcon);\n var eIcon = null;\n if (!iconName) {\n iconName = this.dragSource.defaultIconName || DragAndDropService_1.ICON_NOT_ALLOWED;\n }\n switch (iconName) {\n case DragAndDropService_1.ICON_PINNED:\n eIcon = this.ePinnedIcon;\n break;\n case DragAndDropService_1.ICON_MOVE:\n eIcon = this.eMoveIcon;\n break;\n case DragAndDropService_1.ICON_LEFT:\n eIcon = this.eLeftIcon;\n break;\n case DragAndDropService_1.ICON_RIGHT:\n eIcon = this.eRightIcon;\n break;\n case DragAndDropService_1.ICON_GROUP:\n eIcon = this.eGroupIcon;\n break;\n case DragAndDropService_1.ICON_AGGREGATE:\n eIcon = this.eAggregateIcon;\n break;\n case DragAndDropService_1.ICON_PIVOT:\n eIcon = this.ePivotIcon;\n break;\n case DragAndDropService_1.ICON_NOT_ALLOWED:\n eIcon = this.eDropNotAllowedIcon;\n break;\n case DragAndDropService_1.ICON_HIDE:\n eIcon = this.eHideIcon;\n break;\n }\n this.eGhostIcon.classList.toggle('ag-shake-left-to-right', shake);\n if (eIcon === this.eHideIcon && this.gridOptionsWrapper.isSuppressDragLeaveHidesColumns()) {\n return;\n }\n if (eIcon) {\n this.eGhostIcon.appendChild(eIcon);\n }\n };\n var DragAndDropService_1;\n DragAndDropService.ICON_PINNED = 'pinned';\n DragAndDropService.ICON_MOVE = 'move';\n DragAndDropService.ICON_LEFT = 'left';\n DragAndDropService.ICON_RIGHT = 'right';\n DragAndDropService.ICON_GROUP = 'group';\n DragAndDropService.ICON_AGGREGATE = 'aggregate';\n DragAndDropService.ICON_PIVOT = 'pivot';\n DragAndDropService.ICON_NOT_ALLOWED = 'notAllowed';\n DragAndDropService.ICON_HIDE = 'hide';\n DragAndDropService.GHOST_TEMPLATE = \"
\\n \\n
\\n
\";\n __decorate$20([\n Autowired('dragService')\n ], DragAndDropService.prototype, \"dragService\", void 0);\n __decorate$20([\n Autowired('mouseEventService')\n ], DragAndDropService.prototype, \"mouseEventService\", void 0);\n __decorate$20([\n Autowired('environment')\n ], DragAndDropService.prototype, \"environment\", void 0);\n __decorate$20([\n Autowired('columnApi')\n ], DragAndDropService.prototype, \"columnApi\", void 0);\n __decorate$20([\n Autowired('gridApi')\n ], DragAndDropService.prototype, \"gridApi\", void 0);\n __decorate$20([\n PostConstruct\n ], DragAndDropService.prototype, \"init\", null);\n __decorate$20([\n PreDestroy\n ], DragAndDropService.prototype, \"clearDragSourceParamsList\", null);\n DragAndDropService = DragAndDropService_1 = __decorate$20([\n Bean('dragAndDropService')\n ], DragAndDropService);\n return DragAndDropService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2g = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1$ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowDragComp = /** @class */ (function (_super) {\n __extends$2g(RowDragComp, _super);\n function RowDragComp(cellValueFn, rowNode, column, customGui, dragStartPixels, suppressVisibilityChange) {\n var _this = _super.call(this) || this;\n _this.cellValueFn = cellValueFn;\n _this.rowNode = rowNode;\n _this.column = column;\n _this.customGui = customGui;\n _this.dragStartPixels = dragStartPixels;\n _this.suppressVisibilityChange = suppressVisibilityChange;\n _this.dragSource = null;\n return _this;\n }\n RowDragComp.prototype.isCustomGui = function () {\n return this.customGui != null;\n };\n RowDragComp.prototype.postConstruct = function () {\n if (!this.customGui) {\n this.setTemplate(/* html */ \"
\");\n this.getGui().appendChild(createIconNoSpan('rowDrag', this.beans.gridOptionsWrapper, null));\n this.addDragSource();\n }\n else {\n this.setDragElement(this.customGui, this.dragStartPixels);\n }\n this.checkCompatibility();\n if (!this.suppressVisibilityChange) {\n var strategy = this.beans.gridOptionsWrapper.isRowDragManaged() ?\n new ManagedVisibilityStrategy(this, this.beans, this.rowNode, this.column) :\n new NonManagedVisibilityStrategy(this, this.beans, this.rowNode, this.column);\n this.createManagedBean(strategy, this.beans.context);\n }\n };\n RowDragComp.prototype.setDragElement = function (dragElement, dragStartPixels) {\n this.setTemplateFromElement(dragElement);\n this.addDragSource(dragStartPixels);\n };\n RowDragComp.prototype.getSelectedNodes = function () {\n var isRowDragMultiRow = this.beans.gridOptionsWrapper.isRowDragMultiRow();\n if (!isRowDragMultiRow) {\n return [this.rowNode];\n }\n var selection = this.beans.selectionService.getSelectedNodes();\n return selection.indexOf(this.rowNode) !== -1 ? selection : [this.rowNode];\n };\n // returns true if all compatibility items work out\n RowDragComp.prototype.checkCompatibility = function () {\n var managed = this.beans.gridOptionsWrapper.isRowDragManaged();\n var treeData = this.beans.gridOptionsWrapper.isTreeData();\n if (treeData && managed) {\n doOnce(function () {\n return console.warn('AG Grid: If using row drag with tree data, you cannot have rowDragManaged=true');\n }, 'RowDragComp.managedAndTreeData');\n }\n };\n RowDragComp.prototype.getDragItem = function () {\n return {\n rowNode: this.rowNode,\n rowNodes: this.getSelectedNodes(),\n columns: this.column ? [this.column] : undefined,\n defaultTextValue: this.cellValueFn(),\n };\n };\n RowDragComp.prototype.addDragSource = function (dragStartPixels) {\n var _this = this;\n if (dragStartPixels === void 0) { dragStartPixels = 4; }\n // if this is changing the drag element, delete the previous dragSource\n if (this.dragSource) {\n this.removeDragSource();\n }\n var rowDragText = this.gridOptionsWrapper.getRowDragText(this.column);\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.dragSource = {\n type: DragSourceType.RowDrag,\n eElement: this.getGui(),\n dragItemName: function () {\n var _a;\n var dragItem = _this.getDragItem();\n var dragItemCount = ((_a = dragItem.rowNodes) === null || _a === void 0 ? void 0 : _a.length) || 1;\n if (rowDragText) {\n return rowDragText(dragItem, dragItemCount);\n }\n return dragItemCount === 1 ? _this.cellValueFn() : dragItemCount + \" \" + translate('rowDragRows', 'rows');\n },\n getDragItem: function () { return _this.getDragItem(); },\n dragStartPixels: dragStartPixels,\n dragSourceDomDataKey: this.beans.gridOptionsWrapper.getDomDataKey()\n };\n this.beans.dragAndDropService.addDragSource(this.dragSource, true);\n };\n RowDragComp.prototype.removeDragSource = function () {\n if (this.dragSource) {\n this.beans.dragAndDropService.removeDragSource(this.dragSource);\n }\n this.dragSource = null;\n };\n __decorate$1$([\n Autowired('beans')\n ], RowDragComp.prototype, \"beans\", void 0);\n __decorate$1$([\n PostConstruct\n ], RowDragComp.prototype, \"postConstruct\", null);\n __decorate$1$([\n PreDestroy\n ], RowDragComp.prototype, \"removeDragSource\", null);\n return RowDragComp;\n}(Component));\nvar VisibilityStrategy = /** @class */ (function (_super) {\n __extends$2g(VisibilityStrategy, _super);\n function VisibilityStrategy(parent, rowNode, column) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.rowNode = rowNode;\n _this.column = column;\n return _this;\n }\n VisibilityStrategy.prototype.setDisplayedOrVisible = function (neverDisplayed) {\n if (neverDisplayed) {\n this.parent.setDisplayed(false);\n }\n else {\n var shown = true;\n var isShownSometimes = false;\n if (this.column) {\n shown = this.column.isRowDrag(this.rowNode) || this.parent.isCustomGui();\n isShownSometimes = isFunction(this.column.getColDef().rowDrag);\n }\n // if shown sometimes, them some rows can have drag handle while other don't,\n // so we use setVisible to keep the handles horizontally aligned (as setVisible\n // keeps the empty space, whereas setDisplayed looses the space)\n if (isShownSometimes) {\n this.parent.setDisplayed(true);\n this.parent.setVisible(shown);\n }\n else {\n this.parent.setDisplayed(shown);\n this.parent.setVisible(true);\n }\n }\n };\n return VisibilityStrategy;\n}(BeanStub));\n// when non managed, the visibility depends on suppressRowDrag property only\nvar NonManagedVisibilityStrategy = /** @class */ (function (_super) {\n __extends$2g(NonManagedVisibilityStrategy, _super);\n function NonManagedVisibilityStrategy(parent, beans, rowNode, column) {\n var _this = _super.call(this, parent, rowNode, column) || this;\n _this.beans = beans;\n return _this;\n }\n NonManagedVisibilityStrategy.prototype.postConstruct = function () {\n this.addManagedListener(this.beans.gridOptionsWrapper, 'suppressRowDrag', this.onSuppressRowDrag.bind(this));\n // in case data changes, then we need to update visibility of drag item\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.workOutVisibility.bind(this));\n this.workOutVisibility();\n };\n NonManagedVisibilityStrategy.prototype.onSuppressRowDrag = function () {\n this.workOutVisibility();\n };\n NonManagedVisibilityStrategy.prototype.workOutVisibility = function () {\n // only show the drag if both sort and filter are not present\n var neverDisplayed = this.beans.gridOptionsWrapper.isSuppressRowDrag();\n this.setDisplayedOrVisible(neverDisplayed);\n };\n __decorate$1$([\n PostConstruct\n ], NonManagedVisibilityStrategy.prototype, \"postConstruct\", null);\n return NonManagedVisibilityStrategy;\n}(VisibilityStrategy));\n// when managed, the visibility depends on sort, filter and row group, as well as suppressRowDrag property\nvar ManagedVisibilityStrategy = /** @class */ (function (_super) {\n __extends$2g(ManagedVisibilityStrategy, _super);\n function ManagedVisibilityStrategy(parent, beans, rowNode, column) {\n var _this = _super.call(this, parent, rowNode, column) || this;\n _this.beans = beans;\n return _this;\n }\n ManagedVisibilityStrategy.prototype.postConstruct = function () {\n // we do not show the component if sort, filter or grouping is active\n this.addManagedListener(this.beans.eventService, Events.EVENT_SORT_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_FILTER_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.workOutVisibility.bind(this));\n // in case data changes, then we need to update visibility of drag item\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.gridOptionsWrapper, 'suppressRowDrag', this.onSuppressRowDrag.bind(this));\n this.workOutVisibility();\n };\n ManagedVisibilityStrategy.prototype.onSuppressRowDrag = function () {\n this.workOutVisibility();\n };\n ManagedVisibilityStrategy.prototype.workOutVisibility = function () {\n // only show the drag if both sort and filter are not present\n var gridBodyCon = this.beans.ctrlsService.getGridBodyCtrl();\n var rowDragFeature = gridBodyCon.getRowDragFeature();\n var shouldPreventRowMove = rowDragFeature && rowDragFeature.shouldPreventRowMove();\n var suppressRowDrag = this.beans.gridOptionsWrapper.isSuppressRowDrag();\n var hasExternalDropZones = this.beans.dragAndDropService.hasExternalDropZones();\n var neverDisplayed = (shouldPreventRowMove && !hasExternalDropZones) || suppressRowDrag;\n this.setDisplayedOrVisible(neverDisplayed);\n };\n __decorate$1$([\n PostConstruct\n ], ManagedVisibilityStrategy.prototype, \"postConstruct\", null);\n return ManagedVisibilityStrategy;\n}(VisibilityStrategy));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2f = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$8 = (undefined && undefined.__assign) || function () {\n __assign$8 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$8.apply(this, arguments);\n};\nvar __decorate$1_ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupCellRendererCtrl = /** @class */ (function (_super) {\n __extends$2f(GroupCellRendererCtrl, _super);\n function GroupCellRendererCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupCellRendererCtrl.prototype.init = function (comp, eGui, eCheckbox, eExpanded, eContracted, compClass, params) {\n this.params = params;\n this.eGui = eGui;\n this.eCheckbox = eCheckbox;\n this.eExpanded = eExpanded;\n this.eContracted = eContracted;\n this.comp = comp;\n this.compClass = compClass;\n var topLevelFooter = this.isTopLevelFooter();\n var embeddedRowMismatch = this.isEmbeddedRowMismatch();\n // This allows for empty strings to appear as groups since\n // it will only return for null or undefined.\n var nullValue = params.value == null;\n var skipCell = false;\n // if the groupCellRenderer is inside of a footer and groupHideOpenParents is true\n // we should only display the groupCellRenderer if the current column is the rowGroupedColumn\n if (this.gridOptionsWrapper.isGroupIncludeFooter() && this.gridOptionsWrapper.isGroupHideOpenParents()) {\n var node = params.node;\n if (node.footer) {\n var showRowGroup = params.colDef && params.colDef.showRowGroup;\n var rowGroupColumnId = node.rowGroupColumn && node.rowGroupColumn.getColId();\n skipCell = showRowGroup !== rowGroupColumnId;\n }\n }\n this.cellIsBlank = topLevelFooter ? false : (embeddedRowMismatch || nullValue || skipCell);\n if (this.cellIsBlank) {\n return;\n }\n this.setupShowingValueForOpenedParent();\n this.findDisplayedGroupNode();\n this.addFullWidthRowDraggerIfNeeded();\n this.addExpandAndContract();\n this.addCheckboxIfNeeded();\n this.addValueElement();\n this.setupIndent();\n this.refreshAriaExpanded();\n };\n GroupCellRendererCtrl.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n // property cleanup to avoid memory leaks\n this.expandListener = null;\n };\n GroupCellRendererCtrl.prototype.refreshAriaExpanded = function () {\n var _a = this.params, node = _a.node, eParentOfValue = _a.eParentOfValue;\n if (this.expandListener) {\n this.expandListener = this.expandListener();\n }\n if (!this.isExpandable()) {\n removeAriaExpanded(eParentOfValue);\n return;\n }\n var listener = function () {\n // for react, we don't use JSX, as setting attributes via jsx is slower\n setAriaExpanded(eParentOfValue, !!node.expanded);\n };\n this.expandListener = this.addManagedListener(node, RowNode.EVENT_EXPANDED_CHANGED, listener) || null;\n listener();\n };\n GroupCellRendererCtrl.prototype.isTopLevelFooter = function () {\n if (!this.gridOptionsWrapper.isGroupIncludeTotalFooter()) {\n return false;\n }\n if (this.params.value != null || this.params.node.level != -1) {\n return false;\n }\n // at this point, we know it's the root node and there is no value present, so it's a footer cell.\n // the only thing to work out is if we are displaying groups across multiple\n // columns (groupMultiAutoColumn=true), we only want 'total' to appear in the first column.\n var colDef = this.params.colDef;\n var doingFullWidth = colDef == null;\n if (doingFullWidth) {\n return true;\n }\n if (colDef.showRowGroup === true) {\n return true;\n }\n var rowGroupCols = this.columnModel.getRowGroupColumns();\n // this is a sanity check, rowGroupCols should always be present\n if (!rowGroupCols || rowGroupCols.length === 0) {\n return true;\n }\n var firstRowGroupCol = rowGroupCols[0];\n return firstRowGroupCol.getId() === colDef.showRowGroup;\n };\n // if we are doing embedded full width rows, we only show the renderer when\n // in the body, or if pinning in the pinned section, or if pinning and RTL,\n // in the right section. otherwise we would have the cell repeated in each section.\n GroupCellRendererCtrl.prototype.isEmbeddedRowMismatch = function () {\n if (!this.params.fullWidth || !this.gridOptionsWrapper.isEmbedFullWidthRows()) {\n return false;\n }\n var pinnedLeftCell = this.params.pinned === Constants.PINNED_LEFT;\n var pinnedRightCell = this.params.pinned === Constants.PINNED_RIGHT;\n var bodyCell = !pinnedLeftCell && !pinnedRightCell;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n if (this.columnModel.isPinningLeft()) {\n return !pinnedRightCell;\n }\n return !bodyCell;\n }\n if (this.columnModel.isPinningLeft()) {\n return !pinnedLeftCell;\n }\n return !bodyCell;\n };\n GroupCellRendererCtrl.prototype.findDisplayedGroupNode = function () {\n var column = this.params.column;\n var rowNode = this.params.node;\n if (this.showingValueForOpenedParent) {\n var pointer = rowNode.parent;\n while (pointer != null) {\n if (pointer.rowGroupColumn && column.isRowGroupDisplayed(pointer.rowGroupColumn.getId())) {\n this.displayedGroupNode = pointer;\n break;\n }\n pointer = pointer.parent;\n }\n }\n // if we didn't find a displayed group, set it to the row node\n if (missing(this.displayedGroupNode)) {\n this.displayedGroupNode = rowNode;\n }\n };\n GroupCellRendererCtrl.prototype.setupShowingValueForOpenedParent = function () {\n // note - this code depends on sortService.updateGroupDataForHiddenOpenParents, where group data\n // is updated to reflect the dragged down parents\n var rowNode = this.params.node;\n var column = this.params.column;\n if (!this.gridOptionsWrapper.isGroupHideOpenParents()) {\n this.showingValueForOpenedParent = false;\n return;\n }\n // hideOpenParents means rowNode.groupData can have data for the group this column is displaying, even though\n // this rowNode isn't grouping by the column we are displaying\n // if no groupData at all, we are not showing a parent value\n if (!rowNode.groupData) {\n this.showingValueForOpenedParent = false;\n return;\n }\n // this is the normal case, in that we are showing a group for which this column is configured. note that\n // this means the Row Group is closed (if it was open, we would not be displaying it)\n var showingGroupNode = rowNode.rowGroupColumn != null;\n if (showingGroupNode) {\n var keyOfGroupingColumn = rowNode.rowGroupColumn.getId();\n var configuredToShowThisGroupLevel = column.isRowGroupDisplayed(keyOfGroupingColumn);\n // if showing group as normal, we didn't take group info from parent\n if (configuredToShowThisGroupLevel) {\n this.showingValueForOpenedParent = false;\n return;\n }\n }\n // see if we are showing a Group Value for the Displayed Group. if we are showing a group value, and this Row Node\n // is not grouping by this Displayed Group, we must of gotten the value from a parent node\n var valPresent = rowNode.groupData[column.getId()] != null;\n this.showingValueForOpenedParent = valPresent;\n };\n GroupCellRendererCtrl.prototype.addValueElement = function () {\n if (this.displayedGroupNode.footer) {\n this.addFooterValue();\n }\n else {\n this.addGroupValue();\n this.addChildCount();\n }\n };\n GroupCellRendererCtrl.prototype.addGroupValue = function () {\n // we try and use the cellRenderer of the column used for the grouping if we can\n var paramsAdjusted = this.adjustParamsWithDetailsFromRelatedColumn();\n var innerCompDetails = this.getInnerCompDetails(paramsAdjusted);\n var valueFormatted = paramsAdjusted.valueFormatted, value = paramsAdjusted.value;\n var valueWhenNoRenderer = valueFormatted != null ? valueFormatted : value;\n this.comp.setInnerRenderer(innerCompDetails, valueWhenNoRenderer);\n };\n GroupCellRendererCtrl.prototype.adjustParamsWithDetailsFromRelatedColumn = function () {\n var relatedColumn = this.displayedGroupNode.rowGroupColumn;\n var column = this.params.column;\n if (!relatedColumn) {\n return this.params;\n }\n var notFullWidth = column != null;\n if (notFullWidth) {\n var showingThisRowGroup = column.isRowGroupDisplayed(relatedColumn.getId());\n if (!showingThisRowGroup) {\n return this.params;\n }\n }\n var params = this.params;\n var _a = this.params, value = _a.value, node = _a.node;\n var valueFormatted = this.valueFormatterService.formatValue(relatedColumn, node, value);\n // we don't update the original params, as they could of come through React,\n // as react has RowGroupCellRenderer, which means the params could be props which\n // would be read only\n var paramsAdjusted = __assign$8(__assign$8({}, params), { valueFormatted: valueFormatted });\n return paramsAdjusted;\n };\n GroupCellRendererCtrl.prototype.addFooterValue = function () {\n var footerValueGetter = this.params.footerValueGetter;\n var footerValue = '';\n if (footerValueGetter) {\n // params is same as we were given, except we set the value as the item to display\n var paramsClone = cloneObject(this.params);\n paramsClone.value = this.params.value;\n if (typeof footerValueGetter === 'function') {\n footerValue = footerValueGetter(paramsClone);\n }\n else if (typeof footerValueGetter === 'string') {\n footerValue = this.expressionService.evaluate(footerValueGetter, paramsClone);\n }\n else {\n console.warn('AG Grid: footerValueGetter should be either a function or a string (expression)');\n }\n }\n else {\n footerValue = 'Total ' + (this.params.value != null ? this.params.value : '');\n }\n var innerCompDetails = this.getInnerCompDetails(this.params);\n this.comp.setInnerRenderer(innerCompDetails, footerValue);\n };\n GroupCellRendererCtrl.prototype.getInnerCompDetails = function (params) {\n var _this = this;\n // for full width rows, we don't do any of the below\n if (params.fullWidth) {\n return this.userComponentFactory.getFullWidthGroupRowInnerCellRenderer(this.gridOptions.groupRowRendererParams, params);\n }\n // when grouping, the normal case is we use the cell renderer of the grouped column. eg if grouping by country\n // and then rating, we will use the country cell renderer for each country group row and likewise the rating\n // cell renderer for each rating group row.\n //\n // however if the user has innerCellRenderer defined, this gets preference and we don't use cell renderers\n // of the grouped columns.\n //\n // so we check and use in the following order:\n //\n // 1) thisColDef.cellRendererParams.innerRenderer of the column showing the groups (eg auto group column)\n // 2) groupedColDef.cellRenderer of the grouped column\n // 3) groupedColDef.cellRendererParams.innerRenderer\n // we check if cell renderer provided for the group cell renderer, eg colDef.cellRendererParams.innerRenderer\n var innerCompDetails = this.userComponentFactory\n .getInnerRendererDetails(params, params);\n // avoid using GroupCellRenderer again, otherwise stack overflow, as we insert same renderer again and again.\n // this covers off chance user is grouping by a column that is also configured with GroupCellRenderer\n var isGroupRowRenderer = function (details) { return details && details.componentClass == _this.compClass; };\n if (innerCompDetails && !isGroupRowRenderer(innerCompDetails)) {\n // use the renderer defined in cellRendererParams.innerRenderer\n return innerCompDetails;\n }\n var relatedColumn = this.displayedGroupNode.rowGroupColumn;\n var relatedColDef = relatedColumn ? relatedColumn.getColDef() : undefined;\n if (!relatedColDef) {\n return;\n }\n // otherwise see if we can use the cellRenderer of the column we are grouping by\n var relatedCompDetails = this.userComponentFactory\n .getCellRendererDetails(relatedColDef, params);\n if (relatedCompDetails && !isGroupRowRenderer(relatedCompDetails)) {\n // Only if the original column is using a specific renderer, it it is a using a DEFAULT one ignore it\n return relatedCompDetails;\n }\n if (isGroupRowRenderer(relatedCompDetails) &&\n relatedColDef.cellRendererParams &&\n relatedColDef.cellRendererParams.innerRenderer) {\n // edge case - this comes from a column which has been grouped dynamically, that has a renderer 'group'\n // and has an inner cell renderer\n var res = this.userComponentFactory.getInnerRendererDetails(relatedColDef.cellRendererParams, params);\n return res;\n }\n };\n GroupCellRendererCtrl.prototype.addChildCount = function () {\n // only include the child count if it's included, eg if user doing custom aggregation,\n // then this could be left out, or set to -1, ie no child count\n if (this.params.suppressCount) {\n return;\n }\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED, this.updateChildCount.bind(this));\n // filtering changes the child count, so need to cater for it\n this.updateChildCount();\n };\n GroupCellRendererCtrl.prototype.updateChildCount = function () {\n var allChildrenCount = this.displayedGroupNode.allChildrenCount;\n var showingGroupForThisNode = this.isShowRowGroupForThisRow();\n var showCount = showingGroupForThisNode && allChildrenCount != null && allChildrenCount >= 0;\n var countString = showCount ? \"(\" + allChildrenCount + \")\" : \"\";\n this.comp.setChildCount(countString);\n };\n GroupCellRendererCtrl.prototype.isShowRowGroupForThisRow = function () {\n if (this.gridOptionsWrapper.isTreeData()) {\n return true;\n }\n var rowGroupColumn = this.displayedGroupNode.rowGroupColumn;\n if (!rowGroupColumn) {\n return false;\n }\n // column is null for fullWidthRows\n var column = this.params.column;\n var thisColumnIsInterested = column == null || column.isRowGroupDisplayed(rowGroupColumn.getId());\n return thisColumnIsInterested;\n };\n GroupCellRendererCtrl.prototype.addExpandAndContract = function () {\n var params = this.params;\n var eExpandedIcon = createIconNoSpan('groupExpanded', this.gridOptionsWrapper, null);\n var eContractedIcon = createIconNoSpan('groupContracted', this.gridOptionsWrapper, null);\n if (eExpandedIcon) {\n this.eExpanded.appendChild(eExpandedIcon);\n }\n if (eContractedIcon) {\n this.eContracted.appendChild(eContractedIcon);\n }\n var eGroupCell = params.eGridCell;\n // if editing groups, then double click is to start editing\n if (!this.gridOptionsWrapper.isEnableGroupEdit() && this.isExpandable() && !params.suppressDoubleClickExpand) {\n this.addManagedListener(eGroupCell, 'dblclick', this.onCellDblClicked.bind(this));\n }\n this.addManagedListener(this.eExpanded, 'click', this.onExpandClicked.bind(this));\n this.addManagedListener(this.eContracted, 'click', this.onExpandClicked.bind(this));\n // expand / contract as the user hits enter\n this.addManagedListener(eGroupCell, 'keydown', this.onKeyDown.bind(this));\n this.addManagedListener(params.node, RowNode.EVENT_EXPANDED_CHANGED, this.showExpandAndContractIcons.bind(this));\n this.showExpandAndContractIcons();\n // because we don't show the expand / contract when there are no children, we need to check every time\n // the number of children change.\n var expandableChangedListener = this.onRowNodeIsExpandableChanged.bind(this);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED, expandableChangedListener);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_MASTER_CHANGED, expandableChangedListener);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_GROUP_CHANGED, expandableChangedListener);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_HAS_CHILDREN_CHANGED, expandableChangedListener);\n };\n GroupCellRendererCtrl.prototype.onExpandClicked = function (mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n // so if we expand a node, it does not also get selected.\n stopPropagationForAgGrid(mouseEvent);\n this.onExpandOrContract(mouseEvent);\n };\n GroupCellRendererCtrl.prototype.onExpandOrContract = function (e) {\n // must use the displayedGroup, so if data was dragged down, we expand the parent, not this row\n var rowNode = this.displayedGroupNode;\n var nextExpandState = !rowNode.expanded;\n if (!nextExpandState && rowNode.sticky) {\n this.scrollToStickyNode(rowNode);\n }\n rowNode.setExpanded(nextExpandState, e);\n };\n GroupCellRendererCtrl.prototype.scrollToStickyNode = function (rowNode) {\n var gridBodyCtrl = this.ctrlsService.getGridBodyCtrl();\n var scrollFeature = gridBodyCtrl.getScrollFeature();\n scrollFeature.setVerticalScrollPosition(rowNode.rowTop - rowNode.stickyRowTop);\n };\n GroupCellRendererCtrl.prototype.isExpandable = function () {\n if (this.showingValueForOpenedParent) {\n return true;\n }\n var rowNode = this.displayedGroupNode;\n var reducedLeafNode = this.columnModel.isPivotMode() && rowNode.leafGroup;\n var expandableGroup = rowNode.isExpandable() && !rowNode.footer && !reducedLeafNode;\n if (!expandableGroup) {\n return false;\n }\n // column is null for fullWidthRows\n var column = this.params.column;\n var displayingForOneColumnOnly = column != null && typeof column.getColDef().showRowGroup === 'string';\n if (displayingForOneColumnOnly) {\n var showing = this.isShowRowGroupForThisRow();\n return showing;\n }\n return true;\n };\n GroupCellRendererCtrl.prototype.showExpandAndContractIcons = function () {\n var _a = this, params = _a.params, displayedGroup = _a.displayedGroupNode, columnModel = _a.columnModel;\n var node = params.node;\n var isExpandable = this.isExpandable();\n if (isExpandable) {\n // if expandable, show one based on expand state.\n // if we were dragged down, means our parent is always expanded\n var expanded = this.showingValueForOpenedParent ? true : node.expanded;\n this.comp.setExpandedDisplayed(expanded);\n this.comp.setContractedDisplayed(!expanded);\n }\n else {\n // it not expandable, show neither\n this.comp.setExpandedDisplayed(false);\n this.comp.setContractedDisplayed(false);\n }\n // compensation padding for leaf nodes, so there is blank space instead of the expand icon\n var pivotMode = columnModel.isPivotMode();\n var pivotModeAndLeafGroup = pivotMode && displayedGroup.leafGroup;\n var addExpandableCss = isExpandable && !pivotModeAndLeafGroup;\n var isTotalFooterNode = node.footer && node.level === -1;\n this.comp.addOrRemoveCssClass('ag-cell-expandable', addExpandableCss);\n this.comp.addOrRemoveCssClass('ag-row-group', addExpandableCss);\n if (pivotMode) {\n this.comp.addOrRemoveCssClass('ag-pivot-leaf-group', pivotModeAndLeafGroup);\n }\n else if (!isTotalFooterNode) {\n this.comp.addOrRemoveCssClass('ag-row-group-leaf-indent', !addExpandableCss);\n }\n };\n GroupCellRendererCtrl.prototype.onRowNodeIsExpandableChanged = function () {\n // maybe if no children now, we should hide the expand / contract icons\n this.showExpandAndContractIcons();\n // if we have no children, this impacts the indent\n this.setIndent();\n this.refreshAriaExpanded();\n };\n GroupCellRendererCtrl.prototype.setupIndent = function () {\n // only do this if an indent - as this overwrites the padding that\n // the theme set, which will make things look 'not aligned' for the\n // first group level.\n var node = this.params.node;\n var suppressPadding = this.params.suppressPadding;\n if (!suppressPadding) {\n this.addManagedListener(node, RowNode.EVENT_UI_LEVEL_CHANGED, this.setIndent.bind(this));\n this.setIndent();\n }\n };\n GroupCellRendererCtrl.prototype.setIndent = function () {\n if (this.gridOptionsWrapper.isGroupHideOpenParents()) {\n return;\n }\n var params = this.params;\n var rowNode = params.node;\n // if we are only showing one group column, we don't want to be indenting based on level\n var fullWithRow = !!params.colDef;\n var treeData = this.gridOptionsWrapper.isTreeData();\n var manyDimensionThisColumn = !fullWithRow || treeData || params.colDef.showRowGroup === true;\n var paddingCount = manyDimensionThisColumn ? rowNode.uiLevel : 0;\n var userProvidedPaddingPixelsTheDeprecatedWay = params.padding >= 0;\n if (userProvidedPaddingPixelsTheDeprecatedWay) {\n doOnce(function () { return console.warn('AG Grid: cellRendererParams.padding no longer works, it was deprecated in since v14.2 and removed in v26, configuring padding for groupCellRenderer should be done with Sass variables and themes. Please see the AG Grid documentation page for Themes, in particular the property $row-group-indent-size.'); }, 'groupCellRenderer->doDeprecatedWay');\n }\n if (this.indentClass) {\n this.comp.addOrRemoveCssClass(this.indentClass, false);\n }\n this.indentClass = 'ag-row-group-indent-' + paddingCount;\n this.comp.addOrRemoveCssClass(this.indentClass, true);\n };\n GroupCellRendererCtrl.prototype.addFullWidthRowDraggerIfNeeded = function () {\n var _this = this;\n if (!this.params.fullWidth || !this.params.rowDrag) {\n return;\n }\n var rowDragComp = new RowDragComp(function () { return _this.params.value; }, this.params.node);\n this.createManagedBean(rowDragComp, this.context);\n this.eGui.insertAdjacentElement('afterbegin', rowDragComp.getGui());\n };\n GroupCellRendererCtrl.prototype.isUserWantsSelected = function () {\n var paramsCheckbox = this.params.checkbox;\n // if a function, we always return true as change detection can show or hide the checkbox.\n return typeof paramsCheckbox === 'function' || paramsCheckbox === true;\n };\n GroupCellRendererCtrl.prototype.addCheckboxIfNeeded = function () {\n var _this = this;\n var rowNode = this.displayedGroupNode;\n var checkboxNeeded = this.isUserWantsSelected() &&\n // footers cannot be selected\n !rowNode.footer &&\n // pinned rows cannot be selected\n !rowNode.rowPinned &&\n // details cannot be selected\n !rowNode.detail;\n if (checkboxNeeded) {\n var cbSelectionComponent_1 = new CheckboxSelectionComponent();\n this.getContext().createBean(cbSelectionComponent_1);\n cbSelectionComponent_1.init({\n rowNode: rowNode,\n column: this.params.column,\n overrides: {\n isVisible: this.params.checkbox,\n callbackParams: this.params,\n removeHidden: true,\n },\n });\n this.eCheckbox.appendChild(cbSelectionComponent_1.getGui());\n this.addDestroyFunc(function () { return _this.getContext().destroyBean(cbSelectionComponent_1); });\n }\n this.comp.setCheckboxVisible(checkboxNeeded);\n };\n GroupCellRendererCtrl.prototype.onKeyDown = function (event) {\n var enterKeyPressed = event.key === KeyCode.ENTER;\n if (!enterKeyPressed || this.params.suppressEnterExpand) {\n return;\n }\n var cellEditable = this.params.column && this.params.column.isCellEditable(this.params.node);\n if (cellEditable) {\n return;\n }\n this.onExpandOrContract(event);\n };\n GroupCellRendererCtrl.prototype.onCellDblClicked = function (mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n // we want to avoid acting on double click events on the expand / contract icon,\n // as that icons already has expand / collapse functionality on it. otherwise if\n // the icon was double clicked, we would get 'click', 'click', 'dblclick' which\n // is open->close->open, however double click should be open->close only.\n var targetIsExpandIcon = isElementInEventPath(this.eExpanded, mouseEvent)\n || isElementInEventPath(this.eContracted, mouseEvent);\n if (!targetIsExpandIcon) {\n this.onExpandOrContract(mouseEvent);\n }\n };\n __decorate$1_([\n Autowired('expressionService')\n ], GroupCellRendererCtrl.prototype, \"expressionService\", void 0);\n __decorate$1_([\n Autowired('valueFormatterService')\n ], GroupCellRendererCtrl.prototype, \"valueFormatterService\", void 0);\n __decorate$1_([\n Autowired('columnModel')\n ], GroupCellRendererCtrl.prototype, \"columnModel\", void 0);\n __decorate$1_([\n Autowired('userComponentFactory')\n ], GroupCellRendererCtrl.prototype, \"userComponentFactory\", void 0);\n __decorate$1_([\n Autowired('gridOptions')\n ], GroupCellRendererCtrl.prototype, \"gridOptions\", void 0);\n __decorate$1_([\n Autowired(\"ctrlsService\")\n ], GroupCellRendererCtrl.prototype, \"ctrlsService\", void 0);\n return GroupCellRendererCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2e = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1Z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupCellRenderer = /** @class */ (function (_super) {\n __extends$2e(GroupCellRenderer, _super);\n function GroupCellRenderer() {\n return _super.call(this, GroupCellRenderer.TEMPLATE) || this;\n }\n GroupCellRenderer.prototype.init = function (params) {\n var _this = this;\n var compProxy = {\n setInnerRenderer: function (compDetails, valueToDisplay) { return _this.setRenderDetails(compDetails, valueToDisplay); },\n setChildCount: function (count) { return _this.eChildCount.innerHTML = count; },\n addOrRemoveCssClass: function (cssClass, value) { return _this.addOrRemoveCssClass(cssClass, value); },\n setContractedDisplayed: function (expanded) { return setDisplayed(_this.eContracted, expanded); },\n setExpandedDisplayed: function (expanded) { return setDisplayed(_this.eExpanded, expanded); },\n setCheckboxVisible: function (visible) { return _this.eCheckbox.classList.toggle('ag-invisible', !visible); }\n };\n var ctrl = this.createManagedBean(new GroupCellRendererCtrl());\n var fullWidth = !params.colDef;\n var eGui = this.getGui();\n ctrl.init(compProxy, eGui, this.eCheckbox, this.eExpanded, this.eContracted, this.constructor, params);\n if (fullWidth) {\n setAriaRole(eGui, 'gridcell');\n }\n };\n GroupCellRenderer.prototype.setRenderDetails = function (compDetails, valueToDisplay) {\n var _this = this;\n if (compDetails) {\n var componentPromise = compDetails.newAgStackInstance();\n if (!componentPromise) {\n return;\n }\n componentPromise.then(function (comp) {\n if (!comp) {\n return;\n }\n var destroyComp = function () { return _this.context.destroyBean(comp); };\n if (_this.isAlive()) {\n _this.eValue.appendChild(comp.getGui());\n _this.addDestroyFunc(destroyComp);\n }\n else {\n destroyComp();\n }\n });\n }\n else {\n this.eValue.innerText = valueToDisplay;\n }\n };\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to have public here instead of private or protected\n GroupCellRenderer.prototype.destroy = function () {\n this.getContext().destroyBean(this.innerCellRenderer);\n _super.prototype.destroy.call(this);\n };\n GroupCellRenderer.prototype.refresh = function () {\n return false;\n };\n GroupCellRenderer.TEMPLATE = \"\\n \\n \\n \\n \\n \\n \";\n __decorate$1Z([\n RefSelector('eExpanded')\n ], GroupCellRenderer.prototype, \"eExpanded\", void 0);\n __decorate$1Z([\n RefSelector('eContracted')\n ], GroupCellRenderer.prototype, \"eContracted\", void 0);\n __decorate$1Z([\n RefSelector('eCheckbox')\n ], GroupCellRenderer.prototype, \"eCheckbox\", void 0);\n __decorate$1Z([\n RefSelector('eValue')\n ], GroupCellRenderer.prototype, \"eValue\", void 0);\n __decorate$1Z([\n RefSelector('eChildCount')\n ], GroupCellRenderer.prototype, \"eChildCount\", void 0);\n return GroupCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2d = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1Y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar LoadingCellRenderer = /** @class */ (function (_super) {\n __extends$2d(LoadingCellRenderer, _super);\n function LoadingCellRenderer() {\n return _super.call(this, LoadingCellRenderer.TEMPLATE) || this;\n }\n LoadingCellRenderer.prototype.init = function (params) {\n params.node.failedLoad ? this.setupFailed() : this.setupLoading();\n };\n LoadingCellRenderer.prototype.setupFailed = function () {\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eLoadingText.innerText = localeTextFunc('loadingError', 'ERR');\n };\n LoadingCellRenderer.prototype.setupLoading = function () {\n var eLoadingIcon = createIconNoSpan('groupLoading', this.gridOptionsWrapper, null);\n if (eLoadingIcon) {\n this.eLoadingIcon.appendChild(eLoadingIcon);\n }\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eLoadingText.innerText = localeTextFunc('loadingOoo', 'Loading');\n };\n LoadingCellRenderer.prototype.refresh = function (params) {\n return false;\n };\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n LoadingCellRenderer.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n LoadingCellRenderer.TEMPLATE = \"
\\n \\n \\n
\";\n __decorate$1Y([\n RefSelector('eLoadingIcon')\n ], LoadingCellRenderer.prototype, \"eLoadingIcon\", void 0);\n __decorate$1Y([\n RefSelector('eLoadingText')\n ], LoadingCellRenderer.prototype, \"eLoadingText\", void 0);\n return LoadingCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2c = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar LoadingOverlayComponent$1 = /** @class */ (function (_super) {\n __extends$2c(LoadingOverlayComponent, _super);\n function LoadingOverlayComponent() {\n return _super.call(this) || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n LoadingOverlayComponent.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n LoadingOverlayComponent.prototype.init = function (params) {\n var template = this.gridOptionsWrapper.getOverlayLoadingTemplate() ?\n this.gridOptionsWrapper.getOverlayLoadingTemplate() : LoadingOverlayComponent.DEFAULT_LOADING_OVERLAY_TEMPLATE;\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var localisedTemplate = template.replace('[LOADING...]', localeTextFunc('loadingOoo', 'Loading...'));\n this.setTemplate(localisedTemplate);\n };\n LoadingOverlayComponent.DEFAULT_LOADING_OVERLAY_TEMPLATE = '[LOADING...]';\n return LoadingOverlayComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2b = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar NoRowsOverlayComponent$1 = /** @class */ (function (_super) {\n __extends$2b(NoRowsOverlayComponent, _super);\n function NoRowsOverlayComponent() {\n return _super.call(this) || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n NoRowsOverlayComponent.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n NoRowsOverlayComponent.prototype.init = function (params) {\n var template = this.gridOptionsWrapper.getOverlayNoRowsTemplate() ?\n this.gridOptionsWrapper.getOverlayNoRowsTemplate() : NoRowsOverlayComponent.DEFAULT_NO_ROWS_TEMPLATE;\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var localisedTemplate = template.replace('[NO_ROWS_TO_SHOW]', localeTextFunc('noRowsToShow', 'No Rows To Show'));\n this.setTemplate(localisedTemplate);\n };\n NoRowsOverlayComponent.DEFAULT_NO_ROWS_TEMPLATE = '[NO_ROWS_TO_SHOW]';\n return NoRowsOverlayComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2a = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar TooltipComponent$1 = /** @class */ (function (_super) {\n __extends$2a(TooltipComponent, _super);\n function TooltipComponent() {\n return _super.call(this, /* html */ \"
\") || this;\n }\n // will need to type params\n TooltipComponent.prototype.init = function (params) {\n var value = params.value;\n this.getGui().innerHTML = escapeString(value);\n };\n return TooltipComponent;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$29 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1X = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar UserComponentRegistry = /** @class */ (function (_super) {\n __extends$29(UserComponentRegistry, _super);\n function UserComponentRegistry() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.agGridDefaults = {\n //date\n agDateInput: DefaultDateComponent,\n //header\n agColumnHeader: HeaderComp,\n agColumnGroupHeader: HeaderGroupComp,\n agSortIndicator: SortIndicatorComp,\n //floating filters\n agTextColumnFloatingFilter: TextFloatingFilter,\n agNumberColumnFloatingFilter: NumberFloatingFilter,\n agDateColumnFloatingFilter: DateFloatingFilter,\n agReadOnlyFloatingFilter: ReadOnlyFloatingFilter,\n // renderers\n agAnimateShowChangeCellRenderer: AnimateShowChangeCellRenderer,\n agAnimateSlideCellRenderer: AnimateSlideCellRenderer,\n agGroupCellRenderer: GroupCellRenderer,\n agGroupRowRenderer: GroupCellRenderer,\n agLoadingCellRenderer: LoadingCellRenderer,\n //editors\n agCellEditor: TextCellEditor,\n agTextCellEditor: TextCellEditor,\n agSelectCellEditor: SelectCellEditor,\n agPopupTextCellEditor: PopupTextCellEditor,\n agPopupSelectCellEditor: PopupSelectCellEditor,\n agLargeTextCellEditor: LargeTextCellEditor,\n //filter\n agTextColumnFilter: TextFilter,\n agNumberColumnFilter: NumberFilter,\n agDateColumnFilter: DateFilter,\n //overlays\n agLoadingOverlay: LoadingOverlayComponent$1,\n agNoRowsOverlay: NoRowsOverlayComponent$1,\n // tooltips\n agTooltipComponent: TooltipComponent$1\n };\n _this.agDeprecatedNames = {\n set: {\n newComponentName: 'agSetColumnFilter',\n propertyHolder: 'filter'\n },\n text: {\n newComponentName: 'agTextColumnFilter',\n propertyHolder: 'filter'\n },\n number: {\n newComponentName: 'agNumberColumnFilter',\n propertyHolder: 'filter'\n },\n date: {\n newComponentName: 'agDateColumnFilter',\n propertyHolder: 'filter'\n },\n group: {\n newComponentName: 'agGroupCellRenderer',\n propertyHolder: 'cellRenderer'\n },\n animateShowChange: {\n newComponentName: 'agAnimateShowChangeCellRenderer',\n propertyHolder: 'cellRenderer'\n },\n animateSlide: {\n newComponentName: 'agAnimateSlideCellRenderer',\n propertyHolder: 'cellRenderer'\n },\n select: {\n newComponentName: 'agSelectCellEditor',\n propertyHolder: 'cellEditor'\n },\n largeText: {\n newComponentName: 'agLargeTextCellEditor',\n propertyHolder: 'cellEditor'\n },\n popupSelect: {\n newComponentName: 'agPopupSelectCellEditor',\n propertyHolder: 'cellEditor'\n },\n popupText: {\n newComponentName: 'agPopupTextCellEditor',\n propertyHolder: 'cellEditor'\n },\n richSelect: {\n newComponentName: 'agRichSelectCellEditor',\n propertyHolder: 'cellEditor'\n },\n headerComponent: {\n newComponentName: 'agColumnHeader',\n propertyHolder: 'headerComponent'\n }\n };\n _this.jsComps = {};\n _this.fwComps = {};\n return _this;\n }\n UserComponentRegistry.prototype.init = function () {\n var _this = this;\n if (this.gridOptions.components != null) {\n iterateObject(this.gridOptions.components, function (key, component) { return _this.registerJsComponent(key, component); });\n }\n if (this.gridOptions.frameworkComponents != null) {\n iterateObject(this.gridOptions.frameworkComponents, function (key, component) { return _this.registerFwComponent(key, component); });\n }\n };\n UserComponentRegistry.prototype.registerDefaultComponent = function (rawName, component) {\n var name = this.translateIfDeprecated(rawName);\n if (this.agGridDefaults[name]) {\n console.error(\"Trying to overwrite a default component. You should call registerComponent\");\n return;\n }\n this.agGridDefaults[name] = component;\n };\n UserComponentRegistry.prototype.registerJsComponent = function (rawName, component) {\n var name = this.translateIfDeprecated(rawName);\n if (this.fwComps[name]) {\n console.error(\"Trying to register a component that you have already registered for frameworks: \" + name);\n return;\n }\n this.jsComps[name] = component;\n };\n /**\n * B the business interface (ie IHeader)\n * A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid\n */\n UserComponentRegistry.prototype.registerFwComponent = function (rawName, component) {\n var warningMessage = \"AG Grid: As of v27, registering components via grid property frameworkComponents is deprecated. Instead register both JavaScript AND Framework Components via the components property.\";\n doOnce(function () { return console.warn(warningMessage); }, \"UserComponentRegistry.frameworkComponentsDeprecated\");\n var name = this.translateIfDeprecated(rawName);\n this.fwComps[name] = component;\n };\n UserComponentRegistry.prototype.retrieve = function (rawName) {\n var name = this.translateIfDeprecated(rawName);\n var createResult = function (component, componentFromFramework) { return ({ componentFromFramework: componentFromFramework, component: component }); };\n // FrameworkOverrides.frameworkComponent() is used in two locations:\n // 1) for Vue, user provided components get registered via a framework specific way.\n // 2) for React, it's how the React UI provides alternative default components (eg GroupCellRenderer and DetailCellRenderer)\n var registeredViaFrameworkComp = this.getFrameworkOverrides().frameworkComponent(name, this.gridOptions.components);\n if (registeredViaFrameworkComp != null) {\n return createResult(registeredViaFrameworkComp, true);\n }\n var frameworkComponent = this.fwComps[name];\n if (frameworkComponent) {\n return createResult(frameworkComponent, true);\n }\n var jsComponent = this.jsComps[name];\n if (jsComponent) {\n var isFwkComp = this.getFrameworkOverrides().isFrameworkComponent(jsComponent);\n return createResult(jsComponent, isFwkComp);\n }\n var defaultComponent = this.agGridDefaults[name];\n if (defaultComponent) {\n return createResult(defaultComponent, false);\n }\n if (Object.keys(this.agGridDefaults).indexOf(name) < 0) {\n console.warn(\"AG Grid: Looking for component [\" + name + \"] but it wasn't found.\");\n }\n return null;\n };\n UserComponentRegistry.prototype.translateIfDeprecated = function (raw) {\n var deprecatedInfo = this.agDeprecatedNames[raw];\n if (deprecatedInfo != null) {\n doOnce(function () {\n console.warn(\"ag-grid. Since v15.0 component names have been renamed to be namespaced. You should rename \" + deprecatedInfo.propertyHolder + \":\" + raw + \" to \" + deprecatedInfo.propertyHolder + \":\" + deprecatedInfo.newComponentName);\n }, 'DEPRECATE_COMPONENT_' + raw);\n return deprecatedInfo.newComponentName;\n }\n return raw;\n };\n __decorate$1X([\n Autowired('gridOptions')\n ], UserComponentRegistry.prototype, \"gridOptions\", void 0);\n __decorate$1X([\n Autowired('agComponentUtils')\n ], UserComponentRegistry.prototype, \"agComponentUtils\", void 0);\n __decorate$1X([\n PostConstruct\n ], UserComponentRegistry.prototype, \"init\", null);\n UserComponentRegistry = __decorate$1X([\n Bean('userComponentRegistry')\n ], UserComponentRegistry);\n return UserComponentRegistry;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar DateComponent = {\n propertyName: 'dateComponent',\n cellRenderer: false\n};\nvar HeaderComponent = {\n propertyName: 'headerComponent',\n cellRenderer: false\n};\nvar HeaderGroupComponent = {\n propertyName: 'headerGroupComponent',\n cellRenderer: false\n};\nvar CellRendererComponent = {\n propertyName: 'cellRenderer',\n cellRenderer: true\n};\nvar CellEditorComponent = {\n propertyName: 'cellEditor',\n cellRenderer: false\n};\nvar InnerRendererComponent = {\n propertyName: 'innerRenderer',\n cellRenderer: true\n};\nvar LoadingOverlayComponent = {\n propertyName: 'loadingOverlayComponent',\n cellRenderer: false\n};\nvar NoRowsOverlayComponent = {\n propertyName: 'noRowsOverlayComponent',\n cellRenderer: false\n};\nvar TooltipComponent = {\n propertyName: 'tooltipComponent',\n cellRenderer: false\n};\nvar FilterComponent = {\n propertyName: 'filter',\n cellRenderer: false\n};\nvar FloatingFilterComponent = {\n propertyName: 'floatingFilterComponent',\n cellRenderer: false\n};\nvar ToolPanelComponent = {\n propertyName: 'toolPanel',\n cellRenderer: false\n};\nvar StatusPanelComponent = {\n propertyName: 'statusPanel',\n cellRenderer: false\n};\nvar FullWidth = {\n propertyName: 'fullWidthCellRenderer',\n cellRenderer: true\n};\nvar FullWidthLoading = {\n propertyName: 'loadingCellRenderer',\n cellRenderer: true\n};\nvar FullWidthGroup = {\n propertyName: 'groupRowRenderer',\n cellRenderer: true\n};\nvar FullWidthDetail = {\n propertyName: 'detailCellRenderer',\n cellRenderer: true\n};\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar FloatingFilterMapper = /** @class */ (function () {\n function FloatingFilterMapper() {\n }\n FloatingFilterMapper.getFloatingFilterType = function (filterType) {\n return this.filterToFloatingFilterMapping[filterType];\n };\n FloatingFilterMapper.filterToFloatingFilterMapping = {\n set: 'agSetColumnFloatingFilter',\n agSetColumnFilter: 'agSetColumnFloatingFilter',\n multi: 'agMultiColumnFloatingFilter',\n agMultiColumnFilter: 'agMultiColumnFloatingFilter',\n number: 'agNumberColumnFloatingFilter',\n agNumberColumnFilter: 'agNumberColumnFloatingFilter',\n date: 'agDateColumnFloatingFilter',\n agDateColumnFilter: 'agDateColumnFloatingFilter',\n text: 'agTextColumnFloatingFilter',\n agTextColumnFilter: 'agTextColumnFloatingFilter'\n };\n return FloatingFilterMapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$28 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1W = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar UserComponentFactory = /** @class */ (function (_super) {\n __extends$28(UserComponentFactory, _super);\n function UserComponentFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UserComponentFactory.prototype.getHeaderCompDetails = function (colDef, params) {\n return this.getCompDetails(colDef, HeaderComponent, 'agColumnHeader', params);\n };\n UserComponentFactory.prototype.getHeaderGroupCompDetails = function (params) {\n var colGroupDef = params.columnGroup.getColGroupDef();\n return this.getCompDetails(colGroupDef, HeaderGroupComponent, 'agColumnGroupHeader', params);\n };\n // this one is unusual, as it can be LoadingCellRenderer, DetailCellRenderer, FullWidthCellRenderer or GroupRowRenderer.\n // so we have to pass the type in.\n UserComponentFactory.prototype.getFullWidthCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidth, null, params, true);\n };\n UserComponentFactory.prototype.getFullWidthLoadingCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidthLoading, 'agLoadingCellRenderer', params, true);\n };\n UserComponentFactory.prototype.getFullWidthGroupCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidthGroup, 'agGroupRowRenderer', params, true);\n };\n UserComponentFactory.prototype.getFullWidthDetailCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidthDetail, 'agDetailCellRenderer', params, true);\n };\n // CELL RENDERER\n UserComponentFactory.prototype.getInnerRendererDetails = function (def, params) {\n return this.getCompDetails(def, InnerRendererComponent, null, params);\n };\n UserComponentFactory.prototype.getFullWidthGroupRowInnerCellRenderer = function (def, params) {\n return this.getCompDetails(def, InnerRendererComponent, null, params);\n };\n UserComponentFactory.prototype.getCellRendererDetails = function (def, params) {\n return this.getCompDetails(def, CellRendererComponent, null, params);\n };\n // CELL EDITOR\n UserComponentFactory.prototype.getCellEditorDetails = function (def, params) {\n return this.getCompDetails(def, CellEditorComponent, 'agCellEditor', params, true);\n };\n // FILTER\n UserComponentFactory.prototype.getFilterDetails = function (def, params, defaultFilter) {\n return this.getCompDetails(def, FilterComponent, defaultFilter, params, true);\n };\n UserComponentFactory.prototype.getDateCompDetails = function (params) {\n return this.getCompDetails(this.gridOptions, DateComponent, 'agDateInput', params, true);\n };\n UserComponentFactory.prototype.getLoadingOverlayCompDetails = function (params) {\n return this.getCompDetails(this.gridOptions, LoadingOverlayComponent, 'agLoadingOverlay', params, true);\n };\n UserComponentFactory.prototype.getNoRowsOverlayCompDetails = function (params) {\n return this.getCompDetails(this.gridOptions, NoRowsOverlayComponent, 'agNoRowsOverlay', params, true);\n };\n UserComponentFactory.prototype.getTooltipCompDetails = function (params) {\n return this.getCompDetails(params.colDef, TooltipComponent, 'agTooltipComponent', params, true);\n };\n UserComponentFactory.prototype.getSetFilterCellRendererDetails = function (def, params) {\n return this.getCompDetails(def, CellRendererComponent, null, params);\n };\n UserComponentFactory.prototype.getFloatingFilterCompDetails = function (def, params, defaultFloatingFilter) {\n return this.getCompDetails(def, FloatingFilterComponent, defaultFloatingFilter, params);\n };\n UserComponentFactory.prototype.getToolPanelCompDetails = function (toolPanelDef, params) {\n return this.getCompDetails(toolPanelDef, ToolPanelComponent, null, params, true);\n };\n UserComponentFactory.prototype.getStatusPanelCompDetails = function (def, params) {\n return this.getCompDetails(def, StatusPanelComponent, null, params, true);\n };\n UserComponentFactory.prototype.getCompDetails = function (defObject, type, defaultName, params, mandatory) {\n var _this = this;\n if (mandatory === void 0) { mandatory = false; }\n var propertyName = type.propertyName, cellRenderer = type.cellRenderer;\n var _a = this.getCompKeys(defObject, type, params), compName = _a.compName, jsComp = _a.jsComp, fwComp = _a.fwComp, paramsFromSelector = _a.paramsFromSelector, popupFromSelector = _a.popupFromSelector, popupPositionFromSelector = _a.popupPositionFromSelector;\n var lookupFromRegistry = function (key) {\n var item = _this.userComponentRegistry.retrieve(key);\n if (item) {\n jsComp = !item.componentFromFramework ? item.component : undefined;\n fwComp = item.componentFromFramework ? item.component : undefined;\n }\n };\n // if compOption is a string, means we need to look the item up\n if (compName != null) {\n lookupFromRegistry(compName);\n }\n // if lookup brought nothing back, and we have a default, lookup the default\n if (jsComp == null && fwComp == null && defaultName != null) {\n lookupFromRegistry(defaultName);\n }\n // if we have a comp option, and it's a function, replace it with an object equivalent adaptor\n if (jsComp && cellRenderer && !this.agComponentUtils.doesImplementIComponent(jsComp)) {\n jsComp = this.agComponentUtils.adaptFunction(propertyName, jsComp);\n }\n if (!jsComp && !fwComp) {\n if (mandatory) {\n console.error(\"Could not find component \" + compName + \", did you forget to configure this component?\");\n }\n return;\n }\n var paramsMerged = this.mergeParamsWithApplicationProvidedParams(defObject, type, params, paramsFromSelector);\n var componentFromFramework = jsComp == null;\n var componentClass = jsComp ? jsComp : fwComp;\n return {\n componentFromFramework: componentFromFramework,\n componentClass: componentClass,\n params: paramsMerged,\n type: type,\n popupFromSelector: popupFromSelector,\n popupPositionFromSelector: popupPositionFromSelector,\n newAgStackInstance: function () { return _this.newAgStackInstance(componentClass, componentFromFramework, paramsMerged, type); }\n };\n };\n UserComponentFactory.prototype.getCompKeys = function (defObject, type, params) {\n var _this = this;\n var propertyName = type.propertyName;\n var compName;\n var jsComp;\n var fwComp;\n var paramsFromSelector;\n var popupFromSelector;\n var popupPositionFromSelector;\n // there are two types of js comps, class based and func based. we can only check for\n // class based, by checking if getGui() exists. no way to differentiate js func based vs eg react func based\n // const isJsClassComp = (comp: any) => this.agComponentUtils.doesImplementIComponent(comp);\n // const fwActive = this.frameworkComponentWrapper != null;\n // pull from defObject if available\n if (defObject) {\n var defObjectAny = defObject;\n // if selector, use this\n var selectorFunc = defObjectAny[propertyName + 'Selector'];\n var selectorRes = selectorFunc ? selectorFunc(params) : null;\n var assignComp = function (providedJsComp, providedFwComp) {\n var xxxFrameworkDeprecatedWarn = function () {\n var warningMessage = \"AG Grid: As of v27, the property \" + propertyName + \"Framework is deprecated. The property \" + propertyName + \" can now be used for JavaScript AND Framework Components.\";\n doOnce(function () { return console.warn(warningMessage); }, \"UserComponentFactory.\" + propertyName + \"FrameworkDeprecated\");\n };\n if (typeof providedJsComp === 'string') {\n compName = providedJsComp;\n }\n else if (typeof providedFwComp === 'string') {\n xxxFrameworkDeprecatedWarn();\n compName = providedFwComp;\n // comp===true for filters, which means use the default comp\n }\n else if (providedJsComp != null && providedJsComp !== true) {\n var isFwkComp = _this.getFrameworkOverrides().isFrameworkComponent(providedJsComp);\n if (isFwkComp) {\n fwComp = providedJsComp;\n }\n else {\n jsComp = providedJsComp;\n }\n }\n else if (providedFwComp != null) {\n xxxFrameworkDeprecatedWarn();\n fwComp = providedFwComp;\n }\n };\n if (selectorRes) {\n if (selectorRes.frameworkComponent != null) {\n var warningMessage_1 = \"AG Grid: As of v27, the return for \" + propertyName + \"Selector has attributes [component, params] only. The attribute frameworkComponent is deprecated. You should now return back Framework Components using the 'component' attribute and the grid works out if it's a framework component or not.\";\n doOnce(function () { return console.warn(warningMessage_1); }, \"UserComponentFactory.\" + propertyName + \"FrameworkSelectorDeprecated\");\n assignComp(selectorRes.frameworkComponent, undefined);\n }\n else {\n assignComp(selectorRes.component, undefined);\n }\n paramsFromSelector = selectorRes.params;\n popupFromSelector = selectorRes.popup;\n popupPositionFromSelector = selectorRes.popupPosition;\n }\n else {\n // if no selector, or result of selector is empty, take from defObject\n assignComp(defObjectAny[propertyName], defObjectAny[propertyName + 'Framework']);\n }\n }\n return { compName: compName, jsComp: jsComp, fwComp: fwComp, paramsFromSelector: paramsFromSelector, popupFromSelector: popupFromSelector, popupPositionFromSelector: popupPositionFromSelector };\n };\n UserComponentFactory.prototype.newAgStackInstance = function (ComponentClass, componentFromFramework, params, type) {\n var propertyName = type.propertyName;\n var jsComponent = !componentFromFramework;\n // using javascript component\n var instance;\n if (jsComponent) {\n instance = new ComponentClass();\n }\n else {\n // Using framework component\n var thisComponentConfig = this.componentMetadataProvider.retrieve(propertyName);\n instance = this.frameworkComponentWrapper.wrap(ComponentClass, thisComponentConfig.mandatoryMethodList, thisComponentConfig.optionalMethodList, type);\n }\n var deferredInit = this.initComponent(instance, params);\n if (deferredInit == null) {\n return AgPromise.resolve(instance);\n }\n return deferredInit.then(function () { return instance; });\n };\n // used by Floating Filter\n UserComponentFactory.prototype.mergeParamsWithApplicationProvidedParams = function (defObject, type, paramsFromGrid, paramsFromSelector) {\n if (paramsFromSelector === void 0) { paramsFromSelector = null; }\n var params = {\n context: this.gridOptionsWrapper.getContext(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n api: this.gridOptionsWrapper.getApi()\n };\n mergeDeep(params, paramsFromGrid);\n // pull user params from either the old prop name and new prop name\n // eg either cellRendererParams and cellCompParams\n var defObjectAny = defObject;\n var userParams = defObjectAny && defObjectAny[type.propertyName + 'Params'];\n if (typeof userParams === 'function') {\n var userParamsFromFunc = userParams(paramsFromGrid);\n mergeDeep(params, userParamsFromFunc);\n }\n else if (typeof userParams === 'object') {\n mergeDeep(params, userParams);\n }\n mergeDeep(params, paramsFromSelector);\n return params;\n };\n UserComponentFactory.prototype.initComponent = function (component, params) {\n this.context.createBean(component);\n if (component.init == null) {\n return;\n }\n return component.init(params);\n };\n UserComponentFactory.prototype.getDefaultFloatingFilterType = function (def) {\n if (def == null) {\n return null;\n }\n var defaultFloatingFilterType = null;\n var _a = this.getCompKeys(def, FilterComponent), compName = _a.compName, jsComp = _a.jsComp, fwComp = _a.fwComp;\n if (compName) {\n // will be undefined if not in the map\n defaultFloatingFilterType = FloatingFilterMapper.getFloatingFilterType(compName);\n }\n else {\n var usingDefaultFilter = (jsComp == null && fwComp == null) && (def.filter === true);\n if (usingDefaultFilter) {\n var setFilterModuleLoaded = ModuleRegistry.isRegistered(ModuleNames.SetFilterModule);\n defaultFloatingFilterType = setFilterModuleLoaded ? 'agSetColumnFloatingFilter' : 'agTextColumnFloatingFilter';\n }\n }\n return defaultFloatingFilterType;\n };\n __decorate$1W([\n Autowired('gridOptions')\n ], UserComponentFactory.prototype, \"gridOptions\", void 0);\n __decorate$1W([\n Autowired('agComponentUtils')\n ], UserComponentFactory.prototype, \"agComponentUtils\", void 0);\n __decorate$1W([\n Autowired('componentMetadataProvider')\n ], UserComponentFactory.prototype, \"componentMetadataProvider\", void 0);\n __decorate$1W([\n Autowired('userComponentRegistry')\n ], UserComponentFactory.prototype, \"userComponentRegistry\", void 0);\n __decorate$1W([\n Optional('frameworkComponentWrapper')\n ], UserComponentFactory.prototype, \"frameworkComponentWrapper\", void 0);\n UserComponentFactory = __decorate$1W([\n Bean('userComponentFactory')\n ], UserComponentFactory);\n return UserComponentFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// Excel Export\nvar ExcelFactoryMode;\n(function (ExcelFactoryMode) {\n ExcelFactoryMode[ExcelFactoryMode[\"SINGLE_SHEET\"] = 0] = \"SINGLE_SHEET\";\n ExcelFactoryMode[ExcelFactoryMode[\"MULTI_SHEET\"] = 1] = \"MULTI_SHEET\";\n})(ExcelFactoryMode || (ExcelFactoryMode = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$27 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1V = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/** Adds drag listening onto an element. In AG Grid this is used twice, first is resizing columns,\n * second is moving the columns and column groups around (ie the 'drag' part of Drag and Drop. */\nvar DragService = /** @class */ (function (_super) {\n __extends$27(DragService, _super);\n function DragService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.dragEndFunctions = [];\n _this.dragSources = [];\n return _this;\n }\n DragService.prototype.init = function () {\n this.logger = this.loggerFactory.create('DragService');\n };\n DragService.prototype.removeAllListeners = function () {\n this.dragSources.forEach(this.removeListener.bind(this));\n this.dragSources.length = 0;\n };\n DragService.prototype.removeListener = function (dragSourceAndListener) {\n var element = dragSourceAndListener.dragSource.eElement;\n var mouseDownListener = dragSourceAndListener.mouseDownListener;\n element.removeEventListener('mousedown', mouseDownListener);\n // remove touch listener only if it exists\n if (dragSourceAndListener.touchEnabled) {\n var touchStartListener = dragSourceAndListener.touchStartListener;\n element.removeEventListener('touchstart', touchStartListener, { passive: true });\n }\n };\n DragService.prototype.removeDragSource = function (params) {\n var dragSourceAndListener = this.dragSources.find(function (item) { return item.dragSource === params; });\n if (!dragSourceAndListener) {\n return;\n }\n this.removeListener(dragSourceAndListener);\n removeFromArray(this.dragSources, dragSourceAndListener);\n };\n DragService.prototype.isDragging = function () {\n return this.dragging;\n };\n DragService.prototype.addDragSource = function (params, includeTouch) {\n var _this = this;\n if (includeTouch === void 0) { includeTouch = false; }\n var mouseListener = this.onMouseDown.bind(this, params);\n params.eElement.addEventListener('mousedown', mouseListener);\n var touchListener = null;\n var suppressTouch = this.gridOptionsWrapper.isSuppressTouch();\n if (includeTouch && !suppressTouch) {\n touchListener = function (touchEvent) {\n if (isFocusableFormField(touchEvent.target)) {\n return;\n }\n if (touchEvent.cancelable) {\n touchEvent.preventDefault();\n }\n _this.onTouchStart(params, touchEvent);\n };\n // we set passive=false, as we want to prevent default on this event\n params.eElement.addEventListener('touchstart', touchListener, { passive: false });\n }\n this.dragSources.push({\n dragSource: params,\n mouseDownListener: mouseListener,\n touchStartListener: touchListener,\n touchEnabled: includeTouch\n });\n };\n // gets called whenever mouse down on any drag source\n DragService.prototype.onTouchStart = function (params, touchEvent) {\n var _this = this;\n this.currentDragParams = params;\n this.dragging = false;\n var touch = touchEvent.touches[0];\n this.touchLastTime = touch;\n this.touchStart = touch;\n var touchMoveEvent = function (e) { return _this.onTouchMove(e, params.eElement); };\n var touchEndEvent = function (e) { return _this.onTouchUp(e, params.eElement); };\n var documentTouchMove = function (e) { if (e.cancelable) {\n e.preventDefault();\n } };\n var target = touchEvent.target;\n var events = [\n // Prevents the page document from moving while we are dragging items around.\n // preventDefault needs to be called in the touchmove listener and never inside the\n // touchstart, because using touchstart causes the click event to be cancelled on touch devices.\n { target: document, type: 'touchmove', listener: documentTouchMove, options: { passive: false } },\n { target: target, type: 'touchmove', listener: touchMoveEvent, options: { passive: true } },\n { target: target, type: 'touchend', listener: touchEndEvent, options: { passive: true } },\n { target: target, type: 'touchcancel', listener: touchEndEvent, options: { passive: true } }\n ];\n // temporally add these listeners, for the duration of the drag\n this.addTemporaryEvents(events);\n // see if we want to start dragging straight away\n if (params.dragStartPixels === 0) {\n this.onCommonMove(touch, this.touchStart, params.eElement);\n }\n };\n // gets called whenever mouse down on any drag source\n DragService.prototype.onMouseDown = function (params, mouseEvent) {\n var _this = this;\n var e = mouseEvent;\n if (params.skipMouseEvent && params.skipMouseEvent(mouseEvent)) {\n return;\n }\n // if there are two elements with parent / child relationship, and both are draggable,\n // when we drag the child, we should NOT drag the parent. an example of this is row moving\n // and range selection - row moving should get preference when use drags the rowDrag component.\n if (e._alreadyProcessedByDragService) {\n return;\n }\n e._alreadyProcessedByDragService = true;\n // only interested in left button clicks\n if (mouseEvent.button !== 0) {\n return;\n }\n this.currentDragParams = params;\n this.dragging = false;\n this.mouseStartEvent = mouseEvent;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var mouseMoveEvent = function (event) { return _this.onMouseMove(event, params.eElement); };\n var mouseUpEvent = function (event) { return _this.onMouseUp(event, params.eElement); };\n var contextEvent = function (event) { return event.preventDefault(); };\n var target = eDocument;\n var events = [\n { target: target, type: 'mousemove', listener: mouseMoveEvent },\n { target: target, type: 'mouseup', listener: mouseUpEvent },\n { target: target, type: 'contextmenu', listener: contextEvent }\n ];\n // temporally add these listeners, for the duration of the drag\n this.addTemporaryEvents(events);\n //see if we want to start dragging straight away\n if (params.dragStartPixels === 0) {\n this.onMouseMove(mouseEvent, params.eElement);\n }\n };\n DragService.prototype.addTemporaryEvents = function (events) {\n events.forEach(function (currentEvent) {\n var target = currentEvent.target, type = currentEvent.type, listener = currentEvent.listener, options = currentEvent.options;\n target.addEventListener(type, listener, options);\n });\n this.dragEndFunctions.push(function () {\n events.forEach(function (currentEvent) {\n var target = currentEvent.target, type = currentEvent.type, listener = currentEvent.listener, options = currentEvent.options;\n target.removeEventListener(type, listener, options);\n });\n });\n };\n // returns true if the event is close to the original event by X pixels either vertically or horizontally.\n // we only start dragging after X pixels so this allows us to know if we should start dragging yet.\n DragService.prototype.isEventNearStartEvent = function (currentEvent, startEvent) {\n // by default, we wait 4 pixels before starting the drag\n var dragStartPixels = this.currentDragParams.dragStartPixels;\n var requiredPixelDiff = exists(dragStartPixels) ? dragStartPixels : 4;\n return areEventsNear(currentEvent, startEvent, requiredPixelDiff);\n };\n DragService.prototype.getFirstActiveTouch = function (touchList) {\n for (var i = 0; i < touchList.length; i++) {\n if (touchList[i].identifier === this.touchStart.identifier) {\n return touchList[i];\n }\n }\n return null;\n };\n DragService.prototype.onCommonMove = function (currentEvent, startEvent, el) {\n if (!this.dragging) {\n // if mouse hasn't travelled from the start position enough, do nothing\n if (!this.dragging && this.isEventNearStartEvent(currentEvent, startEvent)) {\n return;\n }\n this.dragging = true;\n var event_1 = {\n type: Events.EVENT_DRAG_STARTED,\n target: el\n };\n this.eventService.dispatchEvent(event_1);\n this.currentDragParams.onDragStart(startEvent);\n // we need ONE drag action at the startEvent, so that we are guaranteed the drop target\n // at the start gets notified. this is because the drag can start outside of the element\n // that started it, as the mouse is allowed drag away from the mouse down before it's\n // considered a drag (the isEventNearStartEvent() above). if we didn't do this, then\n // it would be possible to click a column by the edge, then drag outside of the drop zone\n // in less than 4 pixels and the drag officially starts outside of the header but the header\n // wouldn't be notified of the dragging.\n this.currentDragParams.onDragging(startEvent);\n }\n this.currentDragParams.onDragging(currentEvent);\n };\n DragService.prototype.onTouchMove = function (touchEvent, el) {\n var touch = this.getFirstActiveTouch(touchEvent.touches);\n if (!touch) {\n return;\n }\n // this.___statusPanel.setInfoText(Math.random() + ' onTouchMove preventDefault stopPropagation');\n this.onCommonMove(touch, this.touchStart, el);\n };\n // only gets called after a mouse down - as this is only added after mouseDown\n // and is removed when mouseUp happens\n DragService.prototype.onMouseMove = function (mouseEvent, el) {\n // when `isEnableCellTextSelect` is `true`, we need to preventDefault on mouseMove\n // to avoid the grid text being selected while dragging components.\n // Note: Safari also has an issue, where `user-select: none` is not being respected.\n if ((this.gridOptionsWrapper.isEnableCellTextSelect() || isBrowserSafari()) &&\n // The event type can be `mousedown` when `dragStartPixels=0`\n // we should only preventDefault on `mousemove`.\n mouseEvent.type === 'mousemove' &&\n mouseEvent.cancelable &&\n this.mouseEventService.isEventFromThisGrid(mouseEvent) &&\n // we should not prevent mouseMove when above a form field\n // as that would prevent the text in the field from being selected\n !this.isOverFormFieldElement(mouseEvent)) {\n mouseEvent.preventDefault();\n }\n this.onCommonMove(mouseEvent, this.mouseStartEvent, el);\n };\n DragService.prototype.isOverFormFieldElement = function (mouseEvent) {\n var _a, _b;\n var el = mouseEvent.target;\n var tagName = (_a = el) === null || _a === void 0 ? void 0 : _a.tagName.toLocaleLowerCase();\n return !!((_b = tagName) === null || _b === void 0 ? void 0 : _b.match('^a$|textarea|input|select|button'));\n };\n DragService.prototype.onTouchUp = function (touchEvent, el) {\n var touch = this.getFirstActiveTouch(touchEvent.changedTouches);\n // i haven't worked this out yet, but there is no matching touch\n // when we get the touch up event. to get around this, we swap in\n // the last touch. this is a hack to 'get it working' while we\n // figure out what's going on, why we are not getting a touch in\n // current event.\n if (!touch) {\n touch = this.touchLastTime;\n }\n // if mouse was left up before we started to move, then this is a tap.\n // we check this before onUpCommon as onUpCommon resets the dragging\n // let tap = !this.dragging;\n // let tapTarget = this.currentDragParams.eElement;\n this.onUpCommon(touch, el);\n // if tap, tell user\n // console.log(`${Math.random()} tap = ${tap}`);\n // if (tap) {\n // tapTarget.click();\n // }\n };\n DragService.prototype.onMouseUp = function (mouseEvent, el) {\n this.onUpCommon(mouseEvent, el);\n };\n DragService.prototype.onUpCommon = function (eventOrTouch, el) {\n if (this.dragging) {\n this.dragging = false;\n this.currentDragParams.onDragStop(eventOrTouch);\n var event_2 = {\n type: Events.EVENT_DRAG_STOPPED,\n target: el\n };\n this.eventService.dispatchEvent(event_2);\n }\n this.mouseStartEvent = null;\n this.touchStart = null;\n this.touchLastTime = null;\n this.currentDragParams = null;\n this.dragEndFunctions.forEach(function (func) { return func(); });\n this.dragEndFunctions.length = 0;\n };\n __decorate$1V([\n Autowired('loggerFactory')\n ], DragService.prototype, \"loggerFactory\", void 0);\n __decorate$1V([\n Autowired('mouseEventService')\n ], DragService.prototype, \"mouseEventService\", void 0);\n __decorate$1V([\n PostConstruct\n ], DragService.prototype, \"init\", null);\n __decorate$1V([\n PreDestroy\n ], DragService.prototype, \"removeAllListeners\", null);\n DragService = __decorate$1V([\n Bean('dragService')\n ], DragService);\n return DragService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$26 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$7 = (undefined && undefined.__assign) || function () {\n __assign$7 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$7.apply(this, arguments);\n};\nvar __decorate$1U = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FilterManager = /** @class */ (function (_super) {\n __extends$26(FilterManager, _super);\n function FilterManager() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.allColumnFilters = new Map();\n _this.activeAggregateFilters = [];\n _this.activeColumnFilters = [];\n _this.quickFilter = null;\n _this.quickFilterParts = null;\n // this is true when the grid is processing the filter change. this is used by the cell comps, so that they\n // don't flash when data changes due to filter changes. there is no need to flash when filter changes as the\n // user is in control, so doesn't make sense to show flashing changes. for example, go to main demo where\n // this feature is turned off (hack code to always return false for isSuppressFlashingCellsBecauseFiltering(), put in)\n // 100,000 rows and group by country. then do some filtering. all the cells flash, which is silly.\n _this.processingFilterChange = false;\n return _this;\n }\n FilterManager_1 = FilterManager;\n FilterManager.prototype.init = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, function () { return _this.onColumnsChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VALUE_CHANGED, function () { return _this.refreshFiltersForAggregations(); });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_CHANGED, function () { return _this.refreshFiltersForAggregations(); });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, function () { return _this.refreshFiltersForAggregations(); });\n this.quickFilter = this.parseQuickFilter(this.gridOptionsWrapper.getQuickFilterText());\n this.setQuickFilterParts();\n this.allowShowChangeAfterFilter = this.gridOptionsWrapper.isAllowShowChangeAfterFilter();\n this.externalFilterPresent = this.gridOptionsWrapper.isExternalFilterPresent();\n };\n FilterManager.prototype.setQuickFilterParts = function () {\n this.quickFilterParts = this.quickFilter ? this.quickFilter.split(' ') : null;\n };\n FilterManager.prototype.setFilterModel = function (model) {\n var _this = this;\n var allPromises = [];\n var previousModel = this.getFilterModel();\n if (model) {\n // mark the filters as we set them, so any active filters left over we stop\n var modelKeys_1 = convertToSet(Object.keys(model));\n this.allColumnFilters.forEach(function (filterWrapper, colId) {\n var newModel = model[colId];\n allPromises.push(_this.setModelOnFilterWrapper(filterWrapper.filterPromise, newModel));\n modelKeys_1.delete(colId);\n });\n // at this point, processedFields contains data for which we don't have a filter working yet\n modelKeys_1.forEach(function (colId) {\n var column = _this.columnModel.getPrimaryColumn(colId) || _this.columnModel.getGridColumn(colId);\n if (!column) {\n console.warn('AG Grid: setFilterModel() - no column found for colId: ' + colId);\n return;\n }\n if (!column.isFilterAllowed()) {\n console.warn('AG Grid: setFilterModel() - unable to fully apply model, filtering disabled for colId: ' + colId);\n return;\n }\n var filterWrapper = _this.getOrCreateFilterWrapper(column, 'NO_UI');\n if (!filterWrapper) {\n console.warn('AG-Grid: setFilterModel() - unable to fully apply model, unable to create filter for colId: ' + colId);\n return;\n }\n allPromises.push(_this.setModelOnFilterWrapper(filterWrapper.filterPromise, model[colId]));\n });\n }\n else {\n this.allColumnFilters.forEach(function (filterWrapper) {\n allPromises.push(_this.setModelOnFilterWrapper(filterWrapper.filterPromise, null));\n });\n }\n AgPromise.all(allPromises).then(function () {\n var currentModel = _this.getFilterModel();\n var columns = [];\n _this.allColumnFilters.forEach(function (filterWrapper, colId) {\n var before = previousModel ? previousModel[colId] : null;\n var after = currentModel ? currentModel[colId] : null;\n if (!_.jsonEquals(before, after)) {\n columns.push(filterWrapper.column);\n }\n });\n if (columns.length > 0) {\n _this.onFilterChanged({ columns: columns });\n }\n });\n };\n FilterManager.prototype.setModelOnFilterWrapper = function (filterPromise, newModel) {\n return new AgPromise(function (resolve) {\n filterPromise.then(function (filter) {\n if (typeof filter.setModel !== 'function') {\n console.warn('AG Grid: filter missing setModel method, which is needed for setFilterModel');\n resolve();\n }\n (filter.setModel(newModel) || AgPromise.resolve()).then(function () { return resolve(); });\n });\n });\n };\n FilterManager.prototype.getFilterModel = function () {\n var result = {};\n this.allColumnFilters.forEach(function (filterWrapper, key) {\n // because user can provide filters, we provide useful error checking and messages\n var filterPromise = filterWrapper.filterPromise;\n var filter = filterPromise.resolveNow(null, function (promiseFilter) { return promiseFilter; });\n if (filter == null) {\n return null;\n }\n if (typeof filter.getModel !== 'function') {\n console.warn('AG Grid: filter API missing getModel method, which is needed for getFilterModel');\n return;\n }\n var model = filter.getModel();\n if (exists(model)) {\n result[key] = model;\n }\n });\n return result;\n };\n FilterManager.prototype.isColumnFilterPresent = function () {\n return this.activeColumnFilters.length > 0;\n };\n FilterManager.prototype.isAggregateFilterPresent = function () {\n return !!this.activeAggregateFilters.length;\n };\n FilterManager.prototype.isExternalFilterPresent = function () {\n return this.externalFilterPresent;\n };\n FilterManager.prototype.doAggregateFiltersPass = function (node, filterToSkip) {\n return this.doColumnFiltersPass(node, filterToSkip, true);\n };\n // called by:\n // 1) onFilterChanged()\n // 2) onNewRowsLoaded()\n FilterManager.prototype.updateActiveFilters = function () {\n var _this = this;\n this.activeColumnFilters.length = 0;\n this.activeAggregateFilters.length = 0;\n var isFilterActive = function (filter) {\n if (!filter) {\n return false;\n } // this never happens, including to avoid compile error\n if (!filter.isFilterActive) {\n console.warn('AG Grid: Filter is missing isFilterActive() method');\n return false;\n }\n return filter.isFilterActive();\n };\n var groupFilterEnabled = !!this.gridOptionsWrapper.getGroupAggFiltering();\n var isAggFilter = function (column) {\n var isSecondary = !column.isPrimary();\n // the only filters that can appear on secondary columns are groupAgg filters\n if (isSecondary) {\n return true;\n }\n var isShowingPrimaryColumns = !_this.columnModel.isPivotActive();\n var isValueActive = column.isValueActive();\n // primary columns are only ever groupAgg filters if a) value is active and b) showing primary columns\n if (!isValueActive || !isShowingPrimaryColumns) {\n return false;\n }\n // from here on we know: isPrimary=true, isValueActive=true, isShowingPrimaryColumns=true\n if (_this.columnModel.isPivotMode()) {\n // primary column is pretending to be a pivot column, ie pivotMode=true, but we are\n // still showing primary columns\n return true;\n }\n else {\n // we are not pivoting, so we groupFilter when it's an agg column\n return groupFilterEnabled;\n }\n };\n this.allColumnFilters.forEach(function (filterWrapper) {\n if (filterWrapper.filterPromise.resolveNow(false, isFilterActive)) {\n var filterComp = filterWrapper.filterPromise.resolveNow(null, function (filter) { return filter; });\n if (isAggFilter(filterWrapper.column)) {\n _this.activeAggregateFilters.push(filterComp);\n }\n else {\n _this.activeColumnFilters.push(filterComp);\n }\n }\n });\n };\n FilterManager.prototype.updateFilterFlagInColumns = function (source, additionalEventAttributes) {\n this.allColumnFilters.forEach(function (filterWrapper) {\n var isFilterActive = filterWrapper.filterPromise.resolveNow(false, function (filter) { return filter.isFilterActive(); });\n filterWrapper.column.setFilterActive(isFilterActive, source, additionalEventAttributes);\n });\n };\n FilterManager.prototype.isAnyFilterPresent = function () {\n return this.isQuickFilterPresent() || this.isColumnFilterPresent() || this.isAggregateFilterPresent() || this.isExternalFilterPresent();\n };\n FilterManager.prototype.doColumnFiltersPass = function (node, filterToSkip, targetAggregates) {\n var data = node.data, aggData = node.aggData;\n var targetedFilters = targetAggregates ? this.activeAggregateFilters : this.activeColumnFilters;\n var targetedData = targetAggregates ? aggData : data;\n for (var i = 0; i < targetedFilters.length; i++) {\n var filter = targetedFilters[i];\n if (filter == null || filter === filterToSkip) {\n continue;\n }\n if (typeof filter.doesFilterPass !== 'function') {\n // because users can do custom filters, give nice error message\n throw new Error('Filter is missing method doesFilterPass');\n }\n if (!filter.doesFilterPass({ node: node, data: targetedData })) {\n return false;\n }\n }\n return true;\n };\n FilterManager.prototype.parseQuickFilter = function (newFilter) {\n if (!exists(newFilter)) {\n return null;\n }\n if (!this.gridOptionsWrapper.isRowModelDefault()) {\n console.warn('AG Grid - Quick filtering only works with the Client-Side Row Model');\n return null;\n }\n return newFilter.toUpperCase();\n };\n FilterManager.prototype.setQuickFilter = function (newFilter) {\n if (newFilter != null && typeof newFilter !== 'string') {\n console.warn(\"AG Grid - setQuickFilter() only supports string inputs, received: \" + typeof newFilter);\n return;\n }\n var parsedFilter = this.parseQuickFilter(newFilter);\n if (this.quickFilter !== parsedFilter) {\n this.quickFilter = parsedFilter;\n this.setQuickFilterParts();\n this.onFilterChanged();\n }\n };\n FilterManager.prototype.refreshFiltersForAggregations = function () {\n var isAggFiltering = this.gridOptionsWrapper.getGroupAggFiltering();\n if (isAggFiltering) {\n this.onFilterChanged();\n }\n };\n // sometimes (especially in React) the filter can call onFilterChanged when we are in the middle\n // of a render cycle. this would be bad, so we wait for render cycle to complete when this happens.\n // this happens in react when we change React State in the grid (eg setting RowCtrl's in RowContainer)\n // which results in React State getting applied in the main application, triggering a useEffect() to\n // be kicked off adn then the application calling the grid's API. in AG-6554, the custom filter was\n // getting it's useEffect() triggered in this way.\n FilterManager.prototype.callOnFilterChangedOutsideRenderCycle = function (params) {\n var _this = this;\n if (params === void 0) { params = {}; }\n var action = function () { return _this.onFilterChanged(params); };\n if (this.rowRenderer.isRefreshInProgress()) {\n setTimeout(action, 0);\n }\n else {\n action();\n }\n };\n FilterManager.prototype.onFilterChanged = function (params) {\n if (params === void 0) { params = {}; }\n var filterInstance = params.filterInstance, additionalEventAttributes = params.additionalEventAttributes, columns = params.columns;\n this.updateActiveFilters();\n this.updateFilterFlagInColumns('filterChanged', additionalEventAttributes);\n this.externalFilterPresent = this.gridOptionsWrapper.isExternalFilterPresent();\n this.allColumnFilters.forEach(function (filterWrapper) {\n if (!filterWrapper.filterPromise) {\n return;\n }\n filterWrapper.filterPromise.then(function (filter) {\n if (filter && filter !== filterInstance && filter.onAnyFilterChanged) {\n filter.onAnyFilterChanged();\n }\n });\n });\n var filterChangedEvent = {\n type: Events.EVENT_FILTER_CHANGED,\n columns: columns || [],\n };\n if (additionalEventAttributes) {\n mergeDeep(filterChangedEvent, additionalEventAttributes);\n }\n // because internal events are not async in ag-grid, when the dispatchEvent\n // method comes back, we know all listeners have finished executing.\n this.processingFilterChange = true;\n this.eventService.dispatchEvent(filterChangedEvent);\n this.processingFilterChange = false;\n };\n FilterManager.prototype.isSuppressFlashingCellsBecauseFiltering = function () {\n // if user has elected to always flash cell changes, then always return false, otherwise we suppress flashing\n // changes when filtering\n return !this.allowShowChangeAfterFilter && this.processingFilterChange;\n };\n FilterManager.prototype.isQuickFilterPresent = function () {\n return this.quickFilter !== null;\n };\n FilterManager.prototype.doesRowPassOtherFilters = function (filterToSkip, node) {\n return this.doesRowPassFilter({ rowNode: node, filterInstanceToSkip: filterToSkip });\n };\n FilterManager.prototype.doesRowPassQuickFilterNoCache = function (node, filterPart) {\n var _this = this;\n var columns = this.columnModel.getAllColumnsForQuickFilter();\n return columns.some(function (column) {\n var part = _this.getQuickFilterTextForColumn(column, node);\n return exists(part) && part.indexOf(filterPart) >= 0;\n });\n };\n FilterManager.prototype.doesRowPassQuickFilterCache = function (node, filterPart) {\n if (!node.quickFilterAggregateText) {\n this.aggregateRowForQuickFilter(node);\n }\n return node.quickFilterAggregateText.indexOf(filterPart) >= 0;\n };\n FilterManager.prototype.doesRowPassQuickFilter = function (node) {\n var _this = this;\n var usingCache = this.gridOptionsWrapper.isCacheQuickFilter();\n // each part must pass, if any fails, then the whole filter fails\n return this.quickFilterParts.every(function (part) {\n return usingCache ? _this.doesRowPassQuickFilterCache(node, part) : _this.doesRowPassQuickFilterNoCache(node, part);\n });\n };\n FilterManager.prototype.doesRowPassAggregateFilters = function (params) {\n if (this.isAggregateFilterPresent() && !this.doAggregateFiltersPass(params.rowNode, params.filterInstanceToSkip)) {\n return false;\n }\n // got this far, all filters pass\n return true;\n };\n FilterManager.prototype.doesRowPassFilter = function (params) {\n // the row must pass ALL of the filters, so if any of them fail,\n // we return true. that means if a row passes the quick filter,\n // but fails the column filter, it fails overall\n // first up, check quick filter\n if (this.isQuickFilterPresent() && !this.doesRowPassQuickFilter(params.rowNode)) {\n return false;\n }\n // secondly, give the client a chance to reject this row\n if (this.isExternalFilterPresent() && !this.gridOptionsWrapper.doesExternalFilterPass(params.rowNode)) {\n return false;\n }\n // lastly, check column filter\n if (this.isColumnFilterPresent() && !this.doColumnFiltersPass(params.rowNode, params.filterInstanceToSkip)) {\n return false;\n }\n // got this far, all filters pass\n return true;\n };\n FilterManager.prototype.getQuickFilterTextForColumn = function (column, node) {\n var value = this.valueService.getValue(column, node, true);\n var colDef = column.getColDef();\n if (colDef.getQuickFilterText) {\n var params = {\n value: value,\n node: node,\n data: node.data,\n column: column,\n colDef: colDef,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n value = colDef.getQuickFilterText(params);\n }\n return exists(value) ? value.toString().toUpperCase() : null;\n };\n FilterManager.prototype.aggregateRowForQuickFilter = function (node) {\n var _this = this;\n var stringParts = [];\n var columns = this.columnModel.getAllColumnsForQuickFilter();\n columns.forEach(function (column) {\n var part = _this.getQuickFilterTextForColumn(column, node);\n if (exists(part)) {\n stringParts.push(part);\n }\n });\n node.quickFilterAggregateText = stringParts.join(FilterManager_1.QUICK_FILTER_SEPARATOR);\n };\n FilterManager.prototype.onNewRowsLoaded = function (source) {\n this.allColumnFilters.forEach(function (filterWrapper) {\n filterWrapper.filterPromise.then(function (filter) {\n if (filter.onNewRowsLoaded) {\n filter.onNewRowsLoaded();\n }\n });\n });\n this.updateFilterFlagInColumns(source);\n this.updateActiveFilters();\n };\n FilterManager.prototype.createValueGetter = function (column) {\n var _this = this;\n return function (_a) {\n var node = _a.node;\n return _this.valueService.getValue(column, node, true);\n };\n };\n FilterManager.prototype.getFilterComponent = function (column, source, createIfDoesNotExist) {\n if (createIfDoesNotExist === void 0) { createIfDoesNotExist = true; }\n var _a;\n if (createIfDoesNotExist) {\n return ((_a = this.getOrCreateFilterWrapper(column, source)) === null || _a === void 0 ? void 0 : _a.filterPromise) || null;\n }\n var filterWrapper = this.cachedFilter(column);\n return filterWrapper ? filterWrapper.filterPromise : null;\n };\n FilterManager.prototype.isFilterActive = function (column) {\n var filterWrapper = this.cachedFilter(column);\n return !!filterWrapper && filterWrapper.filterPromise.resolveNow(false, function (filter) { return filter.isFilterActive(); });\n };\n FilterManager.prototype.getOrCreateFilterWrapper = function (column, source) {\n if (!column.isFilterAllowed()) {\n return null;\n }\n var filterWrapper = this.cachedFilter(column);\n if (!filterWrapper) {\n filterWrapper = this.createFilterWrapper(column, source);\n this.allColumnFilters.set(column.getColId(), filterWrapper);\n }\n else if (source !== 'NO_UI') {\n this.putIntoGui(filterWrapper, source);\n }\n return filterWrapper;\n };\n FilterManager.prototype.cachedFilter = function (column) {\n return this.allColumnFilters.get(column.getColId());\n };\n FilterManager.prototype.createFilterInstance = function (column) {\n var _this = this;\n var defaultFilter = ModuleRegistry.isRegistered(ModuleNames.SetFilterModule) ? 'agSetColumnFilter' : 'agTextColumnFilter';\n var colDef = column.getColDef();\n var filterInstance;\n var params = __assign$7(__assign$7({}, this.createFilterParams(column, colDef)), { filterModifiedCallback: function () {\n var event = {\n type: Events.EVENT_FILTER_MODIFIED,\n column: column,\n filterInstance: filterInstance\n };\n _this.eventService.dispatchEvent(event);\n }, filterChangedCallback: function (additionalEventAttributes) {\n var params = { filterInstance: filterInstance, additionalEventAttributes: additionalEventAttributes, columns: [column] };\n _this.callOnFilterChangedOutsideRenderCycle(params);\n }, doesRowPassOtherFilter: function (node) { return _this.doesRowPassOtherFilters(filterInstance, node); } });\n var compDetails = this.userComponentFactory.getFilterDetails(colDef, params, defaultFilter);\n if (!compDetails) {\n return null;\n }\n var componentPromise = compDetails.newAgStackInstance();\n if (componentPromise) {\n componentPromise.then(function (r) { return filterInstance = r; });\n }\n return componentPromise;\n };\n FilterManager.prototype.createFilterParams = function (column, colDef) {\n var params = {\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n column: column,\n colDef: cloneObject(colDef),\n rowModel: this.rowModel,\n filterChangedCallback: function () { },\n filterModifiedCallback: function () { },\n valueGetter: this.createValueGetter(column),\n context: this.gridOptionsWrapper.getContext(),\n doesRowPassOtherFilter: function () { return true; },\n };\n return params;\n };\n FilterManager.prototype.createFilterWrapper = function (column, source) {\n var filterWrapper = {\n column: column,\n filterPromise: null,\n compiledElement: null,\n guiPromise: AgPromise.resolve(null)\n };\n filterWrapper.filterPromise = this.createFilterInstance(column);\n if (filterWrapper.filterPromise) {\n this.putIntoGui(filterWrapper, source);\n }\n return filterWrapper;\n };\n FilterManager.prototype.putIntoGui = function (filterWrapper, source) {\n var _this = this;\n var eFilterGui = document.createElement('div');\n eFilterGui.className = 'ag-filter';\n filterWrapper.guiPromise = new AgPromise(function (resolve) {\n filterWrapper.filterPromise.then(function (filter) {\n var guiFromFilter = filter.getGui();\n if (!exists(guiFromFilter)) {\n console.warn(\"AG Grid: getGui method from filter returned \" + guiFromFilter + \", it should be a DOM element or an HTML template string.\");\n }\n // for backwards compatibility with Angular 1 - we\n // used to allow providing back HTML from getGui().\n // once we move away from supporting Angular 1\n // directly, we can change this.\n if (typeof guiFromFilter === 'string') {\n guiFromFilter = loadTemplate(guiFromFilter);\n }\n eFilterGui.appendChild(guiFromFilter);\n resolve(eFilterGui);\n var event = {\n type: Events.EVENT_FILTER_OPENED,\n column: filterWrapper.column,\n source: source,\n eGui: eFilterGui\n };\n _this.eventService.dispatchEvent(event);\n });\n });\n };\n FilterManager.prototype.onColumnsChanged = function () {\n var _this = this;\n var columns = [];\n this.allColumnFilters.forEach(function (wrapper, colId) {\n var currentColumn;\n if (wrapper.column.isPrimary()) {\n currentColumn = _this.columnModel.getPrimaryColumn(colId);\n }\n else {\n currentColumn = _this.columnModel.getGridColumn(colId);\n }\n if (currentColumn) {\n return;\n }\n columns.push(wrapper.column);\n _this.disposeFilterWrapper(wrapper, 'filterDestroyed');\n });\n if (columns.length > 0) {\n this.onFilterChanged({ columns: columns });\n }\n };\n // destroys the filter, so it not longer takes part\n FilterManager.prototype.destroyFilter = function (column, source) {\n if (source === void 0) { source = 'api'; }\n var filterWrapper = this.allColumnFilters.get(column.getColId());\n if (filterWrapper) {\n this.disposeFilterWrapper(filterWrapper, source);\n this.onFilterChanged({ columns: [column] });\n }\n };\n FilterManager.prototype.disposeFilterWrapper = function (filterWrapper, source) {\n var _this = this;\n filterWrapper.filterPromise.then(function (filter) {\n (filter.setModel(null) || AgPromise.resolve()).then(function () {\n _this.getContext().destroyBean(filter);\n filterWrapper.column.setFilterActive(false, source);\n _this.allColumnFilters.delete(filterWrapper.column.getColId());\n });\n });\n };\n FilterManager.prototype.destroy = function () {\n var _this = this;\n _super.prototype.destroy.call(this);\n this.allColumnFilters.forEach(function (filterWrapper) { return _this.disposeFilterWrapper(filterWrapper, 'filterDestroyed'); });\n };\n var FilterManager_1;\n FilterManager.QUICK_FILTER_SEPARATOR = '\\n';\n __decorate$1U([\n Autowired('valueService')\n ], FilterManager.prototype, \"valueService\", void 0);\n __decorate$1U([\n Autowired('columnModel')\n ], FilterManager.prototype, \"columnModel\", void 0);\n __decorate$1U([\n Autowired('rowModel')\n ], FilterManager.prototype, \"rowModel\", void 0);\n __decorate$1U([\n Autowired('userComponentFactory')\n ], FilterManager.prototype, \"userComponentFactory\", void 0);\n __decorate$1U([\n Autowired('rowRenderer')\n ], FilterManager.prototype, \"rowRenderer\", void 0);\n __decorate$1U([\n PostConstruct\n ], FilterManager.prototype, \"init\", null);\n __decorate$1U([\n PreDestroy\n ], FilterManager.prototype, \"destroy\", null);\n FilterManager = FilterManager_1 = __decorate$1U([\n Bean('filterManager')\n ], FilterManager);\n return FilterManager;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$25 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AbstractHeaderCellComp = /** @class */ (function (_super) {\n __extends$25(AbstractHeaderCellComp, _super);\n function AbstractHeaderCellComp(template, ctrl) {\n var _this = _super.call(this, template) || this;\n _this.ctrl = ctrl;\n return _this;\n }\n AbstractHeaderCellComp.prototype.getCtrl = function () {\n return this.ctrl;\n };\n return AbstractHeaderCellComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$24 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1T = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderFilterCellComp = /** @class */ (function (_super) {\n __extends$24(HeaderFilterCellComp, _super);\n function HeaderFilterCellComp(ctrl) {\n return _super.call(this, HeaderFilterCellComp.TEMPLATE, ctrl) || this;\n }\n HeaderFilterCellComp.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n addOrRemoveBodyCssClass: function (cssClassName, on) { return _this.eFloatingFilterBody.classList.toggle(cssClassName, on); },\n addOrRemoveButtonWrapperCssClass: function (cssClassName, on) { return _this.eButtonWrapper.classList.toggle(cssClassName, on); },\n setCompDetails: function (compDetails) { return _this.setCompDetails(compDetails); },\n getFloatingFilterComp: function () { return _this.compPromise; },\n setWidth: function (width) { return eGui.style.width = width; },\n setMenuIcon: function (eIcon) { return _this.eButtonShowMainFilter.appendChild(eIcon); }\n };\n this.ctrl.setComp(compProxy, eGui, this.eButtonShowMainFilter, this.eFloatingFilterBody);\n };\n HeaderFilterCellComp.prototype.setCompDetails = function (compDetails) {\n var _this = this;\n // because we are providing defaultFloatingFilterType, we know it will never be undefined;\n this.compPromise = compDetails.newAgStackInstance();\n this.compPromise.then(function (comp) { return _this.afterCompCreated(comp); });\n };\n HeaderFilterCellComp.prototype.afterCompCreated = function (comp) {\n var _this = this;\n if (!comp) {\n return;\n }\n this.addDestroyFunc(function () { return _this.context.destroyBean(comp); });\n if (!this.isAlive()) {\n return;\n }\n this.eFloatingFilterBody.appendChild(comp.getGui());\n if (comp.afterGuiAttached) {\n comp.afterGuiAttached();\n }\n };\n HeaderFilterCellComp.TEMPLATE = \"
\\n
\\n
\\n \\n
\\n
\";\n __decorate$1T([\n RefSelector('eFloatingFilterBody')\n ], HeaderFilterCellComp.prototype, \"eFloatingFilterBody\", void 0);\n __decorate$1T([\n RefSelector('eButtonWrapper')\n ], HeaderFilterCellComp.prototype, \"eButtonWrapper\", void 0);\n __decorate$1T([\n RefSelector('eButtonShowMainFilter')\n ], HeaderFilterCellComp.prototype, \"eButtonShowMainFilter\", void 0);\n __decorate$1T([\n PostConstruct\n ], HeaderFilterCellComp.prototype, \"postConstruct\", null);\n return HeaderFilterCellComp;\n}(AbstractHeaderCellComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$23 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1S = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar LayoutCssClasses;\n(function (LayoutCssClasses) {\n LayoutCssClasses[\"AUTO_HEIGHT\"] = \"ag-layout-auto-height\";\n LayoutCssClasses[\"NORMAL\"] = \"ag-layout-normal\";\n LayoutCssClasses[\"PRINT\"] = \"ag-layout-print\";\n})(LayoutCssClasses || (LayoutCssClasses = {}));\nvar LayoutFeature = /** @class */ (function (_super) {\n __extends$23(LayoutFeature, _super);\n function LayoutFeature(view) {\n var _this = _super.call(this) || this;\n _this.view = view;\n return _this;\n }\n LayoutFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.updateLayoutClasses.bind(this));\n this.updateLayoutClasses();\n };\n LayoutFeature.prototype.updateLayoutClasses = function () {\n var domLayout = this.gridOptionsWrapper.getDomLayout();\n var params = {\n autoHeight: domLayout === Constants.DOM_LAYOUT_AUTO_HEIGHT,\n normal: domLayout === Constants.DOM_LAYOUT_NORMAL,\n print: domLayout === Constants.DOM_LAYOUT_PRINT\n };\n var cssClass = params.autoHeight ? LayoutCssClasses.AUTO_HEIGHT :\n params.print ? LayoutCssClasses.PRINT : LayoutCssClasses.NORMAL;\n this.view.updateLayoutClasses(cssClass, params);\n };\n __decorate$1S([\n Autowired('gridOptionsWrapper')\n ], LayoutFeature.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$1S([\n PostConstruct\n ], LayoutFeature.prototype, \"postConstruct\", null);\n return LayoutFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$22 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridBodyScrollFeature = /** @class */ (function (_super) {\n __extends$22(GridBodyScrollFeature, _super);\n function GridBodyScrollFeature(eBodyViewport) {\n var _this = _super.call(this) || this;\n _this.scrollLeft = -1;\n _this.nextScrollTop = -1;\n _this.scrollTop = -1;\n _this.eBodyViewport = eBodyViewport;\n _this.resetLastHorizontalScrollElementDebounced = debounce(_this.resetLastHorizontalScrollElement.bind(_this), 500);\n return _this;\n }\n GridBodyScrollFeature.prototype.postConstruct = function () {\n var _this = this;\n this.enableRtl = this.gridOptionsWrapper.isEnableRtl();\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onDisplayedColumnsWidthChanged.bind(this));\n this.ctrlsService.whenReady(function (p) {\n _this.centerRowContainerCtrl = p.centerRowContainerCtrl;\n _this.onDisplayedColumnsWidthChanged();\n _this.addScrollListener();\n });\n };\n GridBodyScrollFeature.prototype.addScrollListener = function () {\n var fakeHScroll = this.ctrlsService.getFakeHScrollCtrl();\n this.addManagedListener(this.centerRowContainerCtrl.getViewportElement(), 'scroll', this.onCenterViewportScroll.bind(this));\n this.addManagedListener(fakeHScroll.getViewport(), 'scroll', this.onFakeHorizontalScroll.bind(this));\n var onVerticalScroll = this.gridOptionsWrapper.isDebounceVerticalScrollbar() ?\n debounce(this.onVerticalScroll.bind(this), 100)\n : this.onVerticalScroll.bind(this);\n this.addManagedListener(this.eBodyViewport, 'scroll', onVerticalScroll);\n };\n GridBodyScrollFeature.prototype.onDisplayedColumnsWidthChanged = function () {\n if (this.enableRtl) {\n // because RTL is all backwards, a change in the width of the row\n // can cause a change in the scroll position, without a scroll event,\n // because the scroll position in RTL is a function that depends on\n // the width. to be convinced of this, take out this line, enable RTL,\n // scroll all the way to the left and then resize a column\n this.horizontallyScrollHeaderCenterAndFloatingCenter();\n }\n };\n GridBodyScrollFeature.prototype.horizontallyScrollHeaderCenterAndFloatingCenter = function (scrollLeft) {\n // when doing RTL, this method gets called once prematurely\n var notYetInitialised = this.centerRowContainerCtrl == null;\n if (notYetInitialised) {\n return;\n }\n if (scrollLeft === undefined) {\n scrollLeft = this.centerRowContainerCtrl.getCenterViewportScrollLeft();\n }\n var offset = this.enableRtl ? scrollLeft : -scrollLeft;\n var topCenterContainer = this.ctrlsService.getTopCenterRowContainerCtrl();\n var stickyTopCenterContainer = this.ctrlsService.getStickyTopCenterRowContainerCtrl();\n var bottomCenterContainer = this.ctrlsService.getBottomCenterRowContainerCtrl();\n var fakeHScroll = this.ctrlsService.getFakeHScrollCtrl();\n var centerHeaderContainer = this.ctrlsService.getHeaderRowContainerCtrl();\n centerHeaderContainer.setHorizontalScroll(offset);\n bottomCenterContainer.setContainerTranslateX(offset);\n topCenterContainer.setContainerTranslateX(offset);\n stickyTopCenterContainer.setContainerTranslateX(offset);\n var centerViewport = this.centerRowContainerCtrl.getViewportElement();\n var isCenterViewportLastHorizontal = this.lastHorizontalScrollElement === centerViewport;\n var partner = isCenterViewportLastHorizontal ?\n fakeHScroll.getViewport() :\n this.centerRowContainerCtrl.getViewportElement();\n setScrollLeft(partner, Math.abs(scrollLeft), this.enableRtl);\n };\n GridBodyScrollFeature.prototype.isControllingScroll = function (eDiv) {\n if (!this.lastHorizontalScrollElement) {\n this.lastHorizontalScrollElement = eDiv;\n return true;\n }\n return eDiv === this.lastHorizontalScrollElement;\n };\n GridBodyScrollFeature.prototype.onFakeHorizontalScroll = function () {\n var fakeHScrollViewport = this.ctrlsService.getFakeHScrollCtrl().getViewport();\n if (!this.isControllingScroll(fakeHScrollViewport)) {\n return;\n }\n this.onBodyHorizontalScroll(fakeHScrollViewport);\n };\n GridBodyScrollFeature.prototype.onCenterViewportScroll = function () {\n var centerContainerViewport = this.centerRowContainerCtrl.getViewportElement();\n if (!this.isControllingScroll(centerContainerViewport)) {\n return;\n }\n this.onBodyHorizontalScroll(centerContainerViewport);\n };\n GridBodyScrollFeature.prototype.onBodyHorizontalScroll = function (eSource) {\n var centerContainerViewport = this.centerRowContainerCtrl.getViewportElement();\n var scrollLeft = centerContainerViewport.scrollLeft;\n if (this.shouldBlockScrollUpdate('horizontal', scrollLeft, true)) {\n return;\n }\n // we do Math.round() rather than Math.floor(), to mirror how scroll values are applied.\n // eg if a scale is applied (ie user has zoomed the browser), then applying scroll=200\n // could result in 199.88, which then floor(199.88) = 199, however round(199.88) = 200.\n // initially Math.floor() was used, however this caused (almost) infinite loop with aligned grids,\n // as the scroll would move 1px at at time bouncing from one grid to the next (eg one grid would cause\n // scroll to 200px, the next to 199px, then the first back to 198px and so on).\n this.doHorizontalScroll(Math.round(getScrollLeft(eSource, this.enableRtl)));\n this.resetLastHorizontalScrollElementDebounced();\n };\n GridBodyScrollFeature.prototype.onVerticalScroll = function () {\n var scrollTop = this.eBodyViewport.scrollTop;\n if (this.shouldBlockScrollUpdate('vertical', scrollTop, true)) {\n return;\n }\n this.animationFrameService.setScrollTop(scrollTop);\n this.nextScrollTop = scrollTop;\n if (this.gridOptionsWrapper.isSuppressAnimationFrame()) {\n this.scrollTop = this.nextScrollTop;\n this.redrawRowsAfterScroll();\n }\n else {\n this.animationFrameService.schedule();\n }\n };\n GridBodyScrollFeature.prototype.resetLastHorizontalScrollElement = function () {\n this.lastHorizontalScrollElement = null;\n };\n GridBodyScrollFeature.prototype.doHorizontalScroll = function (scrollLeft) {\n var fakeHScrollViewport = this.ctrlsService.getFakeHScrollCtrl().getViewport();\n var fakeScrollLeft = getScrollLeft(fakeHScrollViewport, this.enableRtl);\n if (this.scrollLeft === scrollLeft && scrollLeft === fakeScrollLeft) {\n return;\n }\n this.scrollLeft = scrollLeft;\n this.fireScrollEvent('horizontal');\n this.horizontallyScrollHeaderCenterAndFloatingCenter(scrollLeft);\n this.onHorizontalViewportChanged();\n };\n GridBodyScrollFeature.prototype.fireScrollEvent = function (direction) {\n var _this = this;\n var bodyScrollEvent = {\n type: Events.EVENT_BODY_SCROLL,\n direction: direction,\n left: this.scrollLeft,\n top: this.scrollTop\n };\n this.eventService.dispatchEvent(bodyScrollEvent);\n window.clearTimeout(this.scrollTimer);\n this.scrollTimer = undefined;\n this.scrollTimer = window.setTimeout(function () {\n var bodyScrollEndEvent = Object.assign({}, bodyScrollEvent, {\n type: Events.EVENT_BODY_SCROLL_END\n });\n _this.eventService.dispatchEvent(bodyScrollEndEvent);\n }, 100);\n };\n GridBodyScrollFeature.prototype.shouldBlockScrollUpdate = function (direction, scrollTo, touchOnly) {\n // touch devices allow elastic scroll - which temporally scrolls the panel outside of the viewport\n // (eg user uses touch to go to the left of the grid, but drags past the left, the rows will actually\n // scroll past the left until the user releases the mouse). when this happens, we want ignore the scroll,\n // as otherwise it was causing the rows and header to flicker.\n if (touchOnly === void 0) { touchOnly = false; }\n // sometimes when scrolling, we got values that extended the maximum scroll allowed. we used to\n // ignore these scrolls. problem is the max scroll position could be skipped (eg the previous scroll event\n // could be 10px before the max position, and then current scroll event could be 20px after the max position).\n // if we just ignored the last event, we would be setting the scroll to 10px before the max position, when in\n // actual fact the user has exceeded the max scroll and thus scroll should be set to the max.\n if (touchOnly && !isIOSUserAgent()) {\n return false;\n }\n if (direction === 'vertical') {\n var clientHeight = getInnerHeight(this.eBodyViewport);\n var scrollHeight = this.eBodyViewport.scrollHeight;\n if (scrollTo < 0 || (scrollTo + clientHeight > scrollHeight)) {\n return true;\n }\n }\n if (direction === 'horizontal') {\n var clientWidth = this.centerRowContainerCtrl.getCenterWidth();\n var scrollWidth = this.centerRowContainerCtrl.getViewportElement().scrollWidth;\n if (this.enableRtl && isRtlNegativeScroll()) {\n if (scrollTo > 0) {\n return true;\n }\n }\n else if (scrollTo < 0) {\n return true;\n }\n if (Math.abs(scrollTo) + clientWidth > scrollWidth) {\n return true;\n }\n }\n return false;\n };\n GridBodyScrollFeature.prototype.redrawRowsAfterScroll = function () {\n this.fireScrollEvent('vertical');\n };\n GridBodyScrollFeature.prototype.onHorizontalViewportChanged = function () {\n this.centerRowContainerCtrl.onHorizontalViewportChanged();\n };\n // this is to cater for AG-3274, where grid is removed from the dom and then inserted back in again.\n // (which happens with some implementations of tabbing). this can result in horizontal scroll getting\n // reset back to the left, however no scroll event is fired. so we need to get header to also scroll\n // back to the left to be kept in sync.\n // adding and removing the grid from the DOM both resets the scroll position and\n // triggers a resize event, so notify listeners if the scroll position has changed\n GridBodyScrollFeature.prototype.checkScrollLeft = function () {\n if (this.scrollLeft !== this.centerRowContainerCtrl.getCenterViewportScrollLeft()) {\n this.onBodyHorizontalScroll(this.centerRowContainerCtrl.getViewportElement());\n }\n };\n GridBodyScrollFeature.prototype.executeAnimationFrameScroll = function () {\n var frameNeeded = this.scrollTop != this.nextScrollTop;\n if (frameNeeded) {\n this.scrollTop = this.nextScrollTop;\n this.redrawRowsAfterScroll();\n }\n return frameNeeded;\n };\n // called by scrollHorizontally method and alignedGridsService\n GridBodyScrollFeature.prototype.setHorizontalScrollPosition = function (hScrollPosition) {\n var minScrollLeft = 0;\n var maxScrollLeft = this.centerRowContainerCtrl.getViewportElement().scrollWidth - this.centerRowContainerCtrl.getCenterWidth();\n if (this.shouldBlockScrollUpdate('horizontal', hScrollPosition)) {\n if (this.enableRtl && isRtlNegativeScroll()) {\n hScrollPosition = hScrollPosition > 0 ? 0 : maxScrollLeft;\n }\n else {\n hScrollPosition = Math.min(Math.max(hScrollPosition, minScrollLeft), maxScrollLeft);\n }\n }\n setScrollLeft(this.centerRowContainerCtrl.getViewportElement(), Math.abs(hScrollPosition), this.enableRtl);\n // we need to manually do the event handling (rather than wait for the event)\n // for the alignedGridsService, as if we don't, the aligned grid service gets\n // notified async, and then it's 'consuming' flag doesn't get used right, and\n // we can end up with an infinite loop\n this.doHorizontalScroll(hScrollPosition);\n };\n GridBodyScrollFeature.prototype.setVerticalScrollPosition = function (vScrollPosition) {\n this.eBodyViewport.scrollTop = vScrollPosition;\n };\n GridBodyScrollFeature.prototype.getVScrollPosition = function () {\n var result = {\n top: this.eBodyViewport.scrollTop,\n bottom: this.eBodyViewport.scrollTop + this.eBodyViewport.offsetHeight\n };\n return result;\n };\n GridBodyScrollFeature.prototype.getHScrollPosition = function () {\n return this.centerRowContainerCtrl.getHScrollPosition();\n };\n GridBodyScrollFeature.prototype.isHorizontalScrollShowing = function () {\n return this.centerRowContainerCtrl.isHorizontalScrollShowing();\n };\n // called by the headerRootComp and moveColumnController\n GridBodyScrollFeature.prototype.scrollHorizontally = function (pixels) {\n var oldScrollPosition = this.centerRowContainerCtrl.getViewportElement().scrollLeft;\n this.setHorizontalScrollPosition(oldScrollPosition + pixels);\n return this.centerRowContainerCtrl.getViewportElement().scrollLeft - oldScrollPosition;\n };\n // gets called by rowRenderer when new data loaded, as it will want to scroll to the top\n GridBodyScrollFeature.prototype.scrollToTop = function () {\n this.eBodyViewport.scrollTop = 0;\n };\n // Valid values for position are bottom, middle and top\n GridBodyScrollFeature.prototype.ensureNodeVisible = function (comparator, position) {\n if (position === void 0) { position = null; }\n // look for the node index we want to display\n var rowCount = this.rowModel.getRowCount();\n var indexToSelect = -1;\n // go through all the nodes, find the one we want to show\n for (var i = 0; i < rowCount; i++) {\n var node = this.rowModel.getRow(i);\n if (typeof comparator === 'function') {\n // Have to assert type here, as type could be TData & Function\n var predicate = comparator;\n if (node && predicate(node)) {\n indexToSelect = i;\n break;\n }\n }\n else {\n // check object equality against node and data\n if (comparator === node || comparator === node.data) {\n indexToSelect = i;\n break;\n }\n }\n }\n if (indexToSelect >= 0) {\n this.ensureIndexVisible(indexToSelect, position);\n }\n };\n // Valid values for position are bottom, middle and top\n // position should be {'top','middle','bottom', or undefined/null}.\n // if undefined/null, then the grid will to the minimal amount of scrolling,\n // eg if grid needs to scroll up, it scrolls until row is on top,\n // if grid needs to scroll down, it scrolls until row is on bottom,\n // if row is already in view, grid does not scroll\n GridBodyScrollFeature.prototype.ensureIndexVisible = function (index, position) {\n // if for print or auto height, everything is always visible\n if (this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT) {\n return;\n }\n var rowCount = this.paginationProxy.getRowCount();\n if (typeof index !== 'number' || index < 0 || index >= rowCount) {\n console.warn('invalid row index for ensureIndexVisible: ' + index);\n return;\n }\n var isPaging = this.gridOptionsWrapper.isPagination();\n var paginationPanelEnabled = isPaging && !this.gridOptionsWrapper.isSuppressPaginationPanel();\n if (!paginationPanelEnabled) {\n this.paginationProxy.goToPageWithIndex(index);\n }\n var gridBodyCtrl = this.ctrlsService.getGridBodyCtrl();\n var stickyTopHeight = gridBodyCtrl.getStickyTopHeight();\n var rowNode = this.paginationProxy.getRow(index);\n var rowGotShiftedDuringOperation;\n do {\n var startingRowTop = rowNode.rowTop;\n var startingRowHeight = rowNode.rowHeight;\n var paginationOffset = this.paginationProxy.getPixelOffset();\n var rowTopPixel = rowNode.rowTop - paginationOffset;\n var rowBottomPixel = rowTopPixel + rowNode.rowHeight;\n var scrollPosition = this.getVScrollPosition();\n var heightOffset = this.heightScaler.getDivStretchOffset();\n var vScrollTop = scrollPosition.top + heightOffset;\n var vScrollBottom = scrollPosition.bottom + heightOffset;\n var viewportHeight = vScrollBottom - vScrollTop;\n // work out the pixels for top, middle and bottom up front,\n // make the if/else below easier to read\n var pxTop = this.heightScaler.getScrollPositionForPixel(rowTopPixel);\n var pxBottom = this.heightScaler.getScrollPositionForPixel(rowBottomPixel - viewportHeight);\n // make sure if middle, the row is not outside the top of the grid\n var pxMiddle = Math.min((pxTop + pxBottom) / 2, rowTopPixel);\n var rowAboveViewport = (vScrollTop + stickyTopHeight) > rowTopPixel;\n var rowBelowViewport = vScrollBottom < rowBottomPixel;\n var newScrollPosition = null;\n if (position === 'top') {\n newScrollPosition = pxTop;\n }\n else if (position === 'bottom') {\n newScrollPosition = pxBottom;\n }\n else if (position === 'middle') {\n newScrollPosition = pxMiddle;\n }\n else if (rowAboveViewport) {\n // if row is before, scroll up with row at top\n newScrollPosition = pxTop - stickyTopHeight;\n }\n else if (rowBelowViewport) {\n // if row is after, scroll down with row at bottom\n newScrollPosition = pxBottom;\n }\n if (newScrollPosition !== null) {\n this.eBodyViewport.scrollTop = newScrollPosition;\n this.rowRenderer.redrawAfterScroll();\n }\n // the row can get shifted if during the rendering (during rowRenderer.redrawAfterScroll()),\n // the height of a row changes due to lazy calculation of row heights when using\n // colDef.autoHeight or gridOptions.getRowHeight.\n // if row was shifted, then the position we scrolled to is incorrect.\n rowGotShiftedDuringOperation = (startingRowTop !== rowNode.rowTop)\n || (startingRowHeight !== rowNode.rowHeight);\n } while (rowGotShiftedDuringOperation);\n // so when we return back to user, the cells have rendered\n this.animationFrameService.flushAllFrames();\n };\n GridBodyScrollFeature.prototype.ensureColumnVisible = function (key, position) {\n if (position === void 0) { position = 'auto'; }\n var column = this.columnModel.getGridColumn(key);\n if (!column) {\n return;\n }\n // calling ensureColumnVisible on a pinned column doesn't make sense\n if (column.isPinned()) {\n return;\n }\n // defensive\n if (!this.columnModel.isColumnDisplayed(column)) {\n return;\n }\n var newHorizontalScroll = this.getPositionedHorizontalScroll(column, position);\n if (newHorizontalScroll !== null) {\n this.centerRowContainerCtrl.setCenterViewportScrollLeft(newHorizontalScroll);\n }\n // this will happen anyway, as the move will cause a 'scroll' event on the body, however\n // it is possible that the ensureColumnVisible method is called from within AG Grid and\n // the caller will need to have the columns rendered to continue, which will be before\n // the event has been worked on (which is the case for cell navigation).\n this.centerRowContainerCtrl.onHorizontalViewportChanged();\n // so when we return back to user, the cells have rendered\n this.animationFrameService.flushAllFrames();\n };\n GridBodyScrollFeature.prototype.getPositionedHorizontalScroll = function (column, position) {\n var _a = this.isColumnOutsideViewport(column), columnBeforeStart = _a.columnBeforeStart, columnAfterEnd = _a.columnAfterEnd;\n var viewportTooSmallForColumn = this.centerRowContainerCtrl.getCenterWidth() < column.getActualWidth();\n var viewportWidth = this.centerRowContainerCtrl.getCenterWidth();\n var isRtl = this.enableRtl;\n var alignColToStart = (isRtl ? columnBeforeStart : columnAfterEnd) || viewportTooSmallForColumn;\n var alignColToEnd = isRtl ? columnAfterEnd : columnBeforeStart;\n if (position !== 'auto') {\n alignColToStart = position === 'start';\n alignColToEnd = position === 'end';\n }\n var isMiddle = position === 'middle';\n if (alignColToStart || alignColToEnd || isMiddle) {\n var _b = this.getColumnBounds(column), colLeft = _b.colLeft, colMiddle = _b.colMiddle, colRight = _b.colRight;\n if (isMiddle) {\n return colMiddle - viewportWidth / 2;\n }\n if (alignColToStart) {\n return isRtl ? colRight : colLeft;\n }\n return isRtl ? (colLeft - viewportWidth) : (colRight - viewportWidth);\n }\n return null;\n };\n GridBodyScrollFeature.prototype.isColumnOutsideViewport = function (column) {\n var _a = this.getViewportBounds(), viewportStart = _a.start, viewportEnd = _a.end;\n var _b = this.getColumnBounds(column), colLeft = _b.colLeft, colRight = _b.colRight;\n var isRtl = this.enableRtl;\n var columnBeforeStart = isRtl ? (viewportStart > colRight) : (viewportEnd < colRight);\n var columnAfterEnd = isRtl ? (viewportEnd < colLeft) : (viewportStart > colLeft);\n return { columnBeforeStart: columnBeforeStart, columnAfterEnd: columnAfterEnd };\n };\n GridBodyScrollFeature.prototype.getColumnBounds = function (column) {\n var isRtl = this.enableRtl;\n var bodyWidth = this.columnModel.getBodyContainerWidth();\n var colWidth = column.getActualWidth();\n var colLeft = column.getLeft();\n var multiplier = isRtl ? -1 : 1;\n var colLeftPixel = isRtl ? (bodyWidth - colLeft) : colLeft;\n var colRightPixel = colLeftPixel + colWidth * multiplier;\n var colMidPixel = colLeftPixel + colWidth / 2 * multiplier;\n return { colLeft: colLeftPixel, colMiddle: colMidPixel, colRight: colRightPixel };\n };\n GridBodyScrollFeature.prototype.getViewportBounds = function () {\n var viewportWidth = this.centerRowContainerCtrl.getCenterWidth();\n var scrollPosition = this.centerRowContainerCtrl.getCenterViewportScrollLeft();\n var viewportStartPixel = scrollPosition;\n var viewportEndPixel = viewportWidth + scrollPosition;\n return { start: viewportStartPixel, end: viewportEndPixel, width: viewportWidth };\n };\n __decorate$1R([\n Autowired('ctrlsService')\n ], GridBodyScrollFeature.prototype, \"ctrlsService\", void 0);\n __decorate$1R([\n Autowired('animationFrameService')\n ], GridBodyScrollFeature.prototype, \"animationFrameService\", void 0);\n __decorate$1R([\n Autowired('paginationProxy')\n ], GridBodyScrollFeature.prototype, \"paginationProxy\", void 0);\n __decorate$1R([\n Autowired('rowModel')\n ], GridBodyScrollFeature.prototype, \"rowModel\", void 0);\n __decorate$1R([\n Autowired('rowContainerHeightService')\n ], GridBodyScrollFeature.prototype, \"heightScaler\", void 0);\n __decorate$1R([\n Autowired('rowRenderer')\n ], GridBodyScrollFeature.prototype, \"rowRenderer\", void 0);\n __decorate$1R([\n Autowired('columnModel')\n ], GridBodyScrollFeature.prototype, \"columnModel\", void 0);\n __decorate$1R([\n PostConstruct\n ], GridBodyScrollFeature.prototype, \"postConstruct\", null);\n return GridBodyScrollFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar AutoScrollService = /** @class */ (function () {\n function AutoScrollService(params) {\n this.tickingInterval = null;\n this.onScrollCallback = null;\n this.scrollContainer = params.scrollContainer;\n this.scrollHorizontally = params.scrollAxis.indexOf('x') !== -1;\n this.scrollVertically = params.scrollAxis.indexOf('y') !== -1;\n this.scrollByTick = params.scrollByTick != null ? params.scrollByTick : 20;\n if (params.onScrollCallback) {\n this.onScrollCallback = params.onScrollCallback;\n }\n if (this.scrollVertically) {\n this.getVerticalPosition = params.getVerticalPosition;\n this.setVerticalPosition = params.setVerticalPosition;\n }\n if (this.scrollHorizontally) {\n this.getHorizontalPosition = params.getHorizontalPosition;\n this.setHorizontalPosition = params.setHorizontalPosition;\n }\n this.shouldSkipVerticalScroll = params.shouldSkipVerticalScroll || (function () { return false; });\n this.shouldSkipHorizontalScroll = params.shouldSkipHorizontalScroll || (function () { return false; });\n }\n AutoScrollService.prototype.check = function (mouseEvent, forceSkipVerticalScroll) {\n if (forceSkipVerticalScroll === void 0) { forceSkipVerticalScroll = false; }\n var skipVerticalScroll = forceSkipVerticalScroll || this.shouldSkipVerticalScroll();\n if (skipVerticalScroll && this.shouldSkipHorizontalScroll()) {\n return;\n }\n var rect = this.scrollContainer.getBoundingClientRect();\n var scrollTick = this.scrollByTick;\n this.tickLeft = mouseEvent.clientX < (rect.left + scrollTick);\n this.tickRight = mouseEvent.clientX > (rect.right - scrollTick);\n this.tickUp = mouseEvent.clientY < (rect.top + scrollTick) && !skipVerticalScroll;\n this.tickDown = mouseEvent.clientY > (rect.bottom - scrollTick) && !skipVerticalScroll;\n if (this.tickLeft || this.tickRight || this.tickUp || this.tickDown) {\n this.ensureTickingStarted();\n }\n else {\n this.ensureCleared();\n }\n };\n AutoScrollService.prototype.ensureTickingStarted = function () {\n if (this.tickingInterval === null) {\n this.tickingInterval = window.setInterval(this.doTick.bind(this), 100);\n this.tickCount = 0;\n }\n };\n AutoScrollService.prototype.doTick = function () {\n this.tickCount++;\n var tickAmount;\n tickAmount = this.tickCount > 20 ? 200 : (this.tickCount > 10 ? 80 : 40);\n if (this.scrollVertically) {\n var vScrollPosition = this.getVerticalPosition();\n if (this.tickUp) {\n this.setVerticalPosition(vScrollPosition - tickAmount);\n }\n if (this.tickDown) {\n this.setVerticalPosition(vScrollPosition + tickAmount);\n }\n }\n if (this.scrollHorizontally) {\n var hScrollPosition = this.getHorizontalPosition();\n if (this.tickLeft) {\n this.setHorizontalPosition(hScrollPosition - tickAmount);\n }\n if (this.tickRight) {\n this.setHorizontalPosition(hScrollPosition + tickAmount);\n }\n }\n if (this.onScrollCallback) {\n this.onScrollCallback();\n }\n };\n AutoScrollService.prototype.ensureCleared = function () {\n if (this.tickingInterval) {\n window.clearInterval(this.tickingInterval);\n this.tickingInterval = null;\n }\n };\n return AutoScrollService;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$21 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$6 = (undefined && undefined.__assign) || function () {\n __assign$6 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$6.apply(this, arguments);\n};\nvar __decorate$1Q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$i = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$e = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$i(arguments[i]));\n return ar;\n};\nvar RowDragFeature = /** @class */ (function (_super) {\n __extends$21(RowDragFeature, _super);\n function RowDragFeature(eContainer) {\n var _this = _super.call(this) || this;\n _this.isMultiRowDrag = false;\n _this.isGridSorted = false;\n _this.isGridFiltered = false;\n _this.isRowGroupActive = false;\n _this.eContainer = eContainer;\n return _this;\n }\n RowDragFeature.prototype.postConstruct = function () {\n var _this = this;\n if (this.gridOptionsWrapper.isRowModelDefault()) {\n this.clientSideRowModel = this.rowModel;\n }\n var refreshStatus = function () {\n _this.onSortChanged();\n _this.onFilterChanged();\n _this.onRowGroupChanged();\n };\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, this.onSortChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.onRowGroupChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, function () {\n refreshStatus();\n });\n refreshStatus();\n this.ctrlsService.whenReady(function () {\n var gridBodyCon = _this.ctrlsService.getGridBodyCtrl();\n _this.autoScrollService = new AutoScrollService({\n scrollContainer: gridBodyCon.getBodyViewportElement(),\n scrollAxis: 'y',\n getVerticalPosition: function () { return gridBodyCon.getScrollFeature().getVScrollPosition().top; },\n setVerticalPosition: function (position) { return gridBodyCon.getScrollFeature().setVerticalScrollPosition(position); },\n onScrollCallback: function () { _this.onDragging(_this.lastDraggingEvent); }\n });\n });\n };\n RowDragFeature.prototype.onSortChanged = function () {\n this.isGridSorted = this.sortController.isSortActive();\n };\n RowDragFeature.prototype.onFilterChanged = function () {\n this.isGridFiltered = this.filterManager.isAnyFilterPresent();\n };\n RowDragFeature.prototype.onRowGroupChanged = function () {\n var rowGroups = this.columnModel.getRowGroupColumns();\n this.isRowGroupActive = !missingOrEmpty(rowGroups);\n };\n RowDragFeature.prototype.getContainer = function () {\n return this.eContainer;\n };\n RowDragFeature.prototype.isInterestedIn = function (type) {\n return type === DragSourceType.RowDrag;\n };\n RowDragFeature.prototype.getIconName = function () {\n var managedDrag = this.gridOptionsWrapper.isRowDragManaged();\n if (managedDrag && this.shouldPreventRowMove()) {\n return DragAndDropService.ICON_NOT_ALLOWED;\n }\n return DragAndDropService.ICON_MOVE;\n };\n RowDragFeature.prototype.shouldPreventRowMove = function () {\n return this.isGridSorted || this.isGridFiltered || this.isRowGroupActive;\n };\n RowDragFeature.prototype.getRowNodes = function (draggingEvent) {\n var _this = this;\n if (!this.isFromThisGrid(draggingEvent)) {\n return draggingEvent.dragItem.rowNodes || [];\n }\n var isRowDragMultiRow = this.gridOptionsWrapper.isRowDragMultiRow();\n var selectedNodes = __spread$e(this.selectionService.getSelectedNodes()).sort(function (a, b) {\n if (a.rowIndex == null || b.rowIndex == null) {\n return 0;\n }\n return _this.getRowIndexNumber(a) - _this.getRowIndexNumber(b);\n });\n var currentNode = draggingEvent.dragItem.rowNode;\n if (isRowDragMultiRow && selectedNodes.indexOf(currentNode) !== -1) {\n this.isMultiRowDrag = true;\n return selectedNodes;\n }\n this.isMultiRowDrag = false;\n return [currentNode];\n };\n RowDragFeature.prototype.onDragEnter = function (draggingEvent) {\n // builds a lits of all rows being dragged before firing events\n draggingEvent.dragItem.rowNodes = this.getRowNodes(draggingEvent);\n // when entering, we fire the enter event, then in onEnterOrDragging,\n // we also fire the move event. so we get both events when entering.\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_ENTER, draggingEvent);\n this.getRowNodes(draggingEvent).forEach(function (rowNode) {\n rowNode.setDragging(true);\n });\n this.onEnterOrDragging(draggingEvent);\n };\n RowDragFeature.prototype.onDragging = function (draggingEvent) {\n this.onEnterOrDragging(draggingEvent);\n };\n RowDragFeature.prototype.isFromThisGrid = function (draggingEvent) {\n var dragSourceDomDataKey = draggingEvent.dragSource.dragSourceDomDataKey;\n return dragSourceDomDataKey === this.gridOptionsWrapper.getDomDataKey();\n };\n RowDragFeature.prototype.isDropZoneWithinThisGrid = function (draggingEvent) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var gridGui = gridBodyCon.getGui();\n var dropZoneTarget = draggingEvent.dropZoneTarget;\n return !gridGui.contains(dropZoneTarget);\n };\n RowDragFeature.prototype.onEnterOrDragging = function (draggingEvent) {\n // this event is fired for enter and move\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_MOVE, draggingEvent);\n this.lastDraggingEvent = draggingEvent;\n var pixel = this.mouseEventService.getNormalisedPosition(draggingEvent).y;\n var managedDrag = this.gridOptionsWrapper.isRowDragManaged();\n if (managedDrag) {\n this.doManagedDrag(draggingEvent, pixel);\n }\n this.autoScrollService.check(draggingEvent.event);\n };\n RowDragFeature.prototype.doManagedDrag = function (draggingEvent, pixel) {\n var isFromThisGrid = this.isFromThisGrid(draggingEvent);\n var managedDrag = this.gridOptionsWrapper.isRowDragManaged();\n var rowNodes = draggingEvent.dragItem.rowNodes;\n if (managedDrag && this.shouldPreventRowMove()) {\n return;\n }\n if (this.gridOptionsWrapper.isSuppressMoveWhenRowDragging() || !isFromThisGrid) {\n if (!this.isDropZoneWithinThisGrid(draggingEvent)) {\n this.clientSideRowModel.highlightRowAtPixel(rowNodes[0], pixel);\n }\n }\n else {\n this.moveRows(rowNodes, pixel);\n }\n };\n RowDragFeature.prototype.getRowIndexNumber = function (rowNode) {\n return parseInt(last(rowNode.getRowIndexString().split('-')), 10);\n };\n RowDragFeature.prototype.moveRowAndClearHighlight = function (draggingEvent) {\n var _this = this;\n var lastHighlightedRowNode = this.clientSideRowModel.getLastHighlightedRowNode();\n var isBelow = lastHighlightedRowNode && lastHighlightedRowNode.highlighted === RowHighlightPosition.Below;\n var pixel = this.mouseEventService.getNormalisedPosition(draggingEvent).y;\n var rowNodes = draggingEvent.dragItem.rowNodes;\n var increment = isBelow ? 1 : 0;\n if (this.isFromThisGrid(draggingEvent)) {\n rowNodes.forEach(function (rowNode) {\n if (rowNode.rowTop < pixel) {\n increment -= 1;\n }\n });\n this.moveRows(rowNodes, pixel, increment);\n }\n else {\n var getRowIdFunc_1 = this.gridOptionsWrapper.getRowIdFunc();\n var addIndex = this.clientSideRowModel.getRowIndexAtPixel(pixel) + 1;\n if (this.clientSideRowModel.getHighlightPosition(pixel) === RowHighlightPosition.Above) {\n addIndex--;\n }\n this.clientSideRowModel.updateRowData({\n add: rowNodes\n .map(function (node) { return node.data; })\n .filter(function (data) { return !_this.clientSideRowModel.getRowNode(getRowIdFunc_1 ? getRowIdFunc_1({ data: data, level: 0 }) : data.id); }),\n addIndex: addIndex\n });\n }\n this.clearRowHighlight();\n };\n RowDragFeature.prototype.clearRowHighlight = function () {\n this.clientSideRowModel.highlightRowAtPixel(null);\n };\n RowDragFeature.prototype.moveRows = function (rowNodes, pixel, increment) {\n if (increment === void 0) { increment = 0; }\n var rowWasMoved = this.clientSideRowModel.ensureRowsAtPixel(rowNodes, pixel, increment);\n if (rowWasMoved) {\n this.focusService.clearFocusedCell();\n if (this.rangeService) {\n this.rangeService.removeAllCellRanges();\n }\n }\n };\n RowDragFeature.prototype.addRowDropZone = function (params) {\n var _this = this;\n if (!params.getContainer()) {\n doOnce(function () { return console.warn('AG Grid: addRowDropZone - A container target needs to be provided'); }, 'add-drop-zone-empty-target');\n return;\n }\n if (this.dragAndDropService.findExternalZone(params)) {\n console.warn('AG Grid: addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.');\n return;\n }\n var processedParams = {\n getContainer: params.getContainer\n };\n if (params.fromGrid) {\n params.fromGrid = undefined;\n processedParams = params;\n }\n else {\n if (params.onDragEnter) {\n processedParams.onDragEnter = function (e) {\n params.onDragEnter(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_ENTER, e));\n };\n }\n if (params.onDragLeave) {\n processedParams.onDragLeave = function (e) {\n params.onDragLeave(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_LEAVE, e));\n };\n }\n if (params.onDragging) {\n processedParams.onDragging = function (e) {\n params.onDragging(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_MOVE, e));\n };\n }\n if (params.onDragStop) {\n processedParams.onDragStop = function (e) {\n params.onDragStop(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_END, e));\n };\n }\n }\n this.dragAndDropService.addDropTarget(__assign$6({ isInterestedIn: function (type) { return type === DragSourceType.RowDrag; }, getIconName: function () { return DragAndDropService.ICON_MOVE; }, external: true }, processedParams));\n };\n RowDragFeature.prototype.getRowDropZone = function (events) {\n var _this = this;\n var getContainer = this.getContainer.bind(this);\n var onDragEnter = this.onDragEnter.bind(this);\n var onDragLeave = this.onDragLeave.bind(this);\n var onDragging = this.onDragging.bind(this);\n var onDragStop = this.onDragStop.bind(this);\n if (!events) {\n return { getContainer: getContainer, onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragging: onDragging, onDragStop: onDragStop, /* @private */ fromGrid: true };\n }\n return {\n getContainer: getContainer,\n onDragEnter: events.onDragEnter\n ? (function (e) {\n onDragEnter(e);\n events.onDragEnter(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_ENTER, e));\n })\n : onDragEnter,\n onDragLeave: events.onDragLeave\n ? (function (e) {\n onDragLeave(e);\n events.onDragLeave(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_LEAVE, e));\n })\n : onDragLeave,\n onDragging: events.onDragging\n ? (function (e) {\n onDragging(e);\n events.onDragging(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_MOVE, e));\n })\n : onDragging,\n onDragStop: events.onDragStop\n ? (function (e) {\n onDragStop(e);\n events.onDragStop(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_END, e));\n })\n : onDragStop,\n fromGrid: true /* @private */\n };\n };\n RowDragFeature.prototype.draggingToRowDragEvent = function (type, draggingEvent) {\n var yNormalised = this.mouseEventService.getNormalisedPosition(draggingEvent).y;\n var mouseIsPastLastRow = yNormalised > this.paginationProxy.getCurrentPageHeight();\n var overIndex = -1;\n var overNode;\n if (!mouseIsPastLastRow) {\n overIndex = this.rowModel.getRowIndexAtPixel(yNormalised);\n overNode = this.rowModel.getRow(overIndex);\n }\n var vDirectionString;\n switch (draggingEvent.vDirection) {\n case VerticalDirection.Down:\n vDirectionString = 'down';\n break;\n case VerticalDirection.Up:\n vDirectionString = 'up';\n break;\n default:\n vDirectionString = null;\n break;\n }\n var event = {\n type: type,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n event: draggingEvent.event,\n node: draggingEvent.dragItem.rowNode,\n nodes: draggingEvent.dragItem.rowNodes,\n overIndex: overIndex,\n overNode: overNode,\n y: yNormalised,\n vDirection: vDirectionString\n };\n return event;\n };\n RowDragFeature.prototype.dispatchGridEvent = function (type, draggingEvent) {\n var event = this.draggingToRowDragEvent(type, draggingEvent);\n this.eventService.dispatchEvent(event);\n };\n RowDragFeature.prototype.onDragLeave = function (draggingEvent) {\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_LEAVE, draggingEvent);\n this.stopDragging(draggingEvent);\n if (this.gridOptionsWrapper.isRowDragManaged()) {\n this.clearRowHighlight();\n }\n if (this.isFromThisGrid(draggingEvent)) {\n this.isMultiRowDrag = false;\n }\n };\n RowDragFeature.prototype.onDragStop = function (draggingEvent) {\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_END, draggingEvent);\n this.stopDragging(draggingEvent);\n if (this.gridOptionsWrapper.isRowDragManaged() &&\n (this.gridOptionsWrapper.isSuppressMoveWhenRowDragging() || !this.isFromThisGrid(draggingEvent)) &&\n !this.isDropZoneWithinThisGrid(draggingEvent)) {\n this.moveRowAndClearHighlight(draggingEvent);\n }\n };\n RowDragFeature.prototype.stopDragging = function (draggingEvent) {\n this.autoScrollService.ensureCleared();\n this.getRowNodes(draggingEvent).forEach(function (rowNode) {\n rowNode.setDragging(false);\n });\n };\n __decorate$1Q([\n Autowired('dragAndDropService')\n ], RowDragFeature.prototype, \"dragAndDropService\", void 0);\n __decorate$1Q([\n Autowired('rowModel')\n ], RowDragFeature.prototype, \"rowModel\", void 0);\n __decorate$1Q([\n Autowired('paginationProxy')\n ], RowDragFeature.prototype, \"paginationProxy\", void 0);\n __decorate$1Q([\n Autowired('columnModel')\n ], RowDragFeature.prototype, \"columnModel\", void 0);\n __decorate$1Q([\n Autowired('focusService')\n ], RowDragFeature.prototype, \"focusService\", void 0);\n __decorate$1Q([\n Autowired('sortController')\n ], RowDragFeature.prototype, \"sortController\", void 0);\n __decorate$1Q([\n Autowired('filterManager')\n ], RowDragFeature.prototype, \"filterManager\", void 0);\n __decorate$1Q([\n Autowired('selectionService')\n ], RowDragFeature.prototype, \"selectionService\", void 0);\n __decorate$1Q([\n Autowired('mouseEventService')\n ], RowDragFeature.prototype, \"mouseEventService\", void 0);\n __decorate$1Q([\n Autowired('ctrlsService')\n ], RowDragFeature.prototype, \"ctrlsService\", void 0);\n __decorate$1Q([\n Optional('rangeService')\n ], RowDragFeature.prototype, \"rangeService\", void 0);\n __decorate$1Q([\n PostConstruct\n ], RowDragFeature.prototype, \"postConstruct\", null);\n return RowDragFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$20 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1P = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowAnimationCssClasses;\n(function (RowAnimationCssClasses) {\n RowAnimationCssClasses[\"ANIMATION_ON\"] = \"ag-row-animation\";\n RowAnimationCssClasses[\"ANIMATION_OFF\"] = \"ag-row-no-animation\";\n})(RowAnimationCssClasses || (RowAnimationCssClasses = {}));\nvar CSS_CLASS_CELL_SELECTABLE = 'ag-selectable';\nvar CSS_CLASS_FORCE_VERTICAL_SCROLL = 'ag-force-vertical-scroll';\nvar CSS_CLASS_COLUMN_MOVING = 'ag-column-moving';\nvar GridBodyCtrl = /** @class */ (function (_super) {\n __extends$20(GridBodyCtrl, _super);\n function GridBodyCtrl() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.stickyTopHeight = 0;\n return _this;\n }\n GridBodyCtrl.prototype.getScrollFeature = function () {\n return this.bodyScrollFeature;\n };\n GridBodyCtrl.prototype.getBodyViewportElement = function () {\n return this.eBodyViewport;\n };\n GridBodyCtrl.prototype.setComp = function (comp, eGridBody, eBodyViewport, eTop, eBottom, eStickyTop) {\n this.comp = comp;\n this.eGridBody = eGridBody;\n this.eBodyViewport = eBodyViewport;\n this.eTop = eTop;\n this.eBottom = eBottom;\n this.eStickyTop = eStickyTop;\n this.setCellTextSelection(this.gridOptionsWrapper.isEnableCellTextSelect());\n this.createManagedBean(new LayoutFeature(this.comp));\n this.bodyScrollFeature = this.createManagedBean(new GridBodyScrollFeature(this.eBodyViewport));\n this.addRowDragListener();\n this.setupRowAnimationCssClass();\n this.addEventListeners();\n this.addFocusListeners([eTop, eBodyViewport, eBottom, eStickyTop]);\n this.onGridColumnsChanged();\n this.addBodyViewportListener();\n this.setFloatingHeights();\n this.disableBrowserDragging();\n this.addStopEditingWhenGridLosesFocus();\n this.ctrlsService.registerGridBodyCtrl(this);\n };\n GridBodyCtrl.prototype.getComp = function () {\n return this.comp;\n };\n GridBodyCtrl.prototype.addEventListeners = function () {\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, this.onGridColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, this.onScrollVisibilityChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_PINNED_ROW_DATA_CHANGED, this.onPinnedRowDataChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_HEADER_HEIGHT_CHANGED, this.onHeaderHeightChanged.bind(this));\n };\n GridBodyCtrl.prototype.addFocusListeners = function (elements) {\n var _this = this;\n elements.forEach(function (element) {\n _this.addManagedListener(element, 'focusin', function (e) {\n var target = e.target;\n // element being focused is nested?\n var isFocusedElementNested = isElementChildOfClass(target, 'ag-root', element);\n element.classList.toggle('ag-has-focus', !isFocusedElementNested);\n });\n _this.addManagedListener(element, 'focusout', function (e) {\n var target = e.target, relatedTarget = e.relatedTarget;\n var gridContainRelatedTarget = element.contains(relatedTarget);\n var isNestedRelatedTarget = isElementChildOfClass(relatedTarget, 'ag-root', element);\n var isNestedTarget = isElementChildOfClass(target, 'ag-root', element);\n // element losing focus belongs to a nested grid,\n // it should not be handled here.\n if (isNestedTarget) {\n return;\n }\n // the grid does not contain, or the focus element is within\n // a nested grid\n if (!gridContainRelatedTarget || isNestedRelatedTarget) {\n element.classList.remove('ag-has-focus');\n }\n });\n });\n };\n // used by ColumnAnimationService\n GridBodyCtrl.prototype.setColumnMovingCss = function (moving) {\n this.comp.setColumnMovingCss(moving ? CSS_CLASS_COLUMN_MOVING : null, moving);\n };\n GridBodyCtrl.prototype.setCellTextSelection = function (selectable) {\n if (selectable === void 0) { selectable = false; }\n var cssClass = selectable ? CSS_CLASS_CELL_SELECTABLE : null;\n this.comp.setCellSelectableCss(cssClass, selectable);\n };\n GridBodyCtrl.prototype.onScrollVisibilityChanged = function () {\n var visible = this.scrollVisibleService.isVerticalScrollShowing();\n this.setVerticalScrollPaddingVisible(visible);\n this.setStickyTopWidth(visible);\n };\n GridBodyCtrl.prototype.onGridColumnsChanged = function () {\n var columns = this.columnModel.getAllGridColumns();\n this.comp.setColumnCount(columns ? columns.length : 0);\n };\n // if we do not do this, then the user can select a pic in the grid (eg an image in a custom cell renderer)\n // and then that will start the browser native drag n' drop, which messes up with our own drag and drop.\n GridBodyCtrl.prototype.disableBrowserDragging = function () {\n this.addManagedListener(this.eGridBody, 'dragstart', function (event) {\n if (event.target instanceof HTMLImageElement) {\n event.preventDefault();\n return false;\n }\n });\n };\n GridBodyCtrl.prototype.addStopEditingWhenGridLosesFocus = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isStopEditingWhenCellsLoseFocus()) {\n return;\n }\n var focusOutListener = function (event) {\n // this is the element the focus is moving to\n var elementWithFocus = event.relatedTarget;\n if (getTabIndex(elementWithFocus) === null) {\n _this.rowRenderer.stopEditing();\n return;\n }\n var clickInsideGrid = \n // see if click came from inside the viewports\n viewports.some(function (viewport) { return viewport.contains(elementWithFocus); })\n // and also that it's not from a detail grid\n && _this.mouseEventService.isElementInThisGrid(elementWithFocus);\n if (!clickInsideGrid) {\n var popupService = _this.popupService;\n clickInsideGrid =\n popupService.getActivePopups().some(function (popup) { return popup.contains(elementWithFocus); }) ||\n popupService.isElementWithinCustomPopup(elementWithFocus);\n }\n if (!clickInsideGrid) {\n _this.rowRenderer.stopEditing();\n }\n };\n var viewports = [this.eBodyViewport, this.eBottom, this.eTop, this.eStickyTop];\n viewports.forEach(function (viewport) { return _this.addManagedListener(viewport, 'focusout', focusOutListener); });\n };\n GridBodyCtrl.prototype.updateRowCount = function () {\n var headerCount = this.headerNavigationService.getHeaderRowCount();\n var rowCount = this.rowModel.isLastRowIndexKnown() ? this.rowModel.getRowCount() : -1;\n var total = rowCount === -1 ? -1 : (headerCount + rowCount);\n this.comp.setRowCount(total);\n };\n GridBodyCtrl.prototype.registerBodyViewportResizeListener = function (listener) {\n this.comp.registerBodyViewportResizeListener(listener);\n };\n GridBodyCtrl.prototype.setVerticalScrollPaddingVisible = function (visible) {\n var overflowY = visible ? 'scroll' : 'hidden';\n this.comp.setPinnedTopBottomOverflowY(overflowY);\n };\n GridBodyCtrl.prototype.isVerticalScrollShowing = function () {\n var show = this.gridOptionsWrapper.isAlwaysShowVerticalScroll();\n var cssClass = show ? CSS_CLASS_FORCE_VERTICAL_SCROLL : null;\n var allowVerticalScroll = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_NORMAL;\n this.comp.setAlwaysVerticalScrollClass(cssClass, show);\n return show || (allowVerticalScroll && isVerticalScrollShowing(this.eBodyViewport));\n };\n GridBodyCtrl.prototype.setupRowAnimationCssClass = function () {\n var _this = this;\n var listener = function () {\n // we don't want to use row animation if scaling, as rows jump strangely as you scroll,\n // when scaling and doing row animation.\n var animateRows = _this.gridOptionsWrapper.isAnimateRows() && !_this.rowContainerHeightService.isStretching();\n var animateRowsCssClass = animateRows ? RowAnimationCssClasses.ANIMATION_ON : RowAnimationCssClasses.ANIMATION_OFF;\n _this.comp.setRowAnimationCssOnBodyViewport(animateRowsCssClass, animateRows);\n };\n listener();\n this.addManagedListener(this.eventService, Events.EVENT_HEIGHT_SCALE_CHANGED, listener);\n };\n GridBodyCtrl.prototype.getGridBodyElement = function () {\n return this.eGridBody;\n };\n GridBodyCtrl.prototype.addBodyViewportListener = function () {\n var _this = this;\n // we want to listen for clicks directly on the eBodyViewport, so the user has a way of showing\n // the context menu if no rows or columns are displayed, or user simply clicks outside of a cell\n var listener = function (mouseEvent, touch, touchEvent) {\n if (!mouseEvent && !touchEvent) {\n return;\n }\n if (_this.gridOptionsWrapper.isPreventDefaultOnContextMenu()) {\n var event_1 = (mouseEvent || touchEvent);\n event_1.preventDefault();\n }\n var target = (mouseEvent || touch).target;\n if (target === _this.eBodyViewport || target === _this.ctrlsService.getCenterRowContainerCtrl().getViewportElement()) {\n // show it\n if (_this.contextMenuFactory) {\n if (mouseEvent) {\n _this.contextMenuFactory.onContextMenu(mouseEvent, null, null, null, null, _this.eGridBody);\n }\n else if (touchEvent) {\n _this.contextMenuFactory.onContextMenu(null, touchEvent, null, null, null, _this.eGridBody);\n }\n }\n }\n };\n this.addManagedListener(this.eBodyViewport, 'contextmenu', listener);\n this.mockContextMenuForIPad(listener);\n this.addManagedListener(this.eBodyViewport, 'wheel', this.onBodyViewportWheel.bind(this));\n this.addManagedListener(this.eStickyTop, 'wheel', this.onStickyTopWheel.bind(this));\n };\n GridBodyCtrl.prototype.mockContextMenuForIPad = function (listener) {\n // we do NOT want this when not in iPad\n if (!isIOSUserAgent()) {\n return;\n }\n var touchListener = new TouchListener(this.eBodyViewport);\n var longTapListener = function (event) {\n listener(undefined, event.touchStart, event.touchEvent);\n };\n this.addManagedListener(touchListener, TouchListener.EVENT_LONG_TAP, longTapListener);\n this.addDestroyFunc(function () { return touchListener.destroy(); });\n };\n GridBodyCtrl.prototype.onBodyViewportWheel = function (e) {\n if (!this.gridOptionsWrapper.isSuppressScrollWhenPopupsAreOpen()) {\n return;\n }\n if (this.popupService.hasAnchoredPopup()) {\n e.preventDefault();\n }\n };\n GridBodyCtrl.prototype.onStickyTopWheel = function (e) {\n e.preventDefault();\n if (e.offsetY) {\n this.scrollVertically(e.deltaY);\n }\n };\n GridBodyCtrl.prototype.getGui = function () {\n return this.eGridBody;\n };\n // called by rowDragFeature\n GridBodyCtrl.prototype.scrollVertically = function (pixels) {\n var oldScrollPosition = this.eBodyViewport.scrollTop;\n this.bodyScrollFeature.setVerticalScrollPosition(oldScrollPosition + pixels);\n return this.eBodyViewport.scrollTop - oldScrollPosition;\n };\n GridBodyCtrl.prototype.addRowDragListener = function () {\n this.rowDragFeature = this.createManagedBean(new RowDragFeature(this.eBodyViewport));\n this.dragAndDropService.addDropTarget(this.rowDragFeature);\n };\n GridBodyCtrl.prototype.getRowDragFeature = function () {\n return this.rowDragFeature;\n };\n GridBodyCtrl.prototype.onPinnedRowDataChanged = function () {\n this.setFloatingHeights();\n };\n GridBodyCtrl.prototype.setFloatingHeights = function () {\n var pinnedRowModel = this.pinnedRowModel;\n var floatingTopHeight = pinnedRowModel.getPinnedTopTotalHeight();\n if (floatingTopHeight) {\n // adding 1px for cell bottom border\n floatingTopHeight += 1;\n }\n var floatingBottomHeight = pinnedRowModel.getPinnedBottomTotalHeight();\n if (floatingBottomHeight) {\n // adding 1px for cell bottom border\n floatingBottomHeight += 1;\n }\n this.comp.setTopHeight(floatingTopHeight);\n this.comp.setBottomHeight(floatingBottomHeight);\n this.comp.setTopDisplay(floatingTopHeight ? 'inherit' : 'none');\n this.comp.setBottomDisplay(floatingBottomHeight ? 'inherit' : 'none');\n this.setStickyTopOffsetTop();\n };\n GridBodyCtrl.prototype.setStickyTopHeight = function (height) {\n if (height === void 0) { height = 0; }\n // console.log('setting sticky top height ' + height);\n this.comp.setStickyTopHeight(height + \"px\");\n this.stickyTopHeight = height;\n };\n GridBodyCtrl.prototype.getStickyTopHeight = function () {\n return this.stickyTopHeight;\n };\n GridBodyCtrl.prototype.setStickyTopWidth = function (vScrollVisible) {\n if (!vScrollVisible) {\n this.comp.setStickyTopWidth('100%');\n }\n else {\n var scrollbarWidth = this.gridOptionsWrapper.getScrollbarWidth();\n this.comp.setStickyTopWidth(\"calc(100% - \" + scrollbarWidth + \"px)\");\n }\n };\n GridBodyCtrl.prototype.onHeaderHeightChanged = function () {\n this.setStickyTopOffsetTop();\n };\n GridBodyCtrl.prototype.setStickyTopOffsetTop = function () {\n var headerCtrl = this.ctrlsService.getGridHeaderCtrl();\n var headerHeight = headerCtrl.getHeaderHeight();\n var pinnedTopHeight = this.pinnedRowModel.getPinnedTopTotalHeight();\n var height = 0;\n if (headerHeight > 0) {\n height += headerHeight + 1;\n }\n if (pinnedTopHeight > 0) {\n height += pinnedTopHeight + 1;\n }\n this.comp.setStickyTopTop(height + \"px\");\n };\n // method will call itself if no available width. this covers if the grid\n // isn't visible, but is just about to be visible.\n GridBodyCtrl.prototype.sizeColumnsToFit = function (params, nextTimeout) {\n var _this = this;\n var removeScrollWidth = this.isVerticalScrollShowing();\n var scrollWidthToRemove = removeScrollWidth ? this.gridOptionsWrapper.getScrollbarWidth() : 0;\n var bodyViewportWidth = getInnerWidth(this.eBodyViewport);\n var availableWidth = bodyViewportWidth - scrollWidthToRemove;\n if (availableWidth > 0) {\n this.columnModel.sizeColumnsToFit(availableWidth, \"sizeColumnsToFit\", false, params);\n return;\n }\n if (nextTimeout === undefined) {\n window.setTimeout(function () {\n _this.sizeColumnsToFit(params, 100);\n }, 0);\n }\n else if (nextTimeout === 100) {\n window.setTimeout(function () {\n _this.sizeColumnsToFit(params, 500);\n }, 100);\n }\n else if (nextTimeout === 500) {\n window.setTimeout(function () {\n _this.sizeColumnsToFit(params, -1);\n }, 500);\n }\n else {\n console.warn('AG Grid: tried to call sizeColumnsToFit() but the grid is coming back with ' +\n 'zero width, maybe the grid is not visible yet on the screen?');\n }\n };\n // + rangeService\n GridBodyCtrl.prototype.addScrollEventListener = function (listener) {\n this.eBodyViewport.addEventListener('scroll', listener);\n };\n // + focusService\n GridBodyCtrl.prototype.removeScrollEventListener = function (listener) {\n this.eBodyViewport.removeEventListener('scroll', listener);\n };\n __decorate$1P([\n Autowired('rowContainerHeightService')\n ], GridBodyCtrl.prototype, \"rowContainerHeightService\", void 0);\n __decorate$1P([\n Autowired('ctrlsService')\n ], GridBodyCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$1P([\n Autowired('columnModel')\n ], GridBodyCtrl.prototype, \"columnModel\", void 0);\n __decorate$1P([\n Autowired('scrollVisibleService')\n ], GridBodyCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$1P([\n Optional('contextMenuFactory')\n ], GridBodyCtrl.prototype, \"contextMenuFactory\", void 0);\n __decorate$1P([\n Autowired('headerNavigationService')\n ], GridBodyCtrl.prototype, \"headerNavigationService\", void 0);\n __decorate$1P([\n Autowired('dragAndDropService')\n ], GridBodyCtrl.prototype, \"dragAndDropService\", void 0);\n __decorate$1P([\n Autowired('pinnedRowModel')\n ], GridBodyCtrl.prototype, \"pinnedRowModel\", void 0);\n __decorate$1P([\n Autowired('rowRenderer')\n ], GridBodyCtrl.prototype, \"rowRenderer\", void 0);\n __decorate$1P([\n Autowired('popupService')\n ], GridBodyCtrl.prototype, \"popupService\", void 0);\n __decorate$1P([\n Autowired('mouseEventService')\n ], GridBodyCtrl.prototype, \"mouseEventService\", void 0);\n __decorate$1P([\n Autowired('rowModel')\n ], GridBodyCtrl.prototype, \"rowModel\", void 0);\n return GridBodyCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar SelectionHandleType;\n(function (SelectionHandleType) {\n SelectionHandleType[SelectionHandleType[\"FILL\"] = 0] = \"FILL\";\n SelectionHandleType[SelectionHandleType[\"RANGE\"] = 1] = \"RANGE\";\n})(SelectionHandleType || (SelectionHandleType = {}));\nvar CellRangeType;\n(function (CellRangeType) {\n CellRangeType[CellRangeType[\"VALUE\"] = 0] = \"VALUE\";\n CellRangeType[CellRangeType[\"DIMENSION\"] = 1] = \"DIMENSION\";\n})(CellRangeType || (CellRangeType = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar CSS_CELL_RANGE_SELECTED = 'ag-cell-range-selected';\nvar CSS_CELL_RANGE_CHART = 'ag-cell-range-chart';\nvar CSS_CELL_RANGE_SINGLE_CELL = 'ag-cell-range-single-cell';\nvar CSS_CELL_RANGE_CHART_CATEGORY = 'ag-cell-range-chart-category';\nvar CSS_CELL_RANGE_HANDLE = 'ag-cell-range-handle';\nvar CSS_CELL_RANGE_TOP = 'ag-cell-range-top';\nvar CSS_CELL_RANGE_RIGHT = 'ag-cell-range-right';\nvar CSS_CELL_RANGE_BOTTOM = 'ag-cell-range-bottom';\nvar CSS_CELL_RANGE_LEFT = 'ag-cell-range-left';\nvar CellRangeFeature = /** @class */ (function () {\n function CellRangeFeature(beans, ctrl) {\n this.beans = beans;\n this.cellCtrl = ctrl;\n }\n CellRangeFeature.prototype.setComp = function (cellComp, eGui) {\n this.cellComp = cellComp;\n this.eGui = eGui;\n this.onRangeSelectionChanged();\n };\n CellRangeFeature.prototype.onRangeSelectionChanged = function () {\n // when using reactUi, given UI is async, it's possible this method is called before the comp is registered\n if (!this.cellComp) {\n return;\n }\n this.rangeCount = this.beans.rangeService.getCellRangeCount(this.cellCtrl.getCellPosition());\n this.hasChartRange = this.getHasChartRange();\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED, this.rangeCount !== 0);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-1\", this.rangeCount === 1);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-2\", this.rangeCount === 2);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-3\", this.rangeCount === 3);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-4\", this.rangeCount >= 4);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_CHART, this.hasChartRange);\n setAriaSelected(this.eGui, this.rangeCount > 0 ? true : undefined);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SINGLE_CELL, this.isSingleCell());\n this.updateRangeBorders();\n this.refreshHandle();\n };\n CellRangeFeature.prototype.updateRangeBorders = function () {\n var rangeBorders = this.getRangeBorders();\n var isSingleCell = this.isSingleCell();\n var isTop = !isSingleCell && rangeBorders.top;\n var isRight = !isSingleCell && rangeBorders.right;\n var isBottom = !isSingleCell && rangeBorders.bottom;\n var isLeft = !isSingleCell && rangeBorders.left;\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_TOP, isTop);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_RIGHT, isRight);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_BOTTOM, isBottom);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_LEFT, isLeft);\n };\n CellRangeFeature.prototype.isSingleCell = function () {\n var rangeService = this.beans.rangeService;\n return this.rangeCount === 1 && rangeService && !rangeService.isMoreThanOneCell();\n };\n CellRangeFeature.prototype.getHasChartRange = function () {\n var rangeService = this.beans.rangeService;\n if (!this.rangeCount || !rangeService) {\n return false;\n }\n var cellRanges = rangeService.getCellRanges();\n return cellRanges.length > 0 && cellRanges.every(function (range) { return includes([CellRangeType.DIMENSION, CellRangeType.VALUE], range.type); });\n };\n CellRangeFeature.prototype.updateRangeBordersIfRangeCount = function () {\n // we only need to update range borders if we are in a range\n if (this.rangeCount > 0) {\n this.updateRangeBorders();\n this.refreshHandle();\n }\n };\n CellRangeFeature.prototype.getRangeBorders = function () {\n var _this = this;\n var isRtl = this.beans.gridOptionsWrapper.isEnableRtl();\n var top = false;\n var right = false;\n var bottom = false;\n var left = false;\n var thisCol = this.cellCtrl.getCellPosition().column;\n var _a = this.beans, rangeService = _a.rangeService, columnModel = _a.columnModel;\n var leftCol;\n var rightCol;\n if (isRtl) {\n leftCol = columnModel.getDisplayedColAfter(thisCol);\n rightCol = columnModel.getDisplayedColBefore(thisCol);\n }\n else {\n leftCol = columnModel.getDisplayedColBefore(thisCol);\n rightCol = columnModel.getDisplayedColAfter(thisCol);\n }\n var ranges = rangeService.getCellRanges().filter(function (range) { return rangeService.isCellInSpecificRange(_this.cellCtrl.getCellPosition(), range); });\n // this means we are the first column in the grid\n if (!leftCol) {\n left = true;\n }\n // this means we are the last column in the grid\n if (!rightCol) {\n right = true;\n }\n for (var i = 0; i < ranges.length; i++) {\n if (top && right && bottom && left) {\n break;\n }\n var range = ranges[i];\n var startRow = rangeService.getRangeStartRow(range);\n var endRow = rangeService.getRangeEndRow(range);\n if (!top && this.beans.rowPositionUtils.sameRow(startRow, this.cellCtrl.getCellPosition())) {\n top = true;\n }\n if (!bottom && this.beans.rowPositionUtils.sameRow(endRow, this.cellCtrl.getCellPosition())) {\n bottom = true;\n }\n if (!left && leftCol && range.columns.indexOf(leftCol) < 0) {\n left = true;\n }\n if (!right && rightCol && range.columns.indexOf(rightCol) < 0) {\n right = true;\n }\n }\n return { top: top, right: right, bottom: bottom, left: left };\n };\n CellRangeFeature.prototype.refreshHandle = function () {\n if (!this.beans.rangeService) {\n return;\n }\n var shouldHaveSelectionHandle = this.shouldHaveSelectionHandle();\n if (this.selectionHandle && !shouldHaveSelectionHandle) {\n this.selectionHandle = this.beans.context.destroyBean(this.selectionHandle);\n }\n if (shouldHaveSelectionHandle) {\n this.addSelectionHandle();\n }\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_HANDLE, !!this.selectionHandle);\n };\n CellRangeFeature.prototype.shouldHaveSelectionHandle = function () {\n var _a = this.beans, gridOptionsWrapper = _a.gridOptionsWrapper, rangeService = _a.rangeService;\n var cellRanges = rangeService.getCellRanges();\n var rangesLen = cellRanges.length;\n if (this.rangeCount < 1 || rangesLen < 1) {\n return false;\n }\n var cellRange = last(cellRanges);\n var cellPosition = this.cellCtrl.getCellPosition();\n var isFillHandleAvailable = gridOptionsWrapper.isEnableFillHandle() && !this.cellCtrl.isSuppressFillHandle();\n var isRangeHandleAvailable = gridOptionsWrapper.isEnableRangeHandle();\n var handleIsAvailable = rangesLen === 1 && !this.cellCtrl.isEditing() && (isFillHandleAvailable || isRangeHandleAvailable);\n if (this.hasChartRange) {\n var hasCategoryRange = cellRanges[0].type === CellRangeType.DIMENSION;\n var isCategoryCell = hasCategoryRange && rangeService.isCellInSpecificRange(cellPosition, cellRanges[0]);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_CHART_CATEGORY, isCategoryCell);\n handleIsAvailable = cellRange.type === CellRangeType.VALUE;\n }\n return handleIsAvailable &&\n cellRange.endRow != null &&\n rangeService.isContiguousRange(cellRange) &&\n rangeService.isBottomRightCell(cellRange, cellPosition);\n };\n CellRangeFeature.prototype.addSelectionHandle = function () {\n var _a = this.beans, gridOptionsWrapper = _a.gridOptionsWrapper, rangeService = _a.rangeService;\n var cellRangeType = last(rangeService.getCellRanges()).type;\n var selectionHandleFill = gridOptionsWrapper.isEnableFillHandle() && missing(cellRangeType);\n var type = selectionHandleFill ? SelectionHandleType.FILL : SelectionHandleType.RANGE;\n if (this.selectionHandle && this.selectionHandle.getType() !== type) {\n this.selectionHandle = this.beans.context.destroyBean(this.selectionHandle);\n }\n if (!this.selectionHandle) {\n this.selectionHandle = this.beans.selectionHandleFactory.createSelectionHandle(type);\n }\n this.selectionHandle.refresh(this.cellCtrl);\n };\n CellRangeFeature.prototype.destroy = function () {\n this.beans.context.destroyBean(this.selectionHandle);\n };\n return CellRangeFeature;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1$ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Takes care of:\n * #) Cell Width (including when doing cell spanning, which makes width cover many columns)\n * #) Cell Height (when doing row span, otherwise we don't touch the height as it's just row height)\n * #) Cell Left (the horizontal positioning of the cell, the vertical positioning is on the row)\n */\nvar CellPositionFeature = /** @class */ (function (_super) {\n __extends$1$(CellPositionFeature, _super);\n function CellPositionFeature(ctrl, beans) {\n var _this = _super.call(this) || this;\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.column = ctrl.getColumn();\n _this.rowNode = ctrl.getRowNode();\n _this.setupColSpan();\n _this.setupRowSpan();\n return _this;\n }\n CellPositionFeature.prototype.setupRowSpan = function () {\n this.rowSpan = this.column.getRowSpan(this.rowNode);\n };\n CellPositionFeature.prototype.setComp = function (eGui) {\n this.eGui = eGui;\n this.onLeftChanged();\n this.onWidthChanged();\n this.applyRowSpan();\n };\n CellPositionFeature.prototype.onDisplayColumnsChanged = function () {\n var colsSpanning = this.getColSpanningList();\n if (!areEqual(this.colsSpanning, colsSpanning)) {\n this.colsSpanning = colsSpanning;\n this.onWidthChanged();\n this.onLeftChanged(); // left changes when doing RTL\n }\n };\n CellPositionFeature.prototype.setupColSpan = function () {\n // if no col span is active, then we don't set it up, as it would be wasteful of CPU\n if (this.column.getColDef().colSpan == null) {\n return;\n }\n this.colsSpanning = this.getColSpanningList();\n // because we are col spanning, a reorder of the cols can change what cols we are spanning over\n this.addManagedListener(this.beans.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayColumnsChanged.bind(this));\n // because we are spanning over multiple cols, we check for width any time any cols width changes.\n // this is expensive - really we should be explicitly checking only the cols we are spanning over\n // instead of every col, however it would be tricky code to track the cols we are spanning over, so\n // because hardly anyone will be using colSpan, am favouring this easier way for more maintainable code.\n this.addManagedListener(this.beans.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onWidthChanged.bind(this));\n };\n CellPositionFeature.prototype.onWidthChanged = function () {\n if (!this.eGui) {\n return;\n }\n var width = this.getCellWidth();\n this.eGui.style.width = width + \"px\";\n };\n CellPositionFeature.prototype.getCellWidth = function () {\n if (!this.colsSpanning) {\n return this.column.getActualWidth();\n }\n return this.colsSpanning.reduce(function (width, col) { return width + col.getActualWidth(); }, 0);\n };\n CellPositionFeature.prototype.getColSpanningList = function () {\n var colSpan = this.column.getColSpan(this.rowNode);\n var colsSpanning = [];\n // if just one col, the col span is just the column we are in\n if (colSpan === 1) {\n colsSpanning.push(this.column);\n }\n else {\n var pointer = this.column;\n var pinned = this.column.getPinned();\n for (var i = 0; pointer && i < colSpan; i++) {\n colsSpanning.push(pointer);\n pointer = this.beans.columnModel.getDisplayedColAfter(pointer);\n if (!pointer || missing(pointer)) {\n break;\n }\n // we do not allow col spanning to span outside of pinned areas\n if (pinned !== pointer.getPinned()) {\n break;\n }\n }\n }\n return colsSpanning;\n };\n CellPositionFeature.prototype.onLeftChanged = function () {\n if (!this.eGui) {\n return;\n }\n var left = this.modifyLeftForPrintLayout(this.getCellLeft());\n this.eGui.style.left = left + 'px';\n };\n CellPositionFeature.prototype.getCellLeft = function () {\n var mostLeftCol;\n if (this.beans.gridOptionsWrapper.isEnableRtl() && this.colsSpanning) {\n mostLeftCol = last(this.colsSpanning);\n }\n else {\n mostLeftCol = this.column;\n }\n return mostLeftCol.getLeft();\n };\n CellPositionFeature.prototype.modifyLeftForPrintLayout = function (leftPosition) {\n if (!this.cellCtrl.isPrintLayout() || this.column.getPinned() === Constants.PINNED_LEFT) {\n return leftPosition;\n }\n var leftWidth = this.beans.columnModel.getDisplayedColumnsLeftWidth();\n if (this.column.getPinned() === Constants.PINNED_RIGHT) {\n var bodyWidth = this.beans.columnModel.getBodyContainerWidth();\n return leftWidth + bodyWidth + (leftPosition || 0);\n }\n // is in body\n return leftWidth + (leftPosition || 0);\n };\n CellPositionFeature.prototype.applyRowSpan = function () {\n if (this.rowSpan === 1) {\n return;\n }\n var singleRowHeight = this.beans.gridOptionsWrapper.getRowHeightAsNumber();\n var totalRowHeight = singleRowHeight * this.rowSpan;\n this.eGui.style.height = totalRowHeight + \"px\";\n this.eGui.style.zIndex = '1';\n };\n // overriding to make public, as we don't dispose this bean via context\n CellPositionFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return CellPositionFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1_ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellCustomStyleFeature = /** @class */ (function (_super) {\n __extends$1_(CellCustomStyleFeature, _super);\n function CellCustomStyleFeature(ctrl, beans) {\n var _this = _super.call(this) || this;\n _this.staticClasses = [];\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.column = ctrl.getColumn();\n _this.rowNode = ctrl.getRowNode();\n return _this;\n }\n CellCustomStyleFeature.prototype.setComp = function (comp) {\n this.cellComp = comp;\n this.applyUserStyles();\n this.applyCellClassRules();\n this.applyClassesFromColDef();\n };\n CellCustomStyleFeature.prototype.applyCellClassRules = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var cellClassParams = {\n value: this.cellCtrl.getValue(),\n data: this.rowNode.data,\n node: this.rowNode,\n colDef: colDef,\n column: this.column,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext()\n };\n this.beans.stylingService.processClassRules(colDef.cellClassRules, cellClassParams, function (className) { return _this.cellComp.addOrRemoveCssClass(className, true); }, function (className) { return _this.cellComp.addOrRemoveCssClass(className, false); });\n };\n CellCustomStyleFeature.prototype.applyUserStyles = function () {\n var colDef = this.column.getColDef();\n if (!colDef.cellStyle) {\n return;\n }\n var styles;\n if (typeof colDef.cellStyle === 'function') {\n var cellStyleParams = {\n column: this.column,\n value: this.cellCtrl.getValue(),\n colDef: colDef,\n data: this.rowNode.data,\n node: this.rowNode,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n };\n var cellStyleFunc = colDef.cellStyle;\n styles = cellStyleFunc(cellStyleParams);\n }\n else {\n styles = colDef.cellStyle;\n }\n this.cellComp.setUserStyles(styles);\n };\n CellCustomStyleFeature.prototype.applyClassesFromColDef = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var cellClassParams = {\n value: this.cellCtrl.getValue(),\n data: this.rowNode.data,\n node: this.rowNode,\n column: this.column,\n colDef: colDef,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext()\n };\n if (this.staticClasses.length) {\n this.staticClasses.forEach(function (className) { return _this.cellComp.addOrRemoveCssClass(className, false); });\n }\n this.staticClasses = this.beans.stylingService.getStaticCellClasses(colDef, cellClassParams);\n if (this.staticClasses.length) {\n this.staticClasses.forEach(function (className) { return _this.cellComp.addOrRemoveCssClass(className, true); });\n }\n };\n // overriding to make public, as we don't dispose this bean via context\n CellCustomStyleFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return CellCustomStyleFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1Z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar TooltipFeature = /** @class */ (function (_super) {\n __extends$1Z(TooltipFeature, _super);\n function TooltipFeature(ctrl, beans) {\n var _this = _super.call(this) || this;\n _this.ctrl = ctrl;\n _this.beans = beans;\n return _this;\n }\n TooltipFeature.prototype.setComp = function (comp) {\n this.comp = comp;\n this.setupTooltip();\n };\n TooltipFeature.prototype.setupTooltip = function () {\n this.browserTooltips = this.beans.gridOptionsWrapper.isEnableBrowserTooltips();\n this.updateTooltipText();\n if (this.browserTooltips) {\n this.comp.setTitle(this.tooltip != null ? this.tooltip : undefined);\n }\n else {\n this.createTooltipFeatureIfNeeded();\n }\n };\n TooltipFeature.prototype.updateTooltipText = function () {\n this.tooltip = this.ctrl.getTooltipValue();\n };\n TooltipFeature.prototype.createTooltipFeatureIfNeeded = function () {\n var _this = this;\n if (this.genericTooltipFeature != null) {\n return;\n }\n var parent = {\n getTooltipParams: function () { return _this.getTooltipParams(); },\n getGui: function () { return _this.ctrl.getGui(); }\n };\n this.genericTooltipFeature = this.createManagedBean(new CustomTooltipFeature(parent), this.beans.context);\n };\n TooltipFeature.prototype.refreshToolTip = function () {\n this.updateTooltipText();\n if (this.browserTooltips) {\n this.comp.setTitle(this.tooltip != null ? this.tooltip : undefined);\n }\n };\n TooltipFeature.prototype.getTooltipParams = function () {\n var ctrl = this.ctrl;\n var column = ctrl.getColumn ? ctrl.getColumn() : undefined;\n var colDef = ctrl.getColDef ? ctrl.getColDef() : undefined;\n var rowNode = ctrl.getRowNode ? ctrl.getRowNode() : undefined;\n return {\n location: ctrl.getLocation(),\n colDef: colDef,\n column: column,\n rowIndex: ctrl.getRowIndex ? ctrl.getRowIndex() : undefined,\n node: rowNode,\n data: rowNode ? rowNode.data : undefined,\n value: this.getTooltipText(),\n valueFormatted: ctrl.getValueFormatted ? ctrl.getValueFormatted() : undefined,\n };\n };\n TooltipFeature.prototype.getTooltipText = function () {\n return this.tooltip;\n };\n // overriding to make public, as we don't dispose this bean via context\n TooltipFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return TooltipFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$1O = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/** Using the IoC has a slight performance consideration, which is no problem most of the\n * time, unless we are trashing objects - which is the case when scrolling and rowComp\n * and cellComp. So for performance reasons, RowComp and CellComp do not get autowired\n * with the IoC. Instead they get passed this object which is all the beans the RowComp\n * and CellComp need. Not autowiring all the cells gives performance improvement. */\nvar Beans = /** @class */ (function () {\n function Beans() {\n }\n Beans.prototype.postConstruct = function () {\n this.doingMasterDetail = this.gridOptionsWrapper.isMasterDetail();\n if (this.gridOptionsWrapper.isRowModelDefault()) {\n this.clientSideRowModel = this.rowModel;\n }\n if (this.gridOptionsWrapper.isRowModelServerSide()) {\n this.serverSideRowModel = this.rowModel;\n }\n };\n __decorate$1O([\n Autowired('resizeObserverService')\n ], Beans.prototype, \"resizeObserverService\", void 0);\n __decorate$1O([\n Autowired('paginationProxy')\n ], Beans.prototype, \"paginationProxy\", void 0);\n __decorate$1O([\n Autowired('context')\n ], Beans.prototype, \"context\", void 0);\n __decorate$1O([\n Autowired('columnApi')\n ], Beans.prototype, \"columnApi\", void 0);\n __decorate$1O([\n Autowired('gridApi')\n ], Beans.prototype, \"gridApi\", void 0);\n __decorate$1O([\n Autowired('gridOptionsWrapper')\n ], Beans.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$1O([\n Autowired('expressionService')\n ], Beans.prototype, \"expressionService\", void 0);\n __decorate$1O([\n Autowired('rowRenderer')\n ], Beans.prototype, \"rowRenderer\", void 0);\n __decorate$1O([\n Autowired('templateService')\n ], Beans.prototype, \"templateService\", void 0);\n __decorate$1O([\n Autowired('valueService')\n ], Beans.prototype, \"valueService\", void 0);\n __decorate$1O([\n Autowired('eventService')\n ], Beans.prototype, \"eventService\", void 0);\n __decorate$1O([\n Autowired('columnModel')\n ], Beans.prototype, \"columnModel\", void 0);\n __decorate$1O([\n Autowired('headerNavigationService')\n ], Beans.prototype, \"headerNavigationService\", void 0);\n __decorate$1O([\n Autowired('navigationService')\n ], Beans.prototype, \"navigationService\", void 0);\n __decorate$1O([\n Autowired('columnAnimationService')\n ], Beans.prototype, \"columnAnimationService\", void 0);\n __decorate$1O([\n Optional('rangeService')\n ], Beans.prototype, \"rangeService\", void 0);\n __decorate$1O([\n Autowired('focusService')\n ], Beans.prototype, \"focusService\", void 0);\n __decorate$1O([\n Optional('contextMenuFactory')\n ], Beans.prototype, \"contextMenuFactory\", void 0);\n __decorate$1O([\n Autowired('popupService')\n ], Beans.prototype, \"popupService\", void 0);\n __decorate$1O([\n Autowired('valueFormatterService')\n ], Beans.prototype, \"valueFormatterService\", void 0);\n __decorate$1O([\n Autowired('stylingService')\n ], Beans.prototype, \"stylingService\", void 0);\n __decorate$1O([\n Autowired('columnHoverService')\n ], Beans.prototype, \"columnHoverService\", void 0);\n __decorate$1O([\n Autowired('userComponentFactory')\n ], Beans.prototype, \"userComponentFactory\", void 0);\n __decorate$1O([\n Autowired('userComponentRegistry')\n ], Beans.prototype, \"userComponentRegistry\", void 0);\n __decorate$1O([\n Autowired('animationFrameService')\n ], Beans.prototype, \"animationFrameService\", void 0);\n __decorate$1O([\n Autowired('dragAndDropService')\n ], Beans.prototype, \"dragAndDropService\", void 0);\n __decorate$1O([\n Autowired('sortController')\n ], Beans.prototype, \"sortController\", void 0);\n __decorate$1O([\n Autowired('filterManager')\n ], Beans.prototype, \"filterManager\", void 0);\n __decorate$1O([\n Autowired('rowContainerHeightService')\n ], Beans.prototype, \"rowContainerHeightService\", void 0);\n __decorate$1O([\n Autowired('frameworkOverrides')\n ], Beans.prototype, \"frameworkOverrides\", void 0);\n __decorate$1O([\n Autowired('cellPositionUtils')\n ], Beans.prototype, \"cellPositionUtils\", void 0);\n __decorate$1O([\n Autowired('rowPositionUtils')\n ], Beans.prototype, \"rowPositionUtils\", void 0);\n __decorate$1O([\n Autowired('selectionService')\n ], Beans.prototype, \"selectionService\", void 0);\n __decorate$1O([\n Optional('selectionHandleFactory')\n ], Beans.prototype, \"selectionHandleFactory\", void 0);\n __decorate$1O([\n Autowired('rowCssClassCalculator')\n ], Beans.prototype, \"rowCssClassCalculator\", void 0);\n __decorate$1O([\n Autowired('rowModel')\n ], Beans.prototype, \"rowModel\", void 0);\n __decorate$1O([\n Autowired('ctrlsService')\n ], Beans.prototype, \"ctrlsService\", void 0);\n __decorate$1O([\n Autowired('ctrlsFactory')\n ], Beans.prototype, \"ctrlsFactory\", void 0);\n __decorate$1O([\n Autowired('agStackComponentsRegistry')\n ], Beans.prototype, \"agStackComponentsRegistry\", void 0);\n __decorate$1O([\n Autowired('valueCache')\n ], Beans.prototype, \"valueCache\", void 0);\n __decorate$1O([\n Autowired('rowNodeEventThrottle')\n ], Beans.prototype, \"rowNodeEventThrottle\", void 0);\n __decorate$1O([\n PostConstruct\n ], Beans.prototype, \"postConstruct\", null);\n Beans = __decorate$1O([\n Bean('beans')\n ], Beans);\n return Beans;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1Y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellMouseListenerFeature = /** @class */ (function (_super) {\n __extends$1Y(CellMouseListenerFeature, _super);\n function CellMouseListenerFeature(ctrl, beans, column) {\n var _this = _super.call(this) || this;\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.column = column;\n return _this;\n }\n CellMouseListenerFeature.prototype.onMouseEvent = function (eventName, mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n switch (eventName) {\n case 'click':\n this.onCellClicked(mouseEvent);\n break;\n case 'mousedown':\n case 'touchstart':\n this.onMouseDown(mouseEvent);\n break;\n case 'dblclick':\n this.onCellDoubleClicked(mouseEvent);\n break;\n case 'mouseout':\n this.onMouseOut(mouseEvent);\n break;\n case 'mouseover':\n this.onMouseOver(mouseEvent);\n break;\n }\n };\n CellMouseListenerFeature.prototype.onCellClicked = function (mouseEvent) {\n // iPad doesn't have double click - so we need to mimic it to enable editing for iPad.\n if (this.isDoubleClickOnIPad()) {\n this.onCellDoubleClicked(mouseEvent);\n mouseEvent.preventDefault(); // if we don't do this, then iPad zooms in\n return;\n }\n var _a = this.beans, eventService = _a.eventService, rangeService = _a.rangeService, gridOptionsWrapper = _a.gridOptionsWrapper;\n var multiKeyPressed = mouseEvent.ctrlKey || mouseEvent.metaKey;\n if (rangeService && multiKeyPressed) {\n // the mousedown event has created the range already, so we only intersect if there is more than one\n // range on this cell\n if (rangeService.getCellRangeCount(this.cellCtrl.getCellPosition()) > 1) {\n rangeService.intersectLastRange(true);\n }\n }\n var cellClickedEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_CLICKED);\n eventService.dispatchEvent(cellClickedEvent);\n var colDef = this.column.getColDef();\n if (colDef.onCellClicked) {\n // to make callback async, do in a timeout\n window.setTimeout(function () { return colDef.onCellClicked(cellClickedEvent); }, 0);\n }\n var editOnSingleClick = (gridOptionsWrapper.isSingleClickEdit() || colDef.singleClickEdit)\n && !gridOptionsWrapper.isSuppressClickEdit();\n if (editOnSingleClick) {\n this.cellCtrl.startRowOrCellEdit();\n }\n };\n // returns true if on iPad and this is second 'click' event in 200ms\n CellMouseListenerFeature.prototype.isDoubleClickOnIPad = function () {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) {\n return false;\n }\n var nowMillis = new Date().getTime();\n var res = nowMillis - this.lastIPadMouseClickEvent < 200;\n this.lastIPadMouseClickEvent = nowMillis;\n return res;\n };\n CellMouseListenerFeature.prototype.onCellDoubleClicked = function (mouseEvent) {\n var colDef = this.column.getColDef();\n // always dispatch event to eventService\n var cellDoubleClickedEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_DOUBLE_CLICKED);\n this.beans.eventService.dispatchEvent(cellDoubleClickedEvent);\n // check if colDef also wants to handle event\n if (typeof colDef.onCellDoubleClicked === 'function') {\n // to make the callback async, do in a timeout\n window.setTimeout(function () { return colDef.onCellDoubleClicked(cellDoubleClickedEvent); }, 0);\n }\n var editOnDoubleClick = !this.beans.gridOptionsWrapper.isSingleClickEdit()\n && !this.beans.gridOptionsWrapper.isSuppressClickEdit();\n if (editOnDoubleClick) {\n this.cellCtrl.startRowOrCellEdit(null, null, mouseEvent);\n }\n };\n CellMouseListenerFeature.prototype.onMouseDown = function (mouseEvent) {\n var ctrlKey = mouseEvent.ctrlKey, metaKey = mouseEvent.metaKey, shiftKey = mouseEvent.shiftKey;\n var target = mouseEvent.target;\n var _a = this.beans, eventService = _a.eventService, rangeService = _a.rangeService;\n // do not change the range for right-clicks inside an existing range\n if (this.isRightClickInExistingRange(mouseEvent)) {\n return;\n }\n var ranges = rangeService && rangeService.getCellRanges().length != 0;\n if (!shiftKey || !ranges) {\n // We only need to pass true to focusCell when the browser is IE/Edge/Safari and we are trying\n // to focus the cell itself. This should never be true if the mousedown was triggered\n // due to a click on a cell editor for example.\n var forceBrowserFocus = (isBrowserEdge() || isBrowserSafari()) && !this.cellCtrl.isEditing() && !isFocusableFormField(target);\n this.cellCtrl.focusCell(forceBrowserFocus);\n }\n // if shift clicking, and a range exists, we keep the focus on the cell that started the\n // range as the user then changes the range selection.\n if (shiftKey && ranges) {\n // this stops the cell from getting focused\n mouseEvent.preventDefault();\n }\n // if we are clicking on a checkbox, we need to make sure the cell wrapping that checkbox\n // is focused but we don't want to change the range selection, so return here.\n if (this.containsWidget(target)) {\n return;\n }\n if (rangeService) {\n var thisCell = this.cellCtrl.getCellPosition();\n if (shiftKey) {\n rangeService.extendLatestRangeToCell(thisCell);\n }\n else {\n var ctrlKeyPressed = ctrlKey || metaKey;\n rangeService.setRangeToCell(thisCell, ctrlKeyPressed);\n }\n }\n eventService.dispatchEvent(this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_MOUSE_DOWN));\n };\n CellMouseListenerFeature.prototype.isRightClickInExistingRange = function (mouseEvent) {\n var rangeService = this.beans.rangeService;\n if (rangeService) {\n var cellInRange = rangeService.isCellInAnyRange(this.cellCtrl.getCellPosition());\n if (cellInRange && mouseEvent.button === 2) {\n return true;\n }\n }\n return false;\n };\n CellMouseListenerFeature.prototype.containsWidget = function (target) {\n return isElementChildOfClass(target, 'ag-selection-checkbox', 3);\n };\n CellMouseListenerFeature.prototype.onMouseOut = function (mouseEvent) {\n if (this.mouseStayingInsideCell(mouseEvent)) {\n return;\n }\n var cellMouseOutEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_MOUSE_OUT);\n this.beans.eventService.dispatchEvent(cellMouseOutEvent);\n this.beans.columnHoverService.clearMouseOver();\n };\n CellMouseListenerFeature.prototype.onMouseOver = function (mouseEvent) {\n if (this.mouseStayingInsideCell(mouseEvent)) {\n return;\n }\n var cellMouseOverEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_MOUSE_OVER);\n this.beans.eventService.dispatchEvent(cellMouseOverEvent);\n this.beans.columnHoverService.setMouseOver([this.column]);\n };\n CellMouseListenerFeature.prototype.mouseStayingInsideCell = function (e) {\n if (!e.target || !e.relatedTarget) {\n return false;\n }\n var eGui = this.cellCtrl.getGui();\n var cellContainsTarget = eGui.contains(e.target);\n var cellContainsRelatedTarget = eGui.contains(e.relatedTarget);\n return cellContainsTarget && cellContainsRelatedTarget;\n };\n CellMouseListenerFeature.prototype.destroy = function () {\n };\n return CellMouseListenerFeature;\n}(Beans));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1X = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellKeyboardListenerFeature = /** @class */ (function (_super) {\n __extends$1X(CellKeyboardListenerFeature, _super);\n function CellKeyboardListenerFeature(ctrl, beans, column, rowNode, rowCtrl) {\n var _this = _super.call(this) || this;\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.rowNode = rowNode;\n _this.rowCtrl = rowCtrl;\n return _this;\n }\n CellKeyboardListenerFeature.prototype.setComp = function (eGui) {\n this.eGui = eGui;\n };\n CellKeyboardListenerFeature.prototype.onKeyDown = function (event) {\n var key = event.key;\n switch (key) {\n case KeyCode.ENTER:\n this.onEnterKeyDown(event);\n break;\n case KeyCode.F2:\n this.onF2KeyDown(event);\n break;\n case KeyCode.ESCAPE:\n this.onEscapeKeyDown(event);\n break;\n case KeyCode.TAB:\n this.onTabKeyDown(event);\n break;\n case KeyCode.BACKSPACE:\n case KeyCode.DELETE:\n this.onBackspaceOrDeleteKeyPressed(key, event);\n break;\n case KeyCode.DOWN:\n case KeyCode.UP:\n case KeyCode.RIGHT:\n case KeyCode.LEFT:\n this.onNavigationKeyPressed(event, key);\n break;\n }\n };\n CellKeyboardListenerFeature.prototype.onNavigationKeyPressed = function (event, key) {\n if (this.cellCtrl.isEditing()) {\n return;\n }\n if (event.shiftKey && this.cellCtrl.isRangeSelectionEnabled()) {\n this.onShiftRangeSelect(event);\n }\n else {\n this.beans.navigationService.navigateToNextCell(event, key, this.cellCtrl.getCellPosition(), true);\n }\n // if we don't prevent default, the grid will scroll with the navigation keys\n event.preventDefault();\n };\n CellKeyboardListenerFeature.prototype.onShiftRangeSelect = function (event) {\n if (!this.beans.rangeService) {\n return;\n }\n var endCell = this.beans.rangeService.extendLatestRangeInDirection(event);\n if (endCell) {\n this.beans.navigationService.ensureCellVisible(endCell);\n }\n };\n CellKeyboardListenerFeature.prototype.onTabKeyDown = function (event) {\n this.beans.navigationService.onTabKeyDown(this.cellCtrl, event);\n };\n CellKeyboardListenerFeature.prototype.onBackspaceOrDeleteKeyPressed = function (key, event) {\n var _a = this, cellCtrl = _a.cellCtrl, beans = _a.beans, rowNode = _a.rowNode;\n var gridOptionsWrapper = beans.gridOptionsWrapper, rangeService = beans.rangeService, eventService = beans.eventService;\n if (cellCtrl.isEditing()) {\n return;\n }\n eventService.dispatchEvent({ type: Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_START });\n if (isDeleteKey(key, gridOptionsWrapper.isEnableCellEditingOnBackspace())) {\n if (rangeService && gridOptionsWrapper.isEnableRangeSelection()) {\n rangeService.clearCellRangeCellValues();\n }\n else if (cellCtrl.isCellEditable()) {\n rowNode.setDataValue(cellCtrl.getColumn(), null, 'cellKeyboardListenerFeature');\n }\n }\n else {\n cellCtrl.startRowOrCellEdit(key, undefined, event);\n }\n eventService.dispatchEvent({ type: Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_END });\n };\n CellKeyboardListenerFeature.prototype.onEnterKeyDown = function (e) {\n if (this.cellCtrl.isEditing() || this.rowCtrl.isEditing()) {\n this.cellCtrl.stopEditingAndFocus();\n }\n else {\n if (this.beans.gridOptionsWrapper.isEnterMovesDown()) {\n this.beans.navigationService.navigateToNextCell(null, KeyCode.DOWN, this.cellCtrl.getCellPosition(), false);\n }\n else {\n this.cellCtrl.startRowOrCellEdit(KeyCode.ENTER, undefined, e);\n if (this.cellCtrl.isEditing()) {\n // if we started editing, then we need to prevent default, otherwise the Enter action can get\n // applied to the cell editor. this happened, for example, with largeTextCellEditor where not\n // preventing default results in a 'new line' character getting inserted in the text area\n // when the editing was started\n e.preventDefault();\n }\n }\n }\n };\n CellKeyboardListenerFeature.prototype.onF2KeyDown = function (event) {\n if (!this.cellCtrl.isEditing()) {\n this.cellCtrl.startRowOrCellEdit(KeyCode.F2, undefined, event);\n }\n };\n CellKeyboardListenerFeature.prototype.onEscapeKeyDown = function (event) {\n if (this.cellCtrl.isEditing()) {\n this.cellCtrl.stopRowOrCellEdit(true);\n this.cellCtrl.focusCell(true);\n }\n };\n CellKeyboardListenerFeature.prototype.onKeyPress = function (event) {\n // check this, in case focus is on a (for example) a text field inside the cell,\n // in which cse we should not be listening for these key pressed\n var eventTarget = event.target;\n var eventOnChildComponent = eventTarget !== this.eGui;\n if (eventOnChildComponent || this.cellCtrl.isEditing()) {\n return;\n }\n var pressedChar = String.fromCharCode(event.charCode);\n if (pressedChar === ' ') {\n this.onSpaceKeyPressed(event);\n }\n else if (isEventFromPrintableCharacter(event)) {\n this.cellCtrl.startRowOrCellEdit(null, pressedChar, event);\n // if we don't prevent default, then the keypress also gets applied to the text field\n // (at least when doing the default editor), but we need to allow the editor to decide\n // what it wants to do. we only do this IF editing was started - otherwise it messes\n // up when the use is not doing editing, but using rendering with text fields in cellRenderer\n // (as it would block the the user from typing into text fields).\n event.preventDefault();\n }\n };\n CellKeyboardListenerFeature.prototype.onSpaceKeyPressed = function (event) {\n var gridOptionsWrapper = this.beans.gridOptionsWrapper;\n if (!this.cellCtrl.isEditing() && gridOptionsWrapper.isRowSelection()) {\n var currentSelection = this.rowNode.isSelected();\n var newSelection = !currentSelection;\n if (newSelection || !gridOptionsWrapper.isSuppressRowDeselection()) {\n var groupSelectsFiltered = this.beans.gridOptionsWrapper.isGroupSelectsFiltered();\n var updatedCount = this.rowNode.setSelectedParams({\n newValue: newSelection,\n rangeSelect: event.shiftKey,\n groupSelectsFiltered: groupSelectsFiltered\n });\n if (currentSelection === undefined && updatedCount === 0) {\n this.rowNode.setSelectedParams({\n newValue: false,\n rangeSelect: event.shiftKey,\n groupSelectsFiltered: groupSelectsFiltered\n });\n }\n }\n }\n // prevent default as space key, by default, moves browser scroll down\n event.preventDefault();\n };\n CellKeyboardListenerFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return CellKeyboardListenerFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1W = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1N = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DndSourceComp = /** @class */ (function (_super) {\n __extends$1W(DndSourceComp, _super);\n function DndSourceComp(rowNode, column, beans, eCell) {\n var _this = _super.call(this, \"
\") || this;\n _this.rowNode = rowNode;\n _this.column = column;\n _this.beans = beans;\n _this.eCell = eCell;\n return _this;\n }\n DndSourceComp.prototype.postConstruct = function () {\n var eGui = this.getGui();\n eGui.appendChild(createIconNoSpan('rowDrag', this.beans.gridOptionsWrapper, null));\n // we need to stop the event propagation here to avoid starting a range selection while dragging\n this.addGuiEventListener('mousedown', function (e) {\n e.stopPropagation();\n });\n this.addDragSource();\n this.checkVisibility();\n };\n DndSourceComp.prototype.addDragSource = function () {\n this.addGuiEventListener('dragstart', this.onDragStart.bind(this));\n };\n DndSourceComp.prototype.onDragStart = function (dragEvent) {\n var _this = this;\n var providedOnRowDrag = this.column.getColDef().dndSourceOnRowDrag;\n dragEvent.dataTransfer.setDragImage(this.eCell, 0, 0);\n // default behaviour is to convert data to json and set into drag component\n var defaultOnRowDrag = function () {\n try {\n var jsonData = JSON.stringify(_this.rowNode.data);\n dragEvent.dataTransfer.setData('application/json', jsonData);\n dragEvent.dataTransfer.setData('text/plain', jsonData);\n }\n catch (e) {\n // if we cannot convert the data to json, then we do not set the type\n }\n };\n if (providedOnRowDrag) {\n var params = {\n rowNode: this.rowNode, dragEvent: dragEvent,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n providedOnRowDrag(params);\n }\n else {\n defaultOnRowDrag();\n }\n };\n DndSourceComp.prototype.checkVisibility = function () {\n var visible = this.column.isDndSource(this.rowNode);\n this.setDisplayed(visible);\n };\n __decorate$1N([\n PostConstruct\n ], DndSourceComp.prototype, \"postConstruct\", null);\n return DndSourceComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1V = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$5 = (undefined && undefined.__assign) || function () {\n __assign$5 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$5.apply(this, arguments);\n};\nvar CSS_CELL = 'ag-cell';\nvar CSS_AUTO_HEIGHT = 'ag-cell-auto-height';\nvar CSS_NORMAL_HEIGHT = 'ag-cell-normal-height';\nvar CSS_CELL_FOCUS = 'ag-cell-focus';\nvar CSS_CELL_FIRST_RIGHT_PINNED = 'ag-cell-first-right-pinned';\nvar CSS_CELL_LAST_LEFT_PINNED = 'ag-cell-last-left-pinned';\nvar CSS_CELL_NOT_INLINE_EDITING = 'ag-cell-not-inline-editing';\nvar CSS_CELL_INLINE_EDITING = 'ag-cell-inline-editing';\nvar CSS_CELL_POPUP_EDITING = 'ag-cell-popup-editing';\nvar CSS_COLUMN_HOVER = 'ag-column-hover';\nvar CSS_CELL_WRAP_TEXT = 'ag-cell-wrap-text';\nvar instanceIdSequence$3 = 0;\nvar CellCtrl = /** @class */ (function (_super) {\n __extends$1V(CellCtrl, _super);\n function CellCtrl(column, rowNode, beans, rowCtrl) {\n var _this = _super.call(this) || this;\n _this.suppressRefreshCell = false;\n _this.onCellCompAttachedFuncs = [];\n _this.column = column;\n _this.rowNode = rowNode;\n _this.beans = beans;\n _this.rowCtrl = rowCtrl;\n // unique id to this instance, including the column ID to help with debugging in React as it's used in 'key'\n _this.instanceId = column.getId() + '-' + instanceIdSequence$3++;\n _this.createCellPosition();\n _this.addFeatures();\n return _this;\n }\n CellCtrl.prototype.addFeatures = function () {\n var _this = this;\n this.cellPositionFeature = new CellPositionFeature(this, this.beans);\n this.addDestroyFunc(function () { return _this.cellPositionFeature.destroy(); });\n this.cellCustomStyleFeature = new CellCustomStyleFeature(this, this.beans);\n this.addDestroyFunc(function () { return _this.cellCustomStyleFeature.destroy(); });\n this.cellMouseListenerFeature = new CellMouseListenerFeature(this, this.beans, this.column);\n this.addDestroyFunc(function () { return _this.cellMouseListenerFeature.destroy(); });\n this.cellKeyboardListenerFeature = new CellKeyboardListenerFeature(this, this.beans, this.column, this.rowNode, this.rowCtrl);\n this.addDestroyFunc(function () { return _this.cellKeyboardListenerFeature.destroy(); });\n var rangeSelectionEnabled = this.beans.rangeService && this.beans.gridOptionsWrapper.isEnableRangeSelection();\n if (rangeSelectionEnabled) {\n this.cellRangeFeature = new CellRangeFeature(this.beans, this);\n this.addDestroyFunc(function () { return _this.cellRangeFeature.destroy(); });\n }\n this.addTooltipFeature();\n };\n CellCtrl.prototype.addTooltipFeature = function () {\n var _this = this;\n var getTooltipValue = function () {\n var colDef = _this.column.getColDef();\n var data = _this.rowNode.data;\n if (colDef.tooltipField && exists(data)) {\n return getValueUsingField(data, colDef.tooltipField, _this.column.isTooltipFieldContainsDots());\n }\n var valueGetter = colDef.tooltipValueGetter;\n if (valueGetter) {\n return valueGetter({\n location: 'cell',\n api: _this.beans.gridOptionsWrapper.getApi(),\n columnApi: _this.beans.gridOptionsWrapper.getColumnApi(),\n context: _this.beans.gridOptionsWrapper.getContext(),\n colDef: _this.column.getColDef(),\n column: _this.column,\n rowIndex: _this.cellPosition.rowIndex,\n node: _this.rowNode,\n data: _this.rowNode.data,\n value: _this.value,\n valueFormatted: _this.valueFormatted,\n });\n }\n return null;\n };\n var tooltipCtrl = {\n getColumn: function () { return _this.column; },\n getColDef: function () { return _this.column.getColDef(); },\n getRowIndex: function () { return _this.cellPosition.rowIndex; },\n getRowNode: function () { return _this.rowNode; },\n getGui: function () { return _this.getGui(); },\n getLocation: function () { return 'cell'; },\n getTooltipValue: getTooltipValue,\n // this makes no sense, why is the cell formatted value passed to the tooltip???\n getValueFormatted: function () { return _this.valueFormatted; }\n };\n this.tooltipFeature = new TooltipFeature(tooltipCtrl, this.beans);\n this.addDestroyFunc(function () { return _this.tooltipFeature.destroy(); });\n };\n CellCtrl.prototype.setComp = function (comp, eGui, eCellWrapper, printLayout, startEditing) {\n this.cellComp = comp;\n this.gow = this.beans.gridOptionsWrapper;\n this.eGui = eGui;\n this.printLayout = printLayout;\n // we force to make sure formatter gets called at least once,\n // even if value has not changed (is is undefined)\n this.updateAndFormatValue(true);\n this.addDomData();\n this.onCellFocused();\n this.applyStaticCssClasses();\n this.setWrapText();\n this.onFirstRightPinnedChanged();\n this.onLastLeftPinnedChanged();\n this.onColumnHover();\n this.setupControlComps();\n if (eCellWrapper) {\n this.setupAutoHeight(eCellWrapper);\n }\n this.setAriaColIndex();\n if (!this.gow.isSuppressCellFocus()) {\n this.cellComp.setTabIndex(-1);\n }\n var colIdSanitised = escapeString(this.column.getId());\n this.cellComp.setColId(colIdSanitised);\n this.cellComp.setRole('gridcell');\n this.cellPositionFeature.setComp(eGui);\n this.cellCustomStyleFeature.setComp(comp);\n this.tooltipFeature.setComp(comp);\n this.cellKeyboardListenerFeature.setComp(this.eGui);\n if (this.cellRangeFeature) {\n this.cellRangeFeature.setComp(comp, eGui);\n }\n if (startEditing && this.isCellEditable()) {\n this.startEditing();\n }\n else {\n this.showValue();\n }\n if (this.onCellCompAttachedFuncs.length) {\n this.onCellCompAttachedFuncs.forEach(function (func) { return func(); });\n this.onCellCompAttachedFuncs = [];\n }\n };\n CellCtrl.prototype.setupAutoHeight = function (eCellWrapper) {\n var _this = this;\n if (!this.column.isAutoHeight()) {\n return;\n }\n var eParentCell = eCellWrapper.parentElement;\n // taking minRowHeight from getRowHeightForNode means the getRowHeight() callback is used,\n // thus allowing different min heights for different rows.\n var minRowHeight = this.beans.gridOptionsWrapper.getRowHeightForNode(this.rowNode).height;\n var measureHeight = function (timesCalled) {\n if (_this.editing) {\n return;\n }\n // because of the retry's below, it's possible the retry's go beyond\n // the rows life.\n if (!_this.isAlive()) {\n return;\n }\n var _a = getElementSize(eParentCell), paddingTop = _a.paddingTop, paddingBottom = _a.paddingBottom;\n var wrapperHeight = eCellWrapper.offsetHeight;\n var autoHeight = wrapperHeight + paddingTop + paddingBottom;\n if (timesCalled < 5) {\n // if not in doc yet, means framework not yet inserted, so wait for next VM turn,\n // maybe it will be ready next VM turn\n var doc = _this.beans.gridOptionsWrapper.getDocument();\n var notYetInDom = !doc || !doc.contains(eCellWrapper);\n // this happens in React, where React hasn't put any content in. we say 'possibly'\n // as a) may not be React and b) the cell could be empty anyway\n var possiblyNoContentYet = autoHeight == 0;\n if (notYetInDom || possiblyNoContentYet) {\n _this.beans.frameworkOverrides.setTimeout(function () { return measureHeight(timesCalled + 1); }, 0);\n return;\n }\n }\n var newHeight = Math.max(autoHeight, minRowHeight);\n _this.rowNode.setRowAutoHeight(newHeight, _this.column);\n };\n var listener = function () { return measureHeight(0); };\n // do once to set size in case size doesn't change, common when cell is blank\n listener();\n var destroyResizeObserver = this.beans.resizeObserverService.observeResize(eCellWrapper, listener);\n this.addDestroyFunc(function () {\n destroyResizeObserver();\n _this.rowNode.setRowAutoHeight(undefined, _this.column);\n });\n };\n CellCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n CellCtrl.prototype.showValue = function (forceNewCellRendererInstance) {\n if (forceNewCellRendererInstance === void 0) { forceNewCellRendererInstance = false; }\n var valueToDisplay = this.valueFormatted != null ? this.valueFormatted : this.value;\n var params = this.createCellRendererParams();\n var compDetails = this.beans.userComponentFactory.getCellRendererDetails(this.column.getColDef(), params);\n this.cellComp.setRenderDetails(compDetails, valueToDisplay, forceNewCellRendererInstance);\n this.refreshHandle();\n };\n CellCtrl.prototype.setupControlComps = function () {\n var colDef = this.column.getColDef();\n this.includeSelection = this.isIncludeControl(colDef.checkboxSelection);\n this.includeRowDrag = this.isIncludeControl(colDef.rowDrag);\n this.includeDndSource = this.isIncludeControl(colDef.dndSource);\n this.cellComp.setIncludeSelection(this.includeSelection);\n this.cellComp.setIncludeDndSource(this.includeDndSource);\n this.cellComp.setIncludeRowDrag(this.includeRowDrag);\n };\n CellCtrl.prototype.isForceWrapper = function () {\n // text selection requires the value to be wrapped in another element\n var forceWrapper = this.beans.gridOptionsWrapper.isEnableCellTextSelection() || this.column.isAutoHeight();\n return forceWrapper;\n };\n CellCtrl.prototype.isIncludeControl = function (value) {\n var rowNodePinned = this.rowNode.rowPinned != null;\n var isFunc = typeof value === 'function';\n var res = rowNodePinned ? false : isFunc || value === true;\n return res;\n };\n CellCtrl.prototype.refreshShouldDestroy = function () {\n var colDef = this.column.getColDef();\n var selectionChanged = this.includeSelection != this.isIncludeControl(colDef.checkboxSelection);\n var rowDragChanged = this.includeRowDrag != this.isIncludeControl(colDef.rowDrag);\n var dndSourceChanged = this.includeDndSource != this.isIncludeControl(colDef.dndSource);\n return selectionChanged || rowDragChanged || dndSourceChanged;\n };\n // either called internally if single cell editing, or called by rowRenderer if row editing\n CellCtrl.prototype.startEditing = function (key, charPress, cellStartedEdit, event) {\n var _this = this;\n if (key === void 0) { key = null; }\n if (charPress === void 0) { charPress = null; }\n if (cellStartedEdit === void 0) { cellStartedEdit = false; }\n if (event === void 0) { event = null; }\n var _a, _b;\n if (!this.isCellEditable() || this.editing) {\n return;\n }\n // because of async in React, the cellComp may not be set yet, if no cellComp then we are\n // yet to initialise the cell, so we re-schedule this operation for when celLComp is attached\n if (!this.cellComp) {\n this.onCellCompAttachedFuncs.push(function () { _this.startEditing(key, charPress, cellStartedEdit, event); });\n return;\n }\n var editorParams = this.createCellEditorParams(key, charPress, cellStartedEdit);\n var colDef = this.column.getColDef();\n var compDetails = this.beans.userComponentFactory.getCellEditorDetails(colDef, editorParams);\n // if cellEditorSelector was used, we give preference to popup and popupPosition from the selector\n var popup = ((_a = compDetails) === null || _a === void 0 ? void 0 : _a.popupFromSelector) != null ? compDetails.popupFromSelector : !!colDef.cellEditorPopup;\n var position = ((_b = compDetails) === null || _b === void 0 ? void 0 : _b.popupPositionFromSelector) != null ? compDetails.popupPositionFromSelector : colDef.cellEditorPopupPosition;\n this.setEditing(true, popup);\n this.cellComp.setEditDetails(compDetails, popup, position);\n var e = this.createEvent(event, Events.EVENT_CELL_EDITING_STARTED);\n this.beans.eventService.dispatchEvent(e);\n };\n CellCtrl.prototype.setEditing = function (editing, inPopup) {\n if (inPopup === void 0) { inPopup = false; }\n if (this.editing === editing) {\n return;\n }\n this.editing = editing;\n this.editingInPopup = inPopup;\n this.setInlineEditingClass();\n this.refreshHandle();\n };\n // pass in 'true' to cancel the editing.\n CellCtrl.prototype.stopRowOrCellEdit = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n if (this.beans.gridOptionsWrapper.isFullRowEdit()) {\n this.rowCtrl.stopRowEditing(cancel);\n }\n else {\n this.stopEditing(cancel);\n }\n };\n CellCtrl.prototype.onPopupEditorClosed = function () {\n if (!this.isEditing()) {\n return;\n }\n // note: this happens because of a click outside of the grid or if the popupEditor\n // is closed with `Escape` key. if another cell was clicked, then the editing will\n // have already stopped and returned on the conditional above.\n this.stopEditingAndFocus();\n };\n CellCtrl.prototype.takeValueFromCellEditor = function (cancel) {\n var noValueResult = { newValueExists: false };\n if (cancel) {\n return noValueResult;\n }\n var cellEditor = this.cellComp.getCellEditor();\n if (!cellEditor) {\n return noValueResult;\n }\n var userWantsToCancel = cellEditor.isCancelAfterEnd && cellEditor.isCancelAfterEnd();\n if (userWantsToCancel) {\n return noValueResult;\n }\n var newValue = cellEditor.getValue();\n return {\n newValue: newValue,\n newValueExists: true\n };\n };\n /**\n * @returns `True` if the value changes, otherwise `False`.\n */\n CellCtrl.prototype.saveNewValue = function (oldValue, newValue) {\n if (newValue === oldValue) {\n return false;\n }\n if (this.beans.gridOptionsWrapper.isReadOnlyEdit()) {\n this.dispatchEventForSaveValueReadOnly(oldValue, newValue);\n return false;\n }\n // we suppressRefreshCell because the call to rowNode.setDataValue() results in change detection\n // getting triggered, which results in all cells getting refreshed. we do not want this refresh\n // to happen on this call as we want to call it explicitly below. otherwise refresh gets called twice.\n // if we only did this refresh (and not the one below) then the cell would flash and not be forced.\n this.suppressRefreshCell = true;\n var valueChanged = this.rowNode.setDataValue(this.column, newValue);\n this.suppressRefreshCell = false;\n return valueChanged;\n };\n CellCtrl.prototype.dispatchEventForSaveValueReadOnly = function (oldValue, newValue) {\n var rowNode = this.rowNode;\n var event = {\n type: Events.EVENT_CELL_EDIT_REQUEST,\n event: null,\n rowIndex: rowNode.rowIndex,\n rowPinned: rowNode.rowPinned,\n column: this.column,\n api: this.beans.gridApi,\n columnApi: this.beans.columnApi,\n colDef: this.column.getColDef(),\n context: this.beans.gridOptionsWrapper.getContext(),\n data: rowNode.data,\n node: rowNode,\n oldValue: oldValue,\n newValue: newValue,\n value: newValue,\n source: undefined\n };\n this.beans.eventService.dispatchEvent(event);\n };\n /**\n * Ends the Cell Editing\n * @param cancel `True` if the edit process is being canceled.\n * @returns `True` if the value of the `GridCell` has been updated, otherwise `False`.\n */\n CellCtrl.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n if (!this.editing) {\n return false;\n }\n var _a = this.takeValueFromCellEditor(cancel), newValue = _a.newValue, newValueExists = _a.newValueExists;\n var oldValue = this.getValueFromValueService();\n var valueChanged = false;\n if (newValueExists) {\n valueChanged = this.saveNewValue(oldValue, newValue);\n }\n this.setEditing(false);\n this.cellComp.setEditDetails(); // passing nothing stops editing\n this.updateAndFormatValue();\n this.refreshCell({ forceRefresh: true, suppressFlash: true });\n this.dispatchEditingStoppedEvent(oldValue, newValue, !cancel && !!valueChanged);\n return valueChanged;\n };\n CellCtrl.prototype.dispatchEditingStoppedEvent = function (oldValue, newValue, valueChanged) {\n var editingStoppedEvent = __assign$5(__assign$5({}, this.createEvent(null, Events.EVENT_CELL_EDITING_STOPPED)), { oldValue: oldValue,\n newValue: newValue,\n valueChanged: valueChanged });\n this.beans.eventService.dispatchEvent(editingStoppedEvent);\n };\n // if we are editing inline, then we don't have the padding in the cell (set in the themes)\n // to allow the text editor full access to the entire cell\n CellCtrl.prototype.setInlineEditingClass = function () {\n var _this = this;\n if (!this.isAlive()) {\n return;\n }\n // because of async in React, the cellComp may not be set yet, if no cellComp then we are\n // yet to initialise the cell, so we re-schedule this operation for when celLComp is attached\n if (!this.cellComp) {\n this.onCellCompAttachedFuncs.push(function () { _this.setInlineEditingClass(); });\n return;\n }\n // ag-cell-inline-editing - appears when user is inline editing\n // ag-cell-not-inline-editing - appears when user is no inline editing\n // ag-cell-popup-editing - appears when user is editing cell in popup (appears on the cell, not on the popup)\n // note: one of {ag-cell-inline-editing, ag-cell-not-inline-editing} is always present, they toggle.\n // however {ag-cell-popup-editing} shows when popup, so you have both {ag-cell-popup-editing}\n // and {ag-cell-not-inline-editing} showing at the same time.\n var editingInline = this.editing && !this.editingInPopup;\n var popupEditorShowing = this.editing && this.editingInPopup;\n this.cellComp.addOrRemoveCssClass(CSS_CELL_INLINE_EDITING, editingInline);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_NOT_INLINE_EDITING, !editingInline);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_POPUP_EDITING, popupEditorShowing);\n this.rowCtrl.setInlineEditingCss(this.editing);\n };\n // this is needed as the JS CellComp still allows isPopup() on the CellEditor class, so\n // it's possible the editor is in a popup even though it's not configured via the colDef as so\n CellCtrl.prototype.hackSayEditingInPopup = function () {\n if (this.editingInPopup) {\n return;\n }\n this.editingInPopup = true;\n this.setInlineEditingClass();\n };\n CellCtrl.prototype.createCellEditorParams = function (key, charPress, cellStartedEdit) {\n var res = {\n value: this.getValueFromValueService(),\n key: key,\n eventKey: key,\n charPress: charPress,\n column: this.column,\n colDef: this.column.getColDef(),\n rowIndex: this.getCellPosition().rowIndex,\n node: this.rowNode,\n data: this.rowNode.data,\n api: this.beans.gridOptionsWrapper.getApi(),\n cellStartedEdit: cellStartedEdit,\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n onKeyDown: this.onKeyDown.bind(this),\n stopEditing: this.stopEditingAndFocus.bind(this),\n eGridCell: this.getGui(),\n parseValue: this.parseValue.bind(this),\n formatValue: this.formatValue.bind(this)\n };\n return res;\n };\n CellCtrl.prototype.createCellRendererParams = function () {\n var _this = this;\n var addRowCompListener = function (eventType, listener) {\n console.warn('AG Grid: since AG Grid v26, params.addRowCompListener() is deprecated. If you need this functionality, please contact AG Grid support and advise why so that we can revert with an appropriate workaround, as we dont have any valid use cases for it. This method was originally provided as a work around to know when cells were destroyed in AG Grid before custom Cell Renderers could be provided.');\n _this.rowCtrl.addEventListener(eventType, listener);\n };\n var res = {\n value: this.value,\n valueFormatted: this.valueFormatted,\n getValue: this.getValueFromValueService.bind(this),\n setValue: function (value) { return _this.beans.valueService.setValue(_this.rowNode, _this.column, value); },\n formatValue: this.formatValue.bind(this),\n data: this.rowNode.data,\n node: this.rowNode,\n pinned: this.column.getPinned(),\n colDef: this.column.getColDef(),\n column: this.column,\n rowIndex: this.getCellPosition().rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n refreshCell: this.refreshCell.bind(this),\n eGridCell: this.getGui(),\n eParentOfValue: this.cellComp.getParentOfValue(),\n registerRowDragger: function (rowDraggerElement, dragStartPixels, value, suppressVisibilityChange) { return _this.registerRowDragger(rowDraggerElement, dragStartPixels, suppressVisibilityChange); },\n // this function is not documented anywhere, so we could drop it\n // it was in the olden days to allow user to register for when rendered\n // row was removed (the row comp was removed), however now that the user\n // can provide components for cells, the destroy method gets call when this\n // happens so no longer need to fire event.\n addRowCompListener: addRowCompListener\n };\n return res;\n };\n CellCtrl.prototype.parseValue = function (newValue) {\n var colDef = this.column.getColDef();\n var params = {\n node: this.rowNode,\n data: this.rowNode.data,\n oldValue: this.getValue(),\n newValue: newValue,\n colDef: colDef,\n column: this.column,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext()\n };\n var valueParser = colDef.valueParser;\n return exists(valueParser) ? this.beans.expressionService.evaluate(valueParser, params) : newValue;\n };\n CellCtrl.prototype.setFocusOutOnEditor = function () {\n if (!this.editing) {\n return;\n }\n var cellEditor = this.cellComp.getCellEditor();\n if (cellEditor && cellEditor.focusOut) {\n cellEditor.focusOut();\n }\n };\n CellCtrl.prototype.setFocusInOnEditor = function () {\n if (!this.editing) {\n return;\n }\n var cellEditor = this.cellComp.getCellEditor();\n if (cellEditor && cellEditor.focusIn) {\n // if the editor is present, then we just focus it\n cellEditor.focusIn();\n }\n else {\n // if the editor is not present, it means async cell editor (eg React fibre)\n // and we are trying to set focus before the cell editor is present, so we\n // focus the cell instead\n this.focusCell(true);\n }\n };\n CellCtrl.prototype.onCellChanged = function (event) {\n // because of async in React, the cellComp may not be set yet, if no cellComp then we are\n // yet to initialise the cell, so no need to refresh.\n if (!this.cellComp) {\n return;\n }\n var eventImpactsThisCell = event.column === this.column;\n if (eventImpactsThisCell) {\n this.refreshCell({});\n }\n };\n // + stop editing {forceRefresh: true, suppressFlash: true}\n // + event cellChanged {}\n // + cellRenderer.params.refresh() {} -> method passes 'as is' to the cellRenderer, so params could be anything\n // + rowCtrl: event dataChanged {suppressFlash: !update, newData: !update}\n // + rowCtrl: api refreshCells() {animate: true/false}\n // + rowRenderer: api softRefreshView() {}\n CellCtrl.prototype.refreshCell = function (params) {\n // if we are in the middle of 'stopEditing', then we don't refresh here, as refresh gets called explicitly\n if (this.suppressRefreshCell || this.editing) {\n return;\n }\n // In React, due to async, it's possible a refresh was asked for before the CellComp\n // has been set. If this happens, we skip the refresh, as the cell is going to be\n // initialised anyway once the CellComp is set.\n if (!this.cellComp) {\n return;\n }\n var colDef = this.column.getColDef();\n var newData = params != null && !!params.newData;\n var suppressFlash = (params != null && !!params.suppressFlash) || !!colDef.suppressCellFlash;\n // we always refresh if cell has no value - this can happen when user provides Cell Renderer and the\n // cell renderer doesn't rely on a value, instead it could be looking directly at the data, or maybe\n // printing the current time (which would be silly)???. Generally speaking\n // non of {field, valueGetter, showRowGroup} is bad in the users application, however for this edge case, it's\n // best always refresh and take the performance hit rather than never refresh and users complaining in support\n // that cells are not updating.\n var noValueProvided = colDef.field == null && colDef.valueGetter == null && colDef.showRowGroup == null;\n var forceRefresh = (params && params.forceRefresh) || noValueProvided || newData;\n var valuesDifferent = this.updateAndFormatValue();\n var dataNeedsUpdating = forceRefresh || valuesDifferent;\n if (dataNeedsUpdating) {\n // if it's 'new data', then we don't refresh the cellRenderer, even if refresh method is available.\n // this is because if the whole data is new (ie we are showing stock price 'BBA' now and not 'SSD')\n // then we are not showing a movement in the stock price, rather we are showing different stock.\n this.showValue(newData);\n // we don't want to flash the cells when processing a filter change, as otherwise the UI would\n // be to busy. see comment in FilterManager with regards processingFilterChange\n var processingFilterChange = this.beans.filterManager.isSuppressFlashingCellsBecauseFiltering();\n var flashCell = !suppressFlash && !processingFilterChange &&\n (this.beans.gridOptionsWrapper.isEnableCellChangeFlash() || colDef.enableCellChangeFlash);\n if (flashCell) {\n this.flashCell();\n }\n this.cellCustomStyleFeature.applyUserStyles();\n this.cellCustomStyleFeature.applyClassesFromColDef();\n }\n this.refreshToolTip();\n // we do cellClassRules even if the value has not changed, so that users who have rules that\n // look at other parts of the row (where the other part of the row might of changed) will work.\n this.cellCustomStyleFeature.applyCellClassRules();\n };\n // cell editors call this, when they want to stop for reasons other\n // than what we pick up on. eg selecting from a dropdown ends editing.\n CellCtrl.prototype.stopEditingAndFocus = function (suppressNavigateAfterEdit) {\n if (suppressNavigateAfterEdit === void 0) { suppressNavigateAfterEdit = false; }\n this.stopRowOrCellEdit();\n this.focusCell(true);\n if (!suppressNavigateAfterEdit) {\n this.navigateAfterEdit();\n }\n };\n CellCtrl.prototype.navigateAfterEdit = function () {\n var fullRowEdit = this.beans.gridOptionsWrapper.isFullRowEdit();\n if (fullRowEdit) {\n return;\n }\n var enterMovesDownAfterEdit = this.beans.gridOptionsWrapper.isEnterMovesDownAfterEdit();\n if (enterMovesDownAfterEdit) {\n this.beans.navigationService.navigateToNextCell(null, KeyCode.DOWN, this.getCellPosition(), false);\n }\n };\n // user can also call this via API\n CellCtrl.prototype.flashCell = function (delays) {\n var flashDelay = delays && delays.flashDelay;\n var fadeDelay = delays && delays.fadeDelay;\n this.animateCell('data-changed', flashDelay, fadeDelay);\n };\n CellCtrl.prototype.animateCell = function (cssName, flashDelay, fadeDelay) {\n var _this = this;\n var fullName = \"ag-cell-\" + cssName;\n var animationFullName = \"ag-cell-\" + cssName + \"-animation\";\n var gridOptionsWrapper = this.beans.gridOptionsWrapper;\n if (!flashDelay) {\n flashDelay = gridOptionsWrapper.getCellFlashDelay();\n }\n if (!exists(fadeDelay)) {\n fadeDelay = gridOptionsWrapper.getCellFadeDelay();\n }\n // we want to highlight the cells, without any animation\n this.cellComp.addOrRemoveCssClass(fullName, true);\n this.cellComp.addOrRemoveCssClass(animationFullName, false);\n // then once that is applied, we remove the highlight with animation\n window.setTimeout(function () {\n if (!_this.isAlive()) {\n return;\n }\n _this.cellComp.addOrRemoveCssClass(fullName, false);\n _this.cellComp.addOrRemoveCssClass(animationFullName, true);\n _this.eGui.style.transition = \"background-color \" + fadeDelay + \"ms\";\n window.setTimeout(function () {\n if (!_this.isAlive()) {\n return;\n }\n // and then to leave things as we got them, we remove the animation\n _this.cellComp.addOrRemoveCssClass(animationFullName, false);\n _this.eGui.style.transition = '';\n }, fadeDelay);\n }, flashDelay);\n };\n CellCtrl.prototype.onFlashCells = function (event) {\n if (!this.cellComp) {\n return;\n }\n var cellId = this.beans.cellPositionUtils.createId(this.getCellPosition());\n var shouldFlash = event.cells[cellId];\n if (shouldFlash) {\n this.animateCell('highlight');\n }\n };\n CellCtrl.prototype.isCellEditable = function () {\n return this.column.isCellEditable(this.rowNode);\n };\n CellCtrl.prototype.isSuppressFillHandle = function () {\n return this.column.isSuppressFillHandle();\n };\n CellCtrl.prototype.formatValue = function (value) {\n var res = this.callValueFormatter(value);\n return res != null ? res : value;\n };\n CellCtrl.prototype.callValueFormatter = function (value) {\n return this.beans.valueFormatterService.formatValue(this.column, this.rowNode, value);\n };\n CellCtrl.prototype.updateAndFormatValue = function (force) {\n if (force === void 0) { force = false; }\n var oldValue = this.value;\n var oldValueFormatted = this.valueFormatted;\n this.value = this.getValueFromValueService();\n this.valueFormatted = this.callValueFormatter(this.value);\n var valuesDifferent = force ? true :\n !this.valuesAreEqual(oldValue, this.value) || this.valueFormatted != oldValueFormatted;\n return valuesDifferent;\n };\n CellCtrl.prototype.valuesAreEqual = function (val1, val2) {\n // if the user provided an equals method, use that, otherwise do simple comparison\n var colDef = this.column.getColDef();\n return colDef.equals ? colDef.equals(val1, val2) : val1 === val2;\n };\n CellCtrl.prototype.getComp = function () {\n return this.cellComp;\n };\n CellCtrl.prototype.getValueFromValueService = function () {\n // if we don't check this, then the grid will render leaf groups as open even if we are not\n // allowing the user to open leaf groups. confused? remember for pivot mode we don't allow\n // opening leaf groups, so we have to force leafGroups to be closed in case the user expanded\n // them via the API, or user user expanded them in the UI before turning on pivot mode\n var lockedClosedGroup = this.rowNode.leafGroup && this.beans.columnModel.isPivotMode();\n var isOpenGroup = this.rowNode.group && this.rowNode.expanded && !this.rowNode.footer && !lockedClosedGroup;\n // are we showing group footers\n var groupFootersEnabled = this.beans.gridOptionsWrapper.isGroupIncludeFooter();\n // if doing footers, we normally don't show agg data at group level when group is open\n var groupAlwaysShowAggData = this.beans.gridOptionsWrapper.isGroupSuppressBlankHeader();\n // if doing grouping and footers, we don't want to include the agg value\n // in the header when the group is open\n var ignoreAggData = (isOpenGroup && groupFootersEnabled) && !groupAlwaysShowAggData;\n var value = this.beans.valueService.getValue(this.column, this.rowNode, false, ignoreAggData);\n return value;\n };\n CellCtrl.prototype.getValue = function () {\n return this.value;\n };\n CellCtrl.prototype.getValueFormatted = function () {\n return this.valueFormatted;\n };\n CellCtrl.prototype.addDomData = function () {\n var _this = this;\n var element = this.getGui();\n this.beans.gridOptionsWrapper.setDomData(element, CellCtrl.DOM_DATA_KEY_CELL_CTRL, this);\n this.addDestroyFunc(function () { return _this.beans.gridOptionsWrapper.setDomData(element, CellCtrl.DOM_DATA_KEY_CELL_CTRL, null); });\n };\n CellCtrl.prototype.createEvent = function (domEvent, eventType) {\n var event = {\n type: eventType,\n node: this.rowNode,\n data: this.rowNode.data,\n value: this.value,\n column: this.column,\n colDef: this.column.getColDef(),\n context: this.beans.gridOptionsWrapper.getContext(),\n api: this.beans.gridApi,\n columnApi: this.beans.columnApi,\n rowPinned: this.rowNode.rowPinned,\n event: domEvent,\n rowIndex: this.rowNode.rowIndex\n };\n return event;\n };\n CellCtrl.prototype.onKeyPress = function (event) {\n this.cellKeyboardListenerFeature.onKeyPress(event);\n };\n CellCtrl.prototype.onKeyDown = function (event) {\n this.cellKeyboardListenerFeature.onKeyDown(event);\n };\n CellCtrl.prototype.onMouseEvent = function (eventName, mouseEvent) {\n this.cellMouseListenerFeature.onMouseEvent(eventName, mouseEvent);\n };\n CellCtrl.prototype.getGui = function () {\n return this.eGui;\n };\n CellCtrl.prototype.refreshToolTip = function () {\n this.tooltipFeature.refreshToolTip();\n };\n CellCtrl.prototype.getColSpanningList = function () {\n return this.cellPositionFeature.getColSpanningList();\n };\n CellCtrl.prototype.onLeftChanged = function () {\n if (!this.cellComp) {\n return;\n }\n this.cellPositionFeature.onLeftChanged();\n };\n CellCtrl.prototype.onDisplayedColumnsChanged = function () {\n if (!this.eGui) {\n return;\n }\n this.setAriaColIndex();\n };\n CellCtrl.prototype.setAriaColIndex = function () {\n var colIdx = this.beans.columnModel.getAriaColumnIndex(this.column);\n setAriaColIndex(this.getGui(), colIdx); // for react, we don't use JSX, as it slowed down column moving\n };\n CellCtrl.prototype.isSuppressNavigable = function () {\n return this.column.isSuppressNavigable(this.rowNode);\n };\n CellCtrl.prototype.onWidthChanged = function () {\n return this.cellPositionFeature.onWidthChanged();\n };\n CellCtrl.prototype.getColumn = function () {\n return this.column;\n };\n CellCtrl.prototype.getRowNode = function () {\n return this.rowNode;\n };\n CellCtrl.prototype.getBeans = function () {\n return this.beans;\n };\n CellCtrl.prototype.isPrintLayout = function () {\n return this.printLayout;\n };\n CellCtrl.prototype.appendChild = function (htmlElement) {\n this.eGui.appendChild(htmlElement);\n };\n CellCtrl.prototype.refreshHandle = function () {\n if (this.cellRangeFeature) {\n this.cellRangeFeature.refreshHandle();\n }\n };\n CellCtrl.prototype.getCellPosition = function () {\n return this.cellPosition;\n };\n CellCtrl.prototype.isEditing = function () {\n return this.editing;\n };\n // called by rowRenderer when user navigates via tab key\n CellCtrl.prototype.startRowOrCellEdit = function (key, charPress, event) {\n if (event === void 0) { event = null; }\n if (!this.cellComp) {\n return;\n }\n if (this.beans.gridOptionsWrapper.isFullRowEdit()) {\n this.rowCtrl.startRowEditing(key, charPress, this);\n }\n else {\n this.startEditing(key, charPress, true, event);\n }\n };\n CellCtrl.prototype.getRowCtrl = function () {\n return this.rowCtrl;\n };\n CellCtrl.prototype.getRowPosition = function () {\n return {\n rowIndex: this.cellPosition.rowIndex,\n rowPinned: this.cellPosition.rowPinned\n };\n };\n CellCtrl.prototype.updateRangeBordersIfRangeCount = function () {\n if (!this.cellComp) {\n return;\n }\n if (this.cellRangeFeature) {\n this.cellRangeFeature.updateRangeBordersIfRangeCount();\n }\n };\n CellCtrl.prototype.onRangeSelectionChanged = function () {\n if (!this.cellComp) {\n return;\n }\n if (this.cellRangeFeature) {\n this.cellRangeFeature.onRangeSelectionChanged();\n }\n };\n CellCtrl.prototype.isRangeSelectionEnabled = function () {\n return this.cellRangeFeature != null;\n };\n CellCtrl.prototype.focusCell = function (forceBrowserFocus) {\n if (forceBrowserFocus === void 0) { forceBrowserFocus = false; }\n this.beans.focusService.setFocusedCell({\n rowIndex: this.getCellPosition().rowIndex,\n column: this.column,\n rowPinned: this.rowNode.rowPinned,\n forceBrowserFocus: forceBrowserFocus\n });\n };\n CellCtrl.prototype.onRowIndexChanged = function () {\n // when index changes, this influences items that need the index, so we update the\n // grid cell so they are working off the new index.\n this.createCellPosition();\n // when the index of the row changes, ie means the cell may have lost or gained focus\n this.onCellFocused();\n // check range selection\n if (this.cellRangeFeature) {\n this.cellRangeFeature.onRangeSelectionChanged();\n }\n };\n CellCtrl.prototype.onFirstRightPinnedChanged = function () {\n if (!this.cellComp) {\n return;\n }\n var firstRightPinned = this.column.isFirstRightPinned();\n this.cellComp.addOrRemoveCssClass(CSS_CELL_FIRST_RIGHT_PINNED, firstRightPinned);\n };\n CellCtrl.prototype.onLastLeftPinnedChanged = function () {\n if (!this.cellComp) {\n return;\n }\n var lastLeftPinned = this.column.isLastLeftPinned();\n this.cellComp.addOrRemoveCssClass(CSS_CELL_LAST_LEFT_PINNED, lastLeftPinned);\n };\n CellCtrl.prototype.onCellFocused = function (event) {\n if (!this.cellComp || this.gow.isSuppressCellFocus()) {\n return;\n }\n var cellFocused = this.beans.focusService.isCellFocused(this.cellPosition);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_FOCUS, cellFocused);\n // see if we need to force browser focus - this can happen if focus is programmatically set\n if (cellFocused && event && event.forceBrowserFocus) {\n var focusEl = this.cellComp.getFocusableElement();\n focusEl.focus({ preventScroll: !!event.preventScrollOnBrowserFocus });\n }\n // if another cell was focused, and we are editing, then stop editing\n var fullRowEdit = this.beans.gridOptionsWrapper.isFullRowEdit();\n if (!cellFocused && !fullRowEdit && this.editing) {\n this.stopRowOrCellEdit();\n }\n };\n CellCtrl.prototype.createCellPosition = function () {\n this.cellPosition = {\n rowIndex: this.rowNode.rowIndex,\n rowPinned: makeNull(this.rowNode.rowPinned),\n column: this.column\n };\n };\n // CSS Classes that only get applied once, they never change\n CellCtrl.prototype.applyStaticCssClasses = function () {\n this.cellComp.addOrRemoveCssClass(CSS_CELL, true);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_NOT_INLINE_EDITING, true);\n // normal cells fill the height of the row. autoHeight cells have no height to let them\n // fit the height of content.\n var autoHeight = this.column.isAutoHeight() == true;\n this.cellComp.addOrRemoveCssClass(CSS_AUTO_HEIGHT, autoHeight);\n this.cellComp.addOrRemoveCssClass(CSS_NORMAL_HEIGHT, !autoHeight);\n };\n CellCtrl.prototype.onColumnHover = function () {\n if (!this.cellComp) {\n return;\n }\n if (!this.beans.gridOptionsWrapper.isColumnHoverHighlight()) {\n return;\n }\n var isHovered = this.beans.columnHoverService.isHovered(this.column);\n this.cellComp.addOrRemoveCssClass(CSS_COLUMN_HOVER, isHovered);\n };\n CellCtrl.prototype.onColDefChanged = function () {\n if (!this.cellComp) {\n return;\n }\n this.setWrapText();\n if (!this.editing) {\n this.refreshCell({ forceRefresh: true, suppressFlash: true });\n }\n };\n CellCtrl.prototype.setWrapText = function () {\n var value = this.column.getColDef().wrapText == true;\n this.cellComp.addOrRemoveCssClass(CSS_CELL_WRAP_TEXT, value);\n };\n CellCtrl.prototype.dispatchCellContextMenuEvent = function (event) {\n var colDef = this.column.getColDef();\n var cellContextMenuEvent = this.createEvent(event, Events.EVENT_CELL_CONTEXT_MENU);\n this.beans.eventService.dispatchEvent(cellContextMenuEvent);\n if (colDef.onCellContextMenu) {\n // to make the callback async, do in a timeout\n window.setTimeout(function () { return colDef.onCellContextMenu(cellContextMenuEvent); }, 0);\n }\n };\n CellCtrl.prototype.getCellRenderer = function () {\n return this.cellComp ? this.cellComp.getCellRenderer() : null;\n };\n CellCtrl.prototype.getCellEditor = function () {\n return this.cellComp ? this.cellComp.getCellEditor() : null;\n };\n CellCtrl.prototype.destroy = function () {\n this.onCellCompAttachedFuncs = [];\n _super.prototype.destroy.call(this);\n };\n CellCtrl.prototype.createSelectionCheckbox = function () {\n var cbSelectionComponent = new CheckboxSelectionComponent();\n this.beans.context.createBean(cbSelectionComponent);\n cbSelectionComponent.init({ rowNode: this.rowNode, column: this.column });\n // put the checkbox in before the value\n return cbSelectionComponent;\n };\n CellCtrl.prototype.createDndSource = function () {\n var dndSourceComp = new DndSourceComp(this.rowNode, this.column, this.beans, this.eGui);\n this.beans.context.createBean(dndSourceComp);\n return dndSourceComp;\n };\n CellCtrl.prototype.registerRowDragger = function (customElement, dragStartPixels, suppressVisibilityChange) {\n var _this = this;\n // if previously existed, then we are only updating\n if (this.customRowDragComp) {\n this.customRowDragComp.setDragElement(customElement, dragStartPixels);\n return;\n }\n var newComp = this.createRowDragComp(customElement, dragStartPixels, suppressVisibilityChange);\n if (newComp) {\n this.customRowDragComp = newComp;\n this.addDestroyFunc(function () { return _this.beans.context.destroyBean(newComp); });\n }\n };\n CellCtrl.prototype.createRowDragComp = function (customElement, dragStartPixels, suppressVisibilityChange) {\n var _this = this;\n var pagination = this.beans.gridOptionsWrapper.isPagination();\n var rowDragManaged = this.beans.gridOptionsWrapper.isRowDragManaged();\n var clientSideRowModelActive = this.beans.gridOptionsWrapper.isRowModelDefault();\n if (rowDragManaged) {\n // row dragging only available in default row model\n if (!clientSideRowModelActive) {\n doOnce(function () { return console.warn('AG Grid: managed row dragging is only allowed in the Client Side Row Model'); }, 'CellComp.addRowDragging');\n return;\n }\n if (pagination) {\n doOnce(function () { return console.warn('AG Grid: managed row dragging is not possible when doing pagination'); }, 'CellComp.addRowDragging');\n return;\n }\n }\n // otherwise (normal case) we are creating a RowDraggingComp for the first time\n var rowDragComp = new RowDragComp(function () { return _this.value; }, this.rowNode, this.column, customElement, dragStartPixels, suppressVisibilityChange);\n this.beans.context.createBean(rowDragComp);\n return rowDragComp;\n };\n CellCtrl.DOM_DATA_KEY_CELL_CTRL = 'cellCtrl';\n return CellCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1U = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __values$2 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read$h = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$d = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$h(arguments[i]));\n return ar;\n};\nvar RowType$1;\n(function (RowType) {\n RowType[\"Normal\"] = \"Normal\";\n RowType[\"FullWidth\"] = \"FullWidth\";\n RowType[\"FullWidthLoading\"] = \"FullWidthLoading\";\n RowType[\"FullWidthGroup\"] = \"FullWidthGroup\";\n RowType[\"FullWidthDetail\"] = \"FullWidthDetail\";\n})(RowType$1 || (RowType$1 = {}));\nvar instanceIdSequence$2 = 0;\nvar RowCtrl = /** @class */ (function (_super) {\n __extends$1U(RowCtrl, _super);\n function RowCtrl(rowNode, beans, animateIn, useAnimationFrameForCreate, printLayout) {\n var _this = _super.call(this) || this;\n _this.allRowGuis = [];\n _this.active = true;\n _this.centerCellCtrls = { list: [], map: {} };\n _this.leftCellCtrls = { list: [], map: {} };\n _this.rightCellCtrls = { list: [], map: {} };\n _this.lastMouseDownOnDragger = false;\n _this.updateColumnListsPending = false;\n _this.beans = beans;\n _this.rowNode = rowNode;\n _this.paginationPage = _this.beans.paginationProxy.getCurrentPage();\n _this.useAnimationFrameForCreate = useAnimationFrameForCreate;\n _this.printLayout = printLayout;\n _this.instanceId = rowNode.id + '-' + instanceIdSequence$2++;\n _this.setAnimateFlags(animateIn);\n _this.rowFocused = _this.beans.focusService.isRowFocused(_this.rowNode.rowIndex, _this.rowNode.rowPinned);\n _this.rowLevel = _this.beans.rowCssClassCalculator.calculateRowLevel(_this.rowNode);\n _this.setRowType();\n _this.addListeners();\n return _this;\n }\n RowCtrl.prototype.isSticky = function () {\n return this.rowNode.sticky;\n };\n RowCtrl.prototype.getBeans = function () {\n return this.beans;\n };\n RowCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n RowCtrl.prototype.setComp = function (rowComp, element, containerType) {\n var gui = { rowComp: rowComp, element: element, containerType: containerType };\n this.allRowGuis.push(gui);\n if (containerType === RowContainerType.LEFT) {\n this.leftGui = gui;\n }\n else if (containerType === RowContainerType.RIGHT) {\n this.rightGui = gui;\n }\n else if (containerType === RowContainerType.FULL_WIDTH) {\n this.fullWidthGui = gui;\n }\n else {\n this.centerGui = gui;\n }\n var allNormalPresent = this.leftGui != null && this.rightGui != null && this.centerGui != null;\n var fullWidthPresent = this.fullWidthGui != null;\n if (allNormalPresent || fullWidthPresent) {\n this.initialiseRowComps();\n }\n if (this.rowType !== 'FullWidthLoading') {\n // this is fired within setComp as we know that the component renderer is now trying to render.\n // linked with the fact the function implementation queues behind requestAnimationFrame should allow\n // us to be certain that all rendering is done by the time the event fires.\n this.beans.rowRenderer.dispatchFirstDataRenderedEvent();\n }\n };\n RowCtrl.prototype.isCacheable = function () {\n return this.rowType === RowType$1.FullWidthDetail\n && this.beans.gridOptionsWrapper.isKeepDetailRows();\n };\n RowCtrl.prototype.setCached = function (cached) {\n var displayValue = cached ? 'none' : '';\n this.allRowGuis.forEach(function (rg) { return rg.element.style.display = displayValue; });\n };\n RowCtrl.prototype.initialiseRowComps = function () {\n var _this = this;\n var gow = this.beans.gridOptionsWrapper;\n this.onRowHeightChanged();\n this.updateRowIndexes();\n this.setFocusedClasses();\n this.setStylesFromGridOptions();\n if (gow.isRowSelection() && this.rowNode.selectable) {\n this.onRowSelected();\n }\n this.updateColumnLists(!this.useAnimationFrameForCreate);\n if (this.slideRowIn) {\n executeNextVMTurn(this.onTopChanged.bind(this));\n }\n if (this.fadeRowIn) {\n executeNextVMTurn(function () {\n _this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-opacity-zero', false); });\n });\n }\n var businessKey = this.getRowBusinessKey();\n var rowIdSanitised = escapeString(this.rowNode.id);\n var businessKeySanitised = escapeString(businessKey);\n this.allRowGuis.forEach(function (gui) {\n var comp = gui.rowComp;\n comp.setRole('row');\n var initialRowClasses = _this.getInitialRowClasses(gui.containerType);\n initialRowClasses.forEach(function (name) { return comp.addOrRemoveCssClass(name, true); });\n if (_this.rowNode.group) {\n setAriaExpanded(gui.element, _this.rowNode.expanded == true);\n }\n if (rowIdSanitised != null) {\n comp.setRowId(rowIdSanitised);\n }\n if (businessKeySanitised != null) {\n comp.setRowBusinessKey(businessKeySanitised);\n }\n if (_this.isFullWidth() && !_this.beans.gridOptionsWrapper.isSuppressCellFocus()) {\n comp.setTabIndex(-1);\n }\n // DOM DATA\n gow.setDomData(gui.element, RowCtrl.DOM_DATA_KEY_ROW_CTRL, _this);\n _this.addDestroyFunc(function () { return gow.setDomData(gui.element, RowCtrl.DOM_DATA_KEY_ROW_CTRL, null); });\n // adding hover functionality adds listener to this row, so we\n // do it lazily in an animation frame\n if (_this.useAnimationFrameForCreate) {\n _this.beans.animationFrameService.createTask(_this.addHoverFunctionality.bind(_this, gui.element), _this.rowNode.rowIndex, 'createTasksP2');\n }\n else {\n _this.addHoverFunctionality(gui.element);\n }\n if (_this.isFullWidth()) {\n _this.setupFullWidth(gui);\n }\n if (gow.isRowDragEntireRow()) {\n _this.addRowDraggerToRow(gui);\n }\n if (_this.useAnimationFrameForCreate) {\n // the height animation we only want active after the row is alive for 1 second.\n // this stops the row animation working when rows are initially crated. otherwise\n // auto-height rows get inserted into the dom and resized immediately, which gives\n // very bad UX (eg 10 rows get inserted, then all 10 expand, look particularly bad\n // when scrolling). so this makes sure when rows are shown for the first time, they\n // are resized immediately without animation.\n _this.beans.animationFrameService.addDestroyTask(function () {\n if (!_this.isAlive()) {\n return;\n }\n gui.rowComp.addOrRemoveCssClass('ag-after-created', true);\n });\n }\n });\n this.executeProcessRowPostCreateFunc();\n };\n RowCtrl.prototype.addRowDraggerToRow = function (gui) {\n var gow = this.beans.gridOptionsWrapper;\n if (gow.isEnableRangeSelection()) {\n doOnce(function () {\n console.warn('AG Grid: Setting `rowDragEntireRow: true` in the gridOptions doesn\\'t work with `enableRangeSelection: true`');\n }, 'rowDragAndRangeSelectionEnabled');\n return;\n }\n var translate = gow.getLocaleTextFunc();\n var rowDragComp = new RowDragComp(function () { return \"1 \" + translate('rowDragRow', 'row'); }, this.rowNode, undefined, gui.element, undefined, true);\n this.createManagedBean(rowDragComp, this.beans.context);\n };\n RowCtrl.prototype.setupFullWidth = function (gui) {\n var pinned = this.getPinnedForContainer(gui.containerType);\n var params = this.createFullWidthParams(gui.element, pinned);\n var masterDetailModuleLoaded = ModuleRegistry.isRegistered(ModuleNames.MasterDetailModule);\n if (this.rowType == RowType$1.FullWidthDetail && !masterDetailModuleLoaded) {\n if (ModuleRegistry.isPackageBased()) {\n console.warn(\"AG Grid: cell renderer 'agDetailCellRenderer' (for master detail) not found. Can only be used with ag-grid-enterprise package.\");\n }\n else {\n console.warn(\"AG Grid: cell renderer 'agDetailCellRenderer' (for master detail) not found. Can only be used with AG Grid Enterprise Module \" + ModuleNames.MasterDetailModule);\n }\n return;\n }\n var compDetails;\n switch (this.rowType) {\n case RowType$1.FullWidthDetail:\n compDetails = this.beans.userComponentFactory.getFullWidthDetailCellRendererDetails(params);\n break;\n case RowType$1.FullWidthGroup:\n compDetails = this.beans.userComponentFactory.getFullWidthGroupCellRendererDetails(params);\n break;\n case RowType$1.FullWidthLoading:\n compDetails = this.beans.userComponentFactory.getFullWidthLoadingCellRendererDetails(params);\n break;\n default:\n compDetails = this.beans.userComponentFactory.getFullWidthCellRendererDetails(params);\n break;\n }\n gui.rowComp.showFullWidth(compDetails);\n };\n RowCtrl.prototype.isPrintLayout = function () {\n return this.printLayout;\n };\n // use by autoWidthCalculator, as it clones the elements\n RowCtrl.prototype.getCellElement = function (column) {\n var cellCtrl = this.getCellCtrl(column);\n return cellCtrl ? cellCtrl.getGui() : null;\n };\n RowCtrl.prototype.executeProcessRowPostCreateFunc = function () {\n var func = this.beans.gridOptionsWrapper.getProcessRowPostCreateFunc();\n if (!func) {\n return;\n }\n var params = {\n eRow: this.centerGui ? this.centerGui.element : undefined,\n ePinnedLeftRow: this.leftGui ? this.leftGui.element : undefined,\n ePinnedRightRow: this.rightGui ? this.rightGui.element : undefined,\n node: this.rowNode,\n rowIndex: this.rowNode.rowIndex,\n addRenderedRowListener: this.addEventListener.bind(this),\n };\n func(params);\n };\n RowCtrl.prototype.setRowType = function () {\n var isStub = this.rowNode.stub;\n var isFullWidthCell = this.rowNode.isFullWidthCell();\n var isDetailCell = this.beans.doingMasterDetail && this.rowNode.detail;\n var pivotMode = this.beans.columnModel.isPivotMode();\n // we only use full width for groups, not footers. it wouldn't make sense to include footers if not looking\n // for totals. if users complain about this, then we should introduce a new property 'footerUseEntireRow'\n // so each can be set independently (as a customer complained about footers getting full width, hence\n // introducing this logic)\n var isGroupRow = !!this.rowNode.group && !this.rowNode.footer;\n var isFullWidthGroup = isGroupRow && this.beans.gridOptionsWrapper.isGroupUseEntireRow(pivotMode);\n if (isStub) {\n this.rowType = RowType$1.FullWidthLoading;\n }\n else if (isDetailCell) {\n this.rowType = RowType$1.FullWidthDetail;\n }\n else if (isFullWidthCell) {\n this.rowType = RowType$1.FullWidth;\n }\n else if (isFullWidthGroup) {\n this.rowType = RowType$1.FullWidthGroup;\n }\n else {\n this.rowType = RowType$1.Normal;\n }\n };\n RowCtrl.prototype.updateColumnLists = function (suppressAnimationFrame) {\n var _this = this;\n if (suppressAnimationFrame === void 0) { suppressAnimationFrame = false; }\n if (this.isFullWidth()) {\n return;\n }\n var noAnimation = suppressAnimationFrame\n || this.beans.gridOptionsWrapper.isSuppressAnimationFrame()\n || this.printLayout;\n if (noAnimation) {\n this.updateColumnListsImpl();\n return;\n }\n if (this.updateColumnListsPending) {\n return;\n }\n this.beans.animationFrameService.createTask(function () {\n if (!_this.active) {\n return;\n }\n _this.updateColumnListsImpl();\n }, this.rowNode.rowIndex, 'createTasksP1');\n this.updateColumnListsPending = true;\n };\n RowCtrl.prototype.createCellCtrls = function (prev, cols, pinned) {\n var _this = this;\n if (pinned === void 0) { pinned = null; }\n var res = {\n list: [],\n map: {}\n };\n var addCell = function (colInstanceId, cellCtrl) {\n res.list.push(cellCtrl);\n res.map[colInstanceId] = cellCtrl;\n };\n cols.forEach(function (col) {\n // we use instanceId's rather than colId as it's possible there is a Column with same Id,\n // but it's referring to a different column instance. Happens a lot with pivot, as pivot col id's are\n // reused eg pivot_0, pivot_1 etc\n var colInstanceId = col.getInstanceId();\n var cellCtrl = prev.map[colInstanceId];\n if (!cellCtrl) {\n cellCtrl = new CellCtrl(col, _this.rowNode, _this.beans, _this);\n }\n addCell(colInstanceId, cellCtrl);\n });\n prev.list.forEach(function (prevCellCtrl) {\n var cellInResult = res.map[prevCellCtrl.getColumn().getInstanceId()] != null;\n if (cellInResult) {\n return;\n }\n var keepCell = !_this.isCellEligibleToBeRemoved(prevCellCtrl, pinned);\n if (keepCell) {\n addCell(prevCellCtrl.getColumn().getInstanceId(), prevCellCtrl);\n return;\n }\n prevCellCtrl.destroy();\n });\n return res;\n };\n RowCtrl.prototype.updateColumnListsImpl = function () {\n var _this = this;\n this.updateColumnListsPending = false;\n var columnModel = this.beans.columnModel;\n if (this.printLayout) {\n this.centerCellCtrls = this.createCellCtrls(this.centerCellCtrls, columnModel.getAllDisplayedColumns());\n this.leftCellCtrls = { list: [], map: {} };\n this.rightCellCtrls = { list: [], map: {} };\n }\n else {\n var centerCols = columnModel.getViewportCenterColumnsForRow(this.rowNode);\n this.centerCellCtrls = this.createCellCtrls(this.centerCellCtrls, centerCols);\n var leftCols = columnModel.getDisplayedLeftColumnsForRow(this.rowNode);\n this.leftCellCtrls = this.createCellCtrls(this.leftCellCtrls, leftCols, Constants.PINNED_LEFT);\n var rightCols = columnModel.getDisplayedRightColumnsForRow(this.rowNode);\n this.rightCellCtrls = this.createCellCtrls(this.rightCellCtrls, rightCols, Constants.PINNED_RIGHT);\n }\n this.allRowGuis.forEach(function (item) {\n var cellControls = item.containerType === RowContainerType.LEFT ? _this.leftCellCtrls :\n item.containerType === RowContainerType.RIGHT ? _this.rightCellCtrls : _this.centerCellCtrls;\n item.rowComp.setCellCtrls(cellControls.list);\n });\n };\n RowCtrl.prototype.isCellEligibleToBeRemoved = function (cellCtrl, nextContainerPinned) {\n var REMOVE_CELL = true;\n var KEEP_CELL = false;\n // always remove the cell if it's not rendered or if it's in the wrong pinned location\n var column = cellCtrl.getColumn();\n if (column.getPinned() != nextContainerPinned) {\n return REMOVE_CELL;\n }\n // we want to try and keep editing and focused cells\n var editing = cellCtrl.isEditing();\n var focused = this.beans.focusService.isCellFocused(cellCtrl.getCellPosition());\n var mightWantToKeepCell = editing || focused;\n if (mightWantToKeepCell) {\n var column_1 = cellCtrl.getColumn();\n var displayedColumns = this.beans.columnModel.getAllDisplayedColumns();\n var cellStillDisplayed = displayedColumns.indexOf(column_1) >= 0;\n return cellStillDisplayed ? KEEP_CELL : REMOVE_CELL;\n }\n return REMOVE_CELL;\n };\n RowCtrl.prototype.setAnimateFlags = function (animateIn) {\n if (!this.isSticky() && animateIn) {\n var oldRowTopExists = exists(this.rowNode.oldRowTop);\n // if the row had a previous position, we slide it in (animate row top)\n this.slideRowIn = oldRowTopExists;\n // if the row had no previous position, we fade it in (animate\n this.fadeRowIn = !oldRowTopExists;\n }\n else {\n this.slideRowIn = false;\n this.fadeRowIn = false;\n }\n };\n RowCtrl.prototype.isEditing = function () {\n return this.editingRow;\n };\n RowCtrl.prototype.stopRowEditing = function (cancel) {\n this.stopEditing(cancel);\n };\n RowCtrl.prototype.isFullWidth = function () {\n return this.rowType !== RowType$1.Normal;\n };\n RowCtrl.prototype.getRowType = function () {\n return this.rowType;\n };\n RowCtrl.prototype.refreshFullWidth = function () {\n var _this = this;\n // returns 'true' if refresh succeeded\n var tryRefresh = function (gui, pinned) {\n if (!gui) {\n return true;\n } // no refresh needed\n var cellRenderer = gui.rowComp.getFullWidthCellRenderer();\n // no cell renderer, either means comp not yet ready, or comp ready but now reference\n // to it (happens in react when comp is stateless). if comp not ready, we don't need to\n // refresh, however we don't know which one, so we refresh to cover the case where it's\n // react comp without reference so need to force a refresh\n if (!cellRenderer) {\n return false;\n }\n // no refresh method present, so can't refresh, hard refresh needed\n if (!cellRenderer.refresh) {\n return false;\n }\n var params = _this.createFullWidthParams(gui.element, pinned);\n var refreshSucceeded = cellRenderer.refresh(params);\n return refreshSucceeded;\n };\n var fullWidthSuccess = tryRefresh(this.fullWidthGui, null);\n var centerSuccess = tryRefresh(this.centerGui, null);\n var leftSuccess = tryRefresh(this.leftGui, Constants.PINNED_LEFT);\n var rightSuccess = tryRefresh(this.rightGui, Constants.PINNED_RIGHT);\n var allFullWidthRowsRefreshed = fullWidthSuccess && centerSuccess && leftSuccess && rightSuccess;\n return allFullWidthRowsRefreshed;\n };\n RowCtrl.prototype.addListeners = function () {\n this.addManagedListener(this.rowNode, RowNode.EVENT_HEIGHT_CHANGED, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_SELECTED, this.onRowSelected.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_INDEX_CHANGED, this.onRowIndexChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_TOP_CHANGED, this.onTopChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_EXPANDED_CHANGED, this.updateExpandedCss.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_HAS_CHILDREN_CHANGED, this.updateExpandedCss.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.onRowNodeDataChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.onRowNodeCellChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_HIGHLIGHT_CHANGED, this.onRowNodeHighlightChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_DRAGGING_CHANGED, this.onRowNodeDraggingChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_UI_LEVEL_CHANGED, this.onUiLevelChanged.bind(this));\n var eventService = this.beans.eventService;\n this.addManagedListener(eventService, Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED, this.onPaginationPixelOffsetChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_HEIGHT_SCALE_CHANGED, this.onTopChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_VIRTUAL_COLUMNS_CHANGED, this.onVirtualColumnsChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_CELL_FOCUSED, this.onCellFocusChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_PAGINATION_CHANGED, this.onPaginationChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_MODEL_UPDATED, this.onModelUpdated.bind(this));\n this.addManagedListener(eventService, Events.EVENT_COLUMN_MOVED, this.onColumnMoved.bind(this));\n this.addListenersForCellComps();\n };\n RowCtrl.prototype.onColumnMoved = function () {\n this.updateColumnLists();\n };\n RowCtrl.prototype.addListenersForCellComps = function () {\n var _this = this;\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_INDEX_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onRowIndexChanged(); });\n });\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, function (event) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onCellChanged(event); });\n });\n };\n RowCtrl.prototype.onRowNodeDataChanged = function (event) {\n // if this is an update, we want to refresh, as this will allow the user to put in a transition\n // into the cellRenderer refresh method. otherwise this might be completely new data, in which case\n // we will want to completely replace the cells\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n return cellCtrl.refreshCell({\n suppressFlash: !event.update,\n newData: !event.update\n });\n });\n // check for selected also, as this could be after lazy loading of the row data, in which case\n // the id might of just gotten set inside the row and the row selected state may of changed\n // as a result. this is what happens when selected rows are loaded in virtual pagination.\n // - niall note - since moving to the stub component, this may no longer be true, as replacing\n // the stub component now replaces the entire row\n this.onRowSelected();\n // as data has changed, then the style and class needs to be recomputed\n this.postProcessCss();\n };\n RowCtrl.prototype.onRowNodeCellChanged = function () {\n // as data has changed, then the style and class needs to be recomputed\n this.postProcessCss();\n };\n RowCtrl.prototype.postProcessCss = function () {\n this.setStylesFromGridOptions();\n this.postProcessClassesFromGridOptions();\n this.postProcessRowClassRules();\n this.postProcessRowDragging();\n };\n RowCtrl.prototype.onRowNodeHighlightChanged = function () {\n var highlighted = this.rowNode.highlighted;\n this.allRowGuis.forEach(function (gui) {\n var aboveOn = highlighted === RowHighlightPosition.Above;\n var belowOn = highlighted === RowHighlightPosition.Below;\n gui.rowComp.addOrRemoveCssClass('ag-row-highlight-above', aboveOn);\n gui.rowComp.addOrRemoveCssClass('ag-row-highlight-below', belowOn);\n });\n };\n RowCtrl.prototype.onRowNodeDraggingChanged = function () {\n this.postProcessRowDragging();\n };\n RowCtrl.prototype.postProcessRowDragging = function () {\n var dragging = this.rowNode.dragging;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-dragging', dragging); });\n };\n RowCtrl.prototype.updateExpandedCss = function () {\n var expandable = this.rowNode.isExpandable();\n var expanded = this.rowNode.expanded == true;\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass('ag-row-group', expandable);\n gui.rowComp.addOrRemoveCssClass('ag-row-group-expanded', expandable && expanded);\n gui.rowComp.addOrRemoveCssClass('ag-row-group-contracted', expandable && !expanded);\n setAriaExpanded(gui.element, expandable && expanded);\n });\n };\n RowCtrl.prototype.onDisplayedColumnsChanged = function () {\n // we skip animations for onDisplayedColumnChanged, as otherwise the client could remove columns and\n // then set data, and any old valueGetter's (ie from cols that were removed) would still get called.\n this.updateColumnLists(true);\n if (this.beans.columnModel.wasAutoRowHeightEverActive()) {\n this.rowNode.checkAutoHeights();\n }\n };\n RowCtrl.prototype.onVirtualColumnsChanged = function () {\n this.updateColumnLists();\n };\n RowCtrl.prototype.getRowPosition = function () {\n return {\n rowPinned: makeNull(this.rowNode.rowPinned),\n rowIndex: this.rowNode.rowIndex\n };\n };\n RowCtrl.prototype.onKeyboardNavigate = function (keyboardEvent) {\n var currentFullWidthComp = this.allRowGuis.find(function (c) { return c.element.contains(keyboardEvent.target); });\n var currentFullWidthContainer = currentFullWidthComp ? currentFullWidthComp.element : null;\n var isFullWidthContainerFocused = currentFullWidthContainer === keyboardEvent.target;\n if (!isFullWidthContainerFocused) {\n return;\n }\n var node = this.rowNode;\n var lastFocusedCell = this.beans.focusService.getFocusedCell();\n var cellPosition = {\n rowIndex: node.rowIndex,\n rowPinned: node.rowPinned,\n column: (lastFocusedCell && lastFocusedCell.column)\n };\n this.beans.navigationService.navigateToNextCell(keyboardEvent, keyboardEvent.key, cellPosition, true);\n keyboardEvent.preventDefault();\n };\n RowCtrl.prototype.onTabKeyDown = function (keyboardEvent) {\n if (keyboardEvent.defaultPrevented || isStopPropagationForAgGrid(keyboardEvent)) {\n return;\n }\n var currentFullWidthComp = this.allRowGuis.find(function (c) { return c.element.contains(keyboardEvent.target); });\n var currentFullWidthContainer = currentFullWidthComp ? currentFullWidthComp.element : null;\n var isFullWidthContainerFocused = currentFullWidthContainer === keyboardEvent.target;\n var nextEl = null;\n if (!isFullWidthContainerFocused) {\n nextEl = this.beans.focusService.findNextFocusableElement(currentFullWidthContainer, false, keyboardEvent.shiftKey);\n }\n if ((this.isFullWidth() && isFullWidthContainerFocused) || !nextEl) {\n this.beans.navigationService.onTabKeyDown(this, keyboardEvent);\n }\n };\n RowCtrl.prototype.onFullWidthRowFocused = function (event) {\n var _a;\n var node = this.rowNode;\n var isFocused = this.isFullWidth() && event.rowIndex === node.rowIndex && event.rowPinned == node.rowPinned;\n var element = this.fullWidthGui ? this.fullWidthGui.element : (_a = this.centerGui) === null || _a === void 0 ? void 0 : _a.element;\n if (!element) {\n return;\n } // can happen with react ui, comp not yet ready\n element.classList.toggle('ag-full-width-focus', isFocused);\n if (isFocused) {\n // we don't scroll normal rows into view when we focus them, so we don't want\n // to scroll Full Width rows either.\n element.focus({ preventScroll: true });\n }\n };\n RowCtrl.prototype.refreshCell = function (cellCtrl) {\n this.centerCellCtrls = this.removeCellCtrl(this.centerCellCtrls, cellCtrl);\n this.leftCellCtrls = this.removeCellCtrl(this.leftCellCtrls, cellCtrl);\n this.rightCellCtrls = this.removeCellCtrl(this.rightCellCtrls, cellCtrl);\n this.updateColumnLists();\n };\n RowCtrl.prototype.removeCellCtrl = function (prev, cellCtrlToRemove) {\n var res = {\n list: [],\n map: {}\n };\n prev.list.forEach(function (cellCtrl) {\n if (cellCtrl === cellCtrlToRemove) {\n return;\n }\n res.list.push(cellCtrl);\n res.map[cellCtrl.getInstanceId()] = cellCtrl;\n });\n return res;\n };\n RowCtrl.prototype.onMouseEvent = function (eventName, mouseEvent) {\n switch (eventName) {\n case 'dblclick':\n this.onRowDblClick(mouseEvent);\n break;\n case 'click':\n this.onRowClick(mouseEvent);\n break;\n case 'touchstart':\n case 'mousedown':\n this.onRowMouseDown(mouseEvent);\n break;\n }\n };\n RowCtrl.prototype.createRowEvent = function (type, domEvent) {\n return {\n type: type,\n node: this.rowNode,\n data: this.rowNode.data,\n rowIndex: this.rowNode.rowIndex,\n rowPinned: this.rowNode.rowPinned,\n context: this.beans.gridOptionsWrapper.getContext(),\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n event: domEvent\n };\n };\n RowCtrl.prototype.createRowEventWithSource = function (type, domEvent) {\n var event = this.createRowEvent(type, domEvent);\n // when first developing this, we included the rowComp in the event.\n // this seems very weird. so when introducing the event types, i left the 'source'\n // out of the type, and just include the source in the two places where this event\n // was fired (rowClicked and rowDoubleClicked). it doesn't make sense for any\n // users to be using this, as the rowComp isn't an object we expose, so would be\n // very surprising if a user was using it.\n event.source = this;\n return event;\n };\n RowCtrl.prototype.onRowDblClick = function (mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n var agEvent = this.createRowEventWithSource(Events.EVENT_ROW_DOUBLE_CLICKED, mouseEvent);\n this.beans.eventService.dispatchEvent(agEvent);\n };\n RowCtrl.prototype.onRowMouseDown = function (mouseEvent) {\n this.lastMouseDownOnDragger = isElementChildOfClass(mouseEvent.target, 'ag-row-drag', 3);\n if (!this.isFullWidth()) {\n return;\n }\n var node = this.rowNode;\n var columnModel = this.beans.columnModel;\n if (this.beans.rangeService) {\n this.beans.rangeService.removeAllCellRanges();\n }\n this.beans.focusService.setFocusedCell({\n rowIndex: node.rowIndex,\n column: columnModel.getAllDisplayedColumns()[0],\n rowPinned: node.rowPinned,\n forceBrowserFocus: true\n });\n };\n RowCtrl.prototype.onRowClick = function (mouseEvent) {\n var stop = isStopPropagationForAgGrid(mouseEvent) || this.lastMouseDownOnDragger;\n if (stop) {\n return;\n }\n var agEvent = this.createRowEventWithSource(Events.EVENT_ROW_CLICKED, mouseEvent);\n this.beans.eventService.dispatchEvent(agEvent);\n // ctrlKey for windows, metaKey for Apple\n var multiSelectKeyPressed = mouseEvent.ctrlKey || mouseEvent.metaKey;\n var shiftKeyPressed = mouseEvent.shiftKey;\n // we do not allow selecting the group by clicking, when groupSelectChildren, as the logic to\n // handle this is broken. to observe, change the logic below and allow groups to be selected.\n // you will see the group gets selected, then all children get selected, then the grid unselects\n // the children (as the default behaviour when clicking is to unselect other rows) which results\n // in the group getting unselected (as all children are unselected). the correct thing would be\n // to change this, so that children of the selected group are not then subsequenly un-selected.\n var groupSelectsChildren = this.beans.gridOptionsWrapper.isGroupSelectsChildren();\n if (\n // we do not allow selecting groups by clicking (as the click here expands the group), or if it's a detail row,\n // so return if it's a group row\n (groupSelectsChildren && this.rowNode.group) ||\n // this is needed so we don't unselect other rows when we click this row, eg if this row is not selectable,\n // and we click it, the selection should not change (ie any currently selected row should stay selected)\n !this.rowNode.selectable ||\n // we also don't allow selection of pinned rows\n this.rowNode.rowPinned ||\n // if no selection method enabled, do nothing\n !this.beans.gridOptionsWrapper.isRowSelection() ||\n // if click selection suppressed, do nothing\n this.beans.gridOptionsWrapper.isSuppressRowClickSelection()) {\n return;\n }\n var multiSelectOnClick = this.beans.gridOptionsWrapper.isRowMultiSelectWithClick();\n var rowDeselectionWithCtrl = !this.beans.gridOptionsWrapper.isSuppressRowDeselection();\n if (this.rowNode.isSelected()) {\n if (multiSelectOnClick) {\n this.rowNode.setSelectedParams({ newValue: false, event: mouseEvent });\n }\n else if (multiSelectKeyPressed) {\n if (rowDeselectionWithCtrl) {\n this.rowNode.setSelectedParams({ newValue: false, event: mouseEvent });\n }\n }\n else {\n // selected with no multi key, must make sure anything else is unselected\n this.rowNode.setSelectedParams({ newValue: true, clearSelection: !shiftKeyPressed, rangeSelect: shiftKeyPressed, event: mouseEvent });\n }\n }\n else {\n var clearSelection = multiSelectOnClick ? false : !multiSelectKeyPressed;\n this.rowNode.setSelectedParams({ newValue: true, clearSelection: clearSelection, rangeSelect: shiftKeyPressed, event: mouseEvent });\n }\n };\n RowCtrl.prototype.setupDetailRowAutoHeight = function (eDetailGui) {\n var _this = this;\n if (this.rowType !== RowType$1.FullWidthDetail) {\n return;\n }\n if (!this.beans.gridOptionsWrapper.isDetailRowAutoHeight()) {\n return;\n }\n var checkRowSizeFunc = function () {\n var clientHeight = eDetailGui.clientHeight;\n // if the UI is not ready, the height can be 0, which we ignore, as otherwise a flicker will occur\n // as UI goes from the default height, to 0, then to the real height as UI becomes ready. this means\n // it's not possible for have 0 as auto-height, however this is an improbable use case, as even an\n // empty detail grid would still have some styling around it giving at least a few pixels.\n if (clientHeight != null && clientHeight > 0) {\n // we do the update in a timeout, to make sure we are not calling from inside the grid\n // doing another update\n var updateRowHeightFunc = function () {\n _this.rowNode.setRowHeight(clientHeight);\n if (_this.beans.clientSideRowModel) {\n _this.beans.clientSideRowModel.onRowHeightChanged();\n }\n else if (_this.beans.serverSideRowModel) {\n _this.beans.serverSideRowModel.onRowHeightChanged();\n }\n };\n _this.beans.frameworkOverrides.setTimeout(updateRowHeightFunc, 0);\n }\n };\n var resizeObserverDestroyFunc = this.beans.resizeObserverService.observeResize(eDetailGui, checkRowSizeFunc);\n this.addDestroyFunc(resizeObserverDestroyFunc);\n checkRowSizeFunc();\n };\n RowCtrl.prototype.createFullWidthParams = function (eRow, pinned) {\n var _this = this;\n var params = {\n fullWidth: true,\n data: this.rowNode.data,\n node: this.rowNode,\n value: this.rowNode.key,\n valueFormatted: this.rowNode.key,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n // these need to be taken out, as part of 'afterAttached' now\n eGridCell: eRow,\n eParentOfValue: eRow,\n pinned: pinned,\n addRenderedRowListener: this.addEventListener.bind(this),\n registerRowDragger: function (rowDraggerElement, dragStartPixels, value, suppressVisibilityChange) { return _this.addFullWidthRowDragging(rowDraggerElement, dragStartPixels, value, suppressVisibilityChange); }\n };\n return params;\n };\n RowCtrl.prototype.addFullWidthRowDragging = function (rowDraggerElement, dragStartPixels, value, suppressVisibilityChange) {\n if (value === void 0) { value = ''; }\n if (!this.isFullWidth()) {\n return;\n }\n var rowDragComp = new RowDragComp(function () { return value; }, this.rowNode, undefined, rowDraggerElement, dragStartPixels, suppressVisibilityChange);\n this.createManagedBean(rowDragComp, this.beans.context);\n };\n RowCtrl.prototype.onUiLevelChanged = function () {\n var newLevel = this.beans.rowCssClassCalculator.calculateRowLevel(this.rowNode);\n if (this.rowLevel != newLevel) {\n var classToAdd_1 = 'ag-row-level-' + newLevel;\n var classToRemove_1 = 'ag-row-level-' + this.rowLevel;\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass(classToAdd_1, true);\n gui.rowComp.addOrRemoveCssClass(classToRemove_1, false);\n });\n }\n this.rowLevel = newLevel;\n };\n RowCtrl.prototype.isFirstRowOnPage = function () {\n return this.rowNode.rowIndex === this.beans.paginationProxy.getPageFirstRow();\n };\n RowCtrl.prototype.isLastRowOnPage = function () {\n return this.rowNode.rowIndex === this.beans.paginationProxy.getPageLastRow();\n };\n RowCtrl.prototype.onModelUpdated = function () {\n this.refreshFirstAndLastRowStyles();\n };\n RowCtrl.prototype.refreshFirstAndLastRowStyles = function () {\n var newFirst = this.isFirstRowOnPage();\n var newLast = this.isLastRowOnPage();\n if (this.firstRowOnPage !== newFirst) {\n this.firstRowOnPage = newFirst;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-first', newFirst); });\n }\n if (this.lastRowOnPage !== newLast) {\n this.lastRowOnPage = newLast;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-last', newLast); });\n }\n };\n RowCtrl.prototype.stopEditing = function (cancel) {\n var e_1, _a;\n if (cancel === void 0) { cancel = false; }\n // if we are already stopping row edit, there is\n // no need to start this process again.\n if (this.stoppingRowEdit) {\n return;\n }\n var cellControls = this.getAllCellCtrls();\n var isRowEdit = this.editingRow;\n this.stoppingRowEdit = true;\n var fireRowEditEvent = false;\n try {\n for (var cellControls_1 = __values$2(cellControls), cellControls_1_1 = cellControls_1.next(); !cellControls_1_1.done; cellControls_1_1 = cellControls_1.next()) {\n var ctrl = cellControls_1_1.value;\n var valueChanged = ctrl.stopEditing(cancel);\n if (isRowEdit && !cancel && !fireRowEditEvent && valueChanged) {\n fireRowEditEvent = true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (cellControls_1_1 && !cellControls_1_1.done && (_a = cellControls_1.return)) _a.call(cellControls_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (fireRowEditEvent) {\n var event_1 = this.createRowEvent(Events.EVENT_ROW_VALUE_CHANGED);\n this.beans.eventService.dispatchEvent(event_1);\n }\n if (isRowEdit) {\n this.setEditingRow(false);\n }\n this.stoppingRowEdit = false;\n };\n RowCtrl.prototype.setInlineEditingCss = function (editing) {\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass(\"ag-row-inline-editing\", editing);\n gui.rowComp.addOrRemoveCssClass(\"ag-row-not-inline-editing\", !editing);\n });\n };\n RowCtrl.prototype.setEditingRow = function (value) {\n this.editingRow = value;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-editing', value); });\n var event = value ?\n this.createRowEvent(Events.EVENT_ROW_EDITING_STARTED)\n : this.createRowEvent(Events.EVENT_ROW_EDITING_STOPPED);\n this.beans.eventService.dispatchEvent(event);\n };\n RowCtrl.prototype.startRowEditing = function (key, charPress, sourceRenderedCell, event) {\n if (key === void 0) { key = null; }\n if (charPress === void 0) { charPress = null; }\n if (sourceRenderedCell === void 0) { sourceRenderedCell = null; }\n if (event === void 0) { event = null; }\n // don't do it if already editing\n if (this.editingRow) {\n return;\n }\n var atLeastOneEditing = this.getAllCellCtrls().reduce(function (prev, cellCtrl) {\n var cellStartedEdit = cellCtrl === sourceRenderedCell;\n if (cellStartedEdit) {\n cellCtrl.startEditing(key, charPress, cellStartedEdit, event);\n }\n else {\n cellCtrl.startEditing(null, null, cellStartedEdit, event);\n }\n if (prev) {\n return true;\n }\n return cellCtrl.isEditing();\n }, false);\n if (atLeastOneEditing) {\n this.setEditingRow(true);\n }\n };\n RowCtrl.prototype.getAllCellCtrls = function () {\n var res = __spread$d(this.centerCellCtrls.list, this.leftCellCtrls.list, this.rightCellCtrls.list);\n return res;\n };\n RowCtrl.prototype.postProcessClassesFromGridOptions = function () {\n var _this = this;\n var cssClasses = this.beans.rowCssClassCalculator.processClassesFromGridOptions(this.rowNode);\n if (!cssClasses || !cssClasses.length) {\n return;\n }\n cssClasses.forEach(function (classStr) {\n _this.allRowGuis.forEach(function (c) { return c.rowComp.addOrRemoveCssClass(classStr, true); });\n });\n };\n RowCtrl.prototype.postProcessRowClassRules = function () {\n var _this = this;\n this.beans.rowCssClassCalculator.processRowClassRules(this.rowNode, function (className) {\n _this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass(className, true); });\n }, function (className) {\n _this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass(className, false); });\n });\n };\n RowCtrl.prototype.setStylesFromGridOptions = function () {\n var rowStyles = this.processStylesFromGridOptions();\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.setUserStyles(rowStyles); });\n };\n RowCtrl.prototype.getRowBusinessKey = function () {\n var businessKeyForNodeFunc = this.beans.gridOptionsWrapper.getBusinessKeyForNodeFunc();\n if (typeof businessKeyForNodeFunc !== 'function') {\n return;\n }\n return businessKeyForNodeFunc(this.rowNode);\n };\n RowCtrl.prototype.getPinnedForContainer = function (rowContainerType) {\n var pinned = rowContainerType === RowContainerType.LEFT\n ? Constants.PINNED_LEFT\n : rowContainerType === RowContainerType.RIGHT\n ? Constants.PINNED_RIGHT\n : null;\n return pinned;\n };\n RowCtrl.prototype.getInitialRowClasses = function (rowContainerType) {\n var pinned = this.getPinnedForContainer(rowContainerType);\n var params = {\n rowNode: this.rowNode,\n rowFocused: this.rowFocused,\n fadeRowIn: this.fadeRowIn,\n rowIsEven: this.rowNode.rowIndex % 2 === 0,\n rowLevel: this.rowLevel,\n fullWidthRow: this.isFullWidth(),\n firstRowOnPage: this.isFirstRowOnPage(),\n lastRowOnPage: this.isLastRowOnPage(),\n printLayout: this.printLayout,\n expandable: this.rowNode.isExpandable(),\n pinned: pinned\n };\n return this.beans.rowCssClassCalculator.getInitialRowClasses(params);\n };\n RowCtrl.prototype.processStylesFromGridOptions = function () {\n // part 1 - rowStyle\n var rowStyle = this.beans.gridOptionsWrapper.getRowStyle();\n if (rowStyle && typeof rowStyle === 'function') {\n console.warn('AG Grid: rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead');\n return;\n }\n // part 1 - rowStyleFunc\n var rowStyleFunc = this.beans.gridOptionsWrapper.getRowStyleFunc();\n var rowStyleFuncResult;\n if (rowStyleFunc) {\n var params = {\n data: this.rowNode.data,\n node: this.rowNode,\n rowIndex: this.rowNode.rowIndex\n };\n rowStyleFuncResult = rowStyleFunc(params);\n }\n return Object.assign({}, rowStyle, rowStyleFuncResult);\n };\n RowCtrl.prototype.onRowSelected = function () {\n var _this = this;\n // Treat undefined as false, if we pass undefined down it gets treated as toggle class, rather than explicitly\n // setting the required value\n var selected = !!this.rowNode.isSelected();\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass('ag-row-selected', selected);\n setAriaSelected(gui.element, selected ? true : undefined);\n var ariaLabel = _this.createAriaLabel();\n setAriaLabel(gui.element, ariaLabel == null ? '' : ariaLabel);\n });\n };\n RowCtrl.prototype.createAriaLabel = function () {\n var selected = this.rowNode.isSelected();\n if (selected && this.beans.gridOptionsWrapper.isSuppressRowDeselection()) {\n return undefined;\n }\n var translate = this.beans.gridOptionsWrapper.getLocaleTextFunc();\n var label = translate(selected ? 'ariaRowDeselect' : 'ariaRowSelect', \"Press SPACE to \" + (selected ? 'deselect' : 'select') + \" this row.\");\n return label;\n };\n RowCtrl.prototype.isUseAnimationFrameForCreate = function () {\n return this.useAnimationFrameForCreate;\n };\n RowCtrl.prototype.addHoverFunctionality = function (eRow) {\n var _this = this;\n // because we use animation frames to do this, it's possible the row no longer exists\n // by the time we get to add it\n if (!this.active) {\n return;\n }\n // because mouseenter and mouseleave do not propagate, we cannot listen on the gridPanel\n // like we do for all the other mouse events.\n // because of the pinning, we cannot simply add / remove the class based on the eRow. we\n // have to check all eRow's (body & pinned). so the trick is if any of the rows gets a\n // mouse hover, it sets such in the rowNode, and then all three reflect the change as\n // all are listening for event on the row node.\n // step 1 - add listener, to set flag on row node\n this.addManagedListener(eRow, 'mouseenter', function () { return _this.rowNode.onMouseEnter(); });\n this.addManagedListener(eRow, 'mouseleave', function () { return _this.rowNode.onMouseLeave(); });\n // step 2 - listen for changes on row node (which any eRow can trigger)\n this.addManagedListener(this.rowNode, RowNode.EVENT_MOUSE_ENTER, function () {\n // if hover turned off, we don't add the class. we do this here so that if the application\n // toggles this property mid way, we remove the hover form the last row, but we stop\n // adding hovers from that point onwards.\n if (!_this.beans.gridOptionsWrapper.isSuppressRowHoverHighlight()) {\n eRow.classList.add('ag-row-hover');\n }\n });\n this.addManagedListener(this.rowNode, RowNode.EVENT_MOUSE_LEAVE, function () {\n eRow.classList.remove('ag-row-hover');\n });\n };\n // for animation, we don't want to animate entry or exit to a very far away pixel,\n // otherwise the row would move so fast, it would appear to disappear. so this method\n // moves the row closer to the viewport if it is far away, so the row slide in / out\n // at a speed the user can see.\n RowCtrl.prototype.roundRowTopToBounds = function (rowTop) {\n var gridBodyCon = this.beans.ctrlsService.getGridBodyCtrl();\n var range = gridBodyCon.getScrollFeature().getVScrollPosition();\n var minPixel = this.applyPaginationOffset(range.top, true) - 100;\n var maxPixel = this.applyPaginationOffset(range.bottom, true) + 100;\n return Math.min(Math.max(minPixel, rowTop), maxPixel);\n };\n RowCtrl.prototype.getFrameworkOverrides = function () {\n return this.beans.frameworkOverrides;\n };\n RowCtrl.prototype.onRowHeightChanged = function () {\n // check for exists first - if the user is resetting the row height, then\n // it will be null (or undefined) momentarily until the next time the flatten\n // stage is called where the row will then update again with a new height\n if (this.rowNode.rowHeight == null) {\n return;\n }\n var rowHeight = this.rowNode.rowHeight;\n var defaultRowHeight = this.beans.gridOptionsWrapper.getDefaultRowHeight();\n var isHeightFromFunc = this.beans.gridOptionsWrapper.isGetRowHeightFunction();\n var heightFromFunc = isHeightFromFunc ? this.beans.gridOptionsWrapper.getRowHeightForNode(this.rowNode).height : undefined;\n var lineHeight = heightFromFunc ? Math.min(defaultRowHeight, heightFromFunc) - 2 + \"px\" : undefined;\n this.allRowGuis.forEach(function (gui) {\n gui.element.style.height = rowHeight + \"px\";\n // If the row height is coming from a function, this means some rows can\n // be smaller than the theme had intended. so we set --ag-line-height on\n // the row, which is picked up by the theme CSS and is used in a calc\n // for the CSS line-height property, which makes sure the line-height is\n // not bigger than the row height, otherwise the row text would not fit.\n // We do not use rowNode.rowHeight here, as this could be the result of autoHeight,\n // and we found using the autoHeight result causes a loop, where changing the\n // line-height them impacts the cell height, resulting in a new autoHeight,\n // resulting in a new line-height and so on loop.\n // const heightFromFunc = this.beans.gridOptionsWrapper.getRowHeightForNode(this.rowNode).height;\n if (lineHeight) {\n gui.element.style.setProperty('--ag-line-height', lineHeight);\n }\n });\n };\n RowCtrl.prototype.addEventListener = function (eventType, listener) {\n if (eventType === 'renderedRowRemoved' || eventType === 'rowRemoved') {\n eventType = Events.EVENT_VIRTUAL_ROW_REMOVED;\n console.warn('AG Grid: Since version 11, event renderedRowRemoved is now called ' + Events.EVENT_VIRTUAL_ROW_REMOVED);\n }\n _super.prototype.addEventListener.call(this, eventType, listener);\n };\n RowCtrl.prototype.removeEventListener = function (eventType, listener) {\n if (eventType === 'renderedRowRemoved' || eventType === 'rowRemoved') {\n eventType = Events.EVENT_VIRTUAL_ROW_REMOVED;\n console.warn('AG Grid: Since version 11, event renderedRowRemoved and rowRemoved is now called ' + Events.EVENT_VIRTUAL_ROW_REMOVED);\n }\n _super.prototype.removeEventListener.call(this, eventType, listener);\n };\n // note - this is NOT called by context, as we don't wire / unwire the CellComp for performance reasons.\n RowCtrl.prototype.destroyFirstPass = function () {\n this.active = false;\n // why do we have this method? shouldn't everything below be added as a destroy func beside\n // the corresponding create logic?\n this.setupRemoveAnimation();\n var event = this.createRowEvent(Events.EVENT_VIRTUAL_ROW_REMOVED);\n this.dispatchEvent(event);\n this.beans.eventService.dispatchEvent(event);\n _super.prototype.destroy.call(this);\n };\n RowCtrl.prototype.setupRemoveAnimation = function () {\n // we don't animate sticky rows\n if (this.isSticky()) {\n return;\n }\n var rowStillVisibleJustNotInViewport = this.rowNode.rowTop != null;\n if (rowStillVisibleJustNotInViewport) {\n // if the row is not rendered, but in viewport, it means it has moved,\n // so we animate the row out. if the new location is very far away,\n // the animation will be so fast the row will look like it's just disappeared,\n // so instead we animate to a position just outside the viewport.\n var rowTop = this.roundRowTopToBounds(this.rowNode.rowTop);\n this.setRowTop(rowTop);\n }\n else {\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-opacity-zero', true); });\n }\n };\n RowCtrl.prototype.destroySecondPass = function () {\n this.allRowGuis.length = 0;\n var destroyCellCtrls = function (ctrls) {\n ctrls.list.forEach(function (c) { return c.destroy(); });\n return { list: [], map: {} };\n };\n this.centerCellCtrls = destroyCellCtrls(this.centerCellCtrls);\n this.leftCellCtrls = destroyCellCtrls(this.leftCellCtrls);\n this.rightCellCtrls = destroyCellCtrls(this.rightCellCtrls);\n };\n RowCtrl.prototype.setFocusedClasses = function () {\n var _this = this;\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass('ag-row-focus', _this.rowFocused);\n gui.rowComp.addOrRemoveCssClass('ag-row-no-focus', !_this.rowFocused);\n });\n };\n RowCtrl.prototype.onCellFocusChanged = function () {\n var rowFocused = this.beans.focusService.isRowFocused(this.rowNode.rowIndex, this.rowNode.rowPinned);\n if (rowFocused !== this.rowFocused) {\n this.rowFocused = rowFocused;\n this.setFocusedClasses();\n }\n // if we are editing, then moving the focus out of a row will stop editing\n if (!rowFocused && this.editingRow) {\n this.stopEditing(false);\n }\n };\n RowCtrl.prototype.onPaginationChanged = function () {\n var currentPage = this.beans.paginationProxy.getCurrentPage();\n // it is possible this row is in the new page, but the page number has changed, which means\n // it needs to reposition itself relative to the new page\n if (this.paginationPage !== currentPage) {\n this.paginationPage = currentPage;\n this.onTopChanged();\n }\n this.refreshFirstAndLastRowStyles();\n };\n RowCtrl.prototype.onTopChanged = function () {\n this.setRowTop(this.rowNode.rowTop);\n };\n RowCtrl.prototype.onPaginationPixelOffsetChanged = function () {\n // the pixel offset is used when calculating rowTop to set on the row DIV\n this.onTopChanged();\n };\n // applies pagination offset, eg if on second page, and page height is 500px, then removes\n // 500px from the top position, so a row with rowTop 600px is displayed at location 100px.\n // reverse will take the offset away rather than add.\n RowCtrl.prototype.applyPaginationOffset = function (topPx, reverse) {\n if (reverse === void 0) { reverse = false; }\n if (this.rowNode.isRowPinned()) {\n return topPx;\n }\n var pixelOffset = this.beans.paginationProxy.getPixelOffset();\n var multiplier = reverse ? 1 : -1;\n return topPx + (pixelOffset * multiplier);\n };\n RowCtrl.prototype.setRowTop = function (pixels) {\n // print layout uses normal flow layout for row positioning\n if (this.printLayout) {\n return;\n }\n // need to make sure rowTop is not null, as this can happen if the node was once\n // visible (ie parent group was expanded) but is now not visible\n if (exists(pixels)) {\n var afterPaginationPixels = this.applyPaginationOffset(pixels);\n var afterScalingPixels = this.rowNode.isRowPinned() ? afterPaginationPixels : this.beans.rowContainerHeightService.getRealPixelPosition(afterPaginationPixels);\n var topPx = afterScalingPixels + \"px\";\n this.setRowTopStyle(topPx);\n }\n };\n // the top needs to be set into the DOM element when the element is created, not updated afterwards.\n // otherwise the transition would not work, as it would be transitioning from zero (the unset value).\n // for example, suppose a row that is outside the viewport, then user does a filter to remove other rows\n // and this row now appears in the viewport, and the row moves up (ie it was under the viewport and not rendered,\n // but now is in the viewport) then a new RowComp is created, however it should have it's position initialised\n // to below the viewport, so the row will appear to animate up. if we didn't set the initial position at creation\n // time, the row would animate down (ie from position zero).\n RowCtrl.prototype.getInitialRowTop = function () {\n var suppressRowTransform = this.beans.gridOptionsWrapper.isSuppressRowTransform();\n return suppressRowTransform ? this.getInitialRowTopShared() : undefined;\n };\n RowCtrl.prototype.getInitialTransform = function () {\n var suppressRowTransform = this.beans.gridOptionsWrapper.isSuppressRowTransform();\n return suppressRowTransform ? undefined : \"translateY(\" + this.getInitialRowTopShared() + \")\";\n };\n RowCtrl.prototype.getInitialRowTopShared = function () {\n // print layout uses normal flow layout for row positioning\n if (this.printLayout) {\n return '';\n }\n var rowTop;\n if (this.isSticky()) {\n rowTop = this.rowNode.stickyRowTop;\n }\n else {\n // if sliding in, we take the old row top. otherwise we just set the current row top.\n var pixels = this.slideRowIn ? this.roundRowTopToBounds(this.rowNode.oldRowTop) : this.rowNode.rowTop;\n var afterPaginationPixels = this.applyPaginationOffset(pixels);\n // we don't apply scaling if row is pinned\n rowTop = this.rowNode.isRowPinned() ? afterPaginationPixels : this.beans.rowContainerHeightService.getRealPixelPosition(afterPaginationPixels);\n }\n return rowTop + 'px';\n };\n RowCtrl.prototype.setRowTopStyle = function (topPx) {\n var suppressRowTransform = this.beans.gridOptionsWrapper.isSuppressRowTransform();\n this.allRowGuis.forEach(function (gui) { return suppressRowTransform ?\n gui.rowComp.setTop(topPx) :\n gui.rowComp.setTransform(\"translateY(\" + topPx + \")\"); });\n };\n RowCtrl.prototype.getRowNode = function () {\n return this.rowNode;\n };\n RowCtrl.prototype.getCellCtrl = function (column) {\n // first up, check for cell directly linked to this column\n var res = null;\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.getColumn() == column) {\n res = cellCtrl;\n }\n });\n if (res != null) {\n return res;\n }\n // second up, if not found, then check for spanned cols.\n // we do this second (and not at the same time) as this is\n // more expensive, as spanning cols is a\n // infrequently used feature so we don't need to do this most\n // of the time\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.getColSpanningList().indexOf(column) >= 0) {\n res = cellCtrl;\n }\n });\n return res;\n };\n RowCtrl.prototype.onRowIndexChanged = function () {\n // we only bother updating if the rowIndex is present. if it is not present, it means this row\n // is child of a group node, and the group node was closed, it's the only way to have no row index.\n // when this happens, row is about to be de-rendered, so we don't care, rowComp is about to die!\n if (this.rowNode.rowIndex != null) {\n this.onCellFocusChanged();\n this.updateRowIndexes();\n this.postProcessCss();\n }\n };\n RowCtrl.prototype.updateRowIndexes = function () {\n var rowIndexStr = this.rowNode.getRowIndexString();\n var headerRowCount = this.beans.headerNavigationService.getHeaderRowCount();\n var rowIsEven = this.rowNode.rowIndex % 2 === 0;\n var ariaRowIndex = headerRowCount + this.rowNode.rowIndex + 1;\n this.allRowGuis.forEach(function (c) {\n c.rowComp.setRowIndex(rowIndexStr);\n c.rowComp.addOrRemoveCssClass('ag-row-even', rowIsEven);\n c.rowComp.addOrRemoveCssClass('ag-row-odd', !rowIsEven);\n setAriaRowIndex(c.element, ariaRowIndex);\n });\n };\n // returns the pinned left container, either the normal one, or the embedded full with one if exists\n RowCtrl.prototype.getPinnedLeftRowElement = function () {\n return this.leftGui ? this.leftGui.element : undefined;\n };\n // returns the pinned right container, either the normal one, or the embedded full with one if exists\n RowCtrl.prototype.getPinnedRightRowElement = function () {\n return this.rightGui ? this.rightGui.element : undefined;\n };\n // returns the body container, either the normal one, or the embedded full with one if exists\n RowCtrl.prototype.getBodyRowElement = function () {\n return this.centerGui ? this.centerGui.element : undefined;\n };\n // returns the full width container\n RowCtrl.prototype.getFullWidthRowElement = function () {\n return this.fullWidthGui ? this.fullWidthGui.element : undefined;\n };\n RowCtrl.DOM_DATA_KEY_ROW_CTRL = 'renderedRow';\n return RowCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1T = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1M = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$g = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar RowContainerEventsFeature = /** @class */ (function (_super) {\n __extends$1T(RowContainerEventsFeature, _super);\n function RowContainerEventsFeature(element) {\n var _this = _super.call(this) || this;\n _this.element = element;\n return _this;\n }\n RowContainerEventsFeature.prototype.postConstruct = function () {\n this.addMouseListeners();\n this.mockContextMenuForIPad();\n this.addKeyboardEvents();\n };\n RowContainerEventsFeature.prototype.addKeyboardEvents = function () {\n var _this = this;\n var eventNames = ['keydown', 'keypress'];\n eventNames.forEach(function (eventName) {\n var listener = _this.processKeyboardEvent.bind(_this, eventName);\n _this.addManagedListener(_this.element, eventName, listener);\n });\n };\n RowContainerEventsFeature.prototype.addMouseListeners = function () {\n var _this = this;\n var mouseDownEvent = isEventSupported('touchstart') ? 'touchstart' : 'mousedown';\n var eventNames = ['dblclick', 'contextmenu', 'mouseover', 'mouseout', 'click', mouseDownEvent];\n eventNames.forEach(function (eventName) {\n var listener = _this.processMouseEvent.bind(_this, eventName);\n _this.addManagedListener(_this.element, eventName, listener);\n });\n };\n RowContainerEventsFeature.prototype.processMouseEvent = function (eventName, mouseEvent) {\n if (!this.mouseEventService.isEventFromThisGrid(mouseEvent) ||\n isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n var rowComp = this.getRowForEvent(mouseEvent);\n var cellCtrl = this.mouseEventService.getRenderedCellForEvent(mouseEvent);\n if (eventName === \"contextmenu\") {\n this.handleContextMenuMouseEvent(mouseEvent, null, rowComp, cellCtrl);\n }\n else {\n if (cellCtrl) {\n cellCtrl.onMouseEvent(eventName, mouseEvent);\n }\n if (rowComp) {\n rowComp.onMouseEvent(eventName, mouseEvent);\n }\n }\n };\n RowContainerEventsFeature.prototype.mockContextMenuForIPad = function () {\n var _this = this;\n // we do NOT want this when not in iPad, otherwise we will be doing\n if (!isIOSUserAgent()) {\n return;\n }\n var touchListener = new TouchListener(this.element);\n var longTapListener = function (event) {\n var rowComp = _this.getRowForEvent(event.touchEvent);\n var cellComp = _this.mouseEventService.getRenderedCellForEvent(event.touchEvent);\n _this.handleContextMenuMouseEvent(null, event.touchEvent, rowComp, cellComp);\n };\n this.addManagedListener(touchListener, TouchListener.EVENT_LONG_TAP, longTapListener);\n this.addDestroyFunc(function () { return touchListener.destroy(); });\n };\n RowContainerEventsFeature.prototype.getRowForEvent = function (event) {\n var sourceElement = event.target;\n while (sourceElement) {\n var rowCon = this.gridOptionsWrapper.getDomData(sourceElement, RowCtrl.DOM_DATA_KEY_ROW_CTRL);\n if (rowCon) {\n return rowCon;\n }\n sourceElement = sourceElement.parentElement;\n }\n return null;\n };\n RowContainerEventsFeature.prototype.handleContextMenuMouseEvent = function (mouseEvent, touchEvent, rowComp, cellCtrl) {\n var rowNode = rowComp ? rowComp.getRowNode() : null;\n var column = cellCtrl ? cellCtrl.getColumn() : null;\n var value = null;\n if (column) {\n var event_1 = mouseEvent ? mouseEvent : touchEvent;\n cellCtrl.dispatchCellContextMenuEvent(event_1);\n value = this.valueService.getValue(column, rowNode);\n }\n // if user clicked on a cell, anchor to that cell, otherwise anchor to the grid panel\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var anchorToElement = cellCtrl ? cellCtrl.getGui() : gridBodyCon.getGridBodyElement();\n if (this.contextMenuFactory) {\n this.contextMenuFactory.onContextMenu(mouseEvent, touchEvent, rowNode, column, value, anchorToElement);\n }\n };\n RowContainerEventsFeature.prototype.processKeyboardEvent = function (eventName, keyboardEvent) {\n var cellComp = getCtrlForEvent(this.gridOptionsWrapper, keyboardEvent, CellCtrl.DOM_DATA_KEY_CELL_CTRL);\n var rowComp = getCtrlForEvent(this.gridOptionsWrapper, keyboardEvent, RowCtrl.DOM_DATA_KEY_ROW_CTRL);\n if (keyboardEvent.defaultPrevented) {\n return;\n }\n if (cellComp) {\n this.processCellKeyboardEvent(cellComp, eventName, keyboardEvent);\n }\n else if (rowComp && rowComp.isFullWidth()) {\n this.processFullWidthRowKeyboardEvent(rowComp, eventName, keyboardEvent);\n }\n };\n RowContainerEventsFeature.prototype.processCellKeyboardEvent = function (cellCtrl, eventName, keyboardEvent) {\n var rowNode = cellCtrl.getRowNode();\n var column = cellCtrl.getColumn();\n var editing = cellCtrl.isEditing();\n var gridProcessingAllowed = !isUserSuppressingKeyboardEvent(this.gridOptionsWrapper, keyboardEvent, rowNode, column, editing);\n if (gridProcessingAllowed) {\n switch (eventName) {\n case 'keydown':\n // first see if it's a scroll key, page up / down, home / end etc\n var wasScrollKey = !editing && this.navigationService.handlePageScrollingKey(keyboardEvent);\n // if not a scroll key, then we pass onto cell\n if (!wasScrollKey) {\n cellCtrl.onKeyDown(keyboardEvent);\n }\n // perform clipboard and undo / redo operations\n this.doGridOperations(keyboardEvent, cellCtrl.isEditing());\n break;\n case 'keypress':\n cellCtrl.onKeyPress(keyboardEvent);\n break;\n }\n }\n if (eventName === 'keydown') {\n var cellKeyDownEvent = cellCtrl.createEvent(keyboardEvent, Events.EVENT_CELL_KEY_DOWN);\n this.eventService.dispatchEvent(cellKeyDownEvent);\n }\n if (eventName === 'keypress') {\n var cellKeyPressEvent = cellCtrl.createEvent(keyboardEvent, Events.EVENT_CELL_KEY_PRESS);\n this.eventService.dispatchEvent(cellKeyPressEvent);\n }\n };\n RowContainerEventsFeature.prototype.processFullWidthRowKeyboardEvent = function (rowComp, eventName, keyboardEvent) {\n var rowNode = rowComp.getRowNode();\n var focusedCell = this.focusService.getFocusedCell();\n var column = (focusedCell && focusedCell.column);\n var gridProcessingAllowed = !isUserSuppressingKeyboardEvent(this.gridOptionsWrapper, keyboardEvent, rowNode, column, false);\n if (gridProcessingAllowed) {\n var key = keyboardEvent.key;\n if (eventName === 'keydown') {\n switch (key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n rowComp.onKeyboardNavigate(keyboardEvent);\n break;\n case KeyCode.TAB:\n rowComp.onTabKeyDown(keyboardEvent);\n }\n }\n }\n if (eventName === 'keydown') {\n var cellKeyDownEvent = rowComp.createRowEvent(Events.EVENT_CELL_KEY_DOWN, keyboardEvent);\n this.eventService.dispatchEvent(cellKeyDownEvent);\n }\n if (eventName === 'keypress') {\n var cellKeyPressEvent = rowComp.createRowEvent(Events.EVENT_CELL_KEY_PRESS, keyboardEvent);\n this.eventService.dispatchEvent(cellKeyPressEvent);\n }\n };\n RowContainerEventsFeature.prototype.doGridOperations = function (keyboardEvent, editing) {\n // check if ctrl or meta key pressed\n if (!keyboardEvent.ctrlKey && !keyboardEvent.metaKey) {\n return;\n }\n // if the cell the event came from is editing, then we do not\n // want to do the default shortcut keys, otherwise the editor\n // (eg a text field) would not be able to do the normal cut/copy/paste\n if (editing) {\n return;\n }\n // for copy / paste, we don't want to execute when the event\n // was from a child grid (happens in master detail)\n if (!this.mouseEventService.isEventFromThisGrid(keyboardEvent)) {\n return;\n }\n var keyCode = normaliseQwertyAzerty(keyboardEvent);\n if (keyCode === KeyCode.A) {\n return this.onCtrlAndA(keyboardEvent);\n }\n if (keyCode === KeyCode.C) {\n return this.onCtrlAndC(keyboardEvent);\n }\n if (keyCode === KeyCode.V) {\n return this.onCtrlAndV();\n }\n if (keyCode === KeyCode.D) {\n return this.onCtrlAndD(keyboardEvent);\n }\n if (keyCode === KeyCode.Z) {\n return this.onCtrlAndZ(keyboardEvent);\n }\n if (keyCode === KeyCode.Y) {\n return this.onCtrlAndY();\n }\n };\n RowContainerEventsFeature.prototype.onCtrlAndA = function (event) {\n var _a = this, pinnedRowModel = _a.pinnedRowModel, paginationProxy = _a.paginationProxy, rangeService = _a.rangeService;\n var PINNED_BOTTOM = Constants.PINNED_BOTTOM, PINNED_TOP = Constants.PINNED_TOP;\n if (rangeService && paginationProxy.isRowsToRender()) {\n var _b = __read$g([\n pinnedRowModel.isEmpty(PINNED_TOP),\n pinnedRowModel.isEmpty(PINNED_BOTTOM)\n ], 2), isEmptyPinnedTop = _b[0], isEmptyPinnedBottom = _b[1];\n var floatingStart = isEmptyPinnedTop ? null : PINNED_TOP;\n var floatingEnd = void 0;\n var rowEnd = void 0;\n if (isEmptyPinnedBottom) {\n floatingEnd = null;\n rowEnd = this.paginationProxy.getRowCount() - 1;\n }\n else {\n floatingEnd = PINNED_BOTTOM;\n rowEnd = pinnedRowModel.getPinnedBottomRowData().length - 1;\n }\n var allDisplayedColumns = this.columnModel.getAllDisplayedColumns();\n if (missingOrEmpty(allDisplayedColumns)) {\n return;\n }\n rangeService.setCellRange({\n rowStartIndex: 0,\n rowStartPinned: floatingStart,\n rowEndIndex: rowEnd,\n rowEndPinned: floatingEnd,\n columnStart: allDisplayedColumns[0],\n columnEnd: last(allDisplayedColumns)\n });\n }\n event.preventDefault();\n };\n RowContainerEventsFeature.prototype.onCtrlAndC = function (event) {\n if (!this.clipboardService || this.gridOptionsWrapper.isEnableCellTextSelection()) {\n return;\n }\n this.clipboardService.copyToClipboard();\n event.preventDefault();\n };\n RowContainerEventsFeature.prototype.onCtrlAndV = function () {\n if (ModuleRegistry.isRegistered(ModuleNames.ClipboardModule) && !this.gridOptionsWrapper.isSuppressClipboardPaste()) {\n this.clipboardService.pasteFromClipboard();\n }\n };\n RowContainerEventsFeature.prototype.onCtrlAndD = function (event) {\n if (ModuleRegistry.isRegistered(ModuleNames.ClipboardModule) && !this.gridOptionsWrapper.isSuppressClipboardPaste()) {\n this.clipboardService.copyRangeDown();\n }\n event.preventDefault();\n };\n RowContainerEventsFeature.prototype.onCtrlAndZ = function (event) {\n if (!this.gridOptionsWrapper.isUndoRedoCellEditing()) {\n return;\n }\n event.preventDefault();\n if (event.shiftKey) {\n this.undoRedoService.redo();\n }\n else {\n this.undoRedoService.undo();\n }\n };\n RowContainerEventsFeature.prototype.onCtrlAndY = function () {\n this.undoRedoService.redo();\n };\n __decorate$1M([\n Autowired('mouseEventService')\n ], RowContainerEventsFeature.prototype, \"mouseEventService\", void 0);\n __decorate$1M([\n Autowired('valueService')\n ], RowContainerEventsFeature.prototype, \"valueService\", void 0);\n __decorate$1M([\n Optional('contextMenuFactory')\n ], RowContainerEventsFeature.prototype, \"contextMenuFactory\", void 0);\n __decorate$1M([\n Autowired('ctrlsService')\n ], RowContainerEventsFeature.prototype, \"ctrlsService\", void 0);\n __decorate$1M([\n Autowired('navigationService')\n ], RowContainerEventsFeature.prototype, \"navigationService\", void 0);\n __decorate$1M([\n Autowired('focusService')\n ], RowContainerEventsFeature.prototype, \"focusService\", void 0);\n __decorate$1M([\n Autowired('undoRedoService')\n ], RowContainerEventsFeature.prototype, \"undoRedoService\", void 0);\n __decorate$1M([\n Autowired('columnModel')\n ], RowContainerEventsFeature.prototype, \"columnModel\", void 0);\n __decorate$1M([\n Autowired('paginationProxy')\n ], RowContainerEventsFeature.prototype, \"paginationProxy\", void 0);\n __decorate$1M([\n Autowired('pinnedRowModel')\n ], RowContainerEventsFeature.prototype, \"pinnedRowModel\", void 0);\n __decorate$1M([\n Optional('rangeService')\n ], RowContainerEventsFeature.prototype, \"rangeService\", void 0);\n __decorate$1M([\n Optional('clipboardService')\n ], RowContainerEventsFeature.prototype, \"clipboardService\", void 0);\n __decorate$1M([\n PostConstruct\n ], RowContainerEventsFeature.prototype, \"postConstruct\", null);\n return RowContainerEventsFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1S = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1L = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// listens to changes in the center viewport size, for column and row virtualisation,\n// and adjusts grid as necessary. there are two viewports, one for horizontal and one for\n// vertical scrolling.\nvar ViewportSizeFeature = /** @class */ (function (_super) {\n __extends$1S(ViewportSizeFeature, _super);\n function ViewportSizeFeature(centerContainerCtrl) {\n var _this = _super.call(this) || this;\n _this.centerContainerCtrl = centerContainerCtrl;\n return _this;\n }\n ViewportSizeFeature.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCtrl = _this.ctrlsService.getGridBodyCtrl();\n _this.listenForResize();\n });\n this.addManagedListener(this.eventService, Events.EVENT_SCROLLBAR_WIDTH_CHANGED, this.onScrollbarWidthChanged.bind(this));\n };\n ViewportSizeFeature.prototype.listenForResize = function () {\n var _this = this;\n var listener = function () { return _this.onCenterViewportResized(); };\n // centerContainer gets horizontal resizes\n this.centerContainerCtrl.registerViewportResizeListener(listener);\n // eBodyViewport gets vertical resizes\n this.gridBodyCtrl.registerBodyViewportResizeListener(listener);\n };\n ViewportSizeFeature.prototype.onScrollbarWidthChanged = function () {\n this.checkViewportAndScrolls();\n };\n ViewportSizeFeature.prototype.onCenterViewportResized = function () {\n if (this.centerContainerCtrl.isViewportVisible()) {\n this.checkViewportAndScrolls();\n var newWidth = this.centerContainerCtrl.getCenterWidth();\n if (newWidth !== this.centerWidth) {\n this.centerWidth = newWidth;\n this.columnModel.refreshFlexedColumns({ viewportWidth: this.centerWidth, updateBodyWidths: true, fireResizedEvent: true });\n }\n }\n else {\n this.bodyHeight = 0;\n }\n };\n // gets called every time the viewport size changes. we use this to check visibility of scrollbars\n // in the grid panel, and also to check size and position of viewport for row and column virtualisation.\n ViewportSizeFeature.prototype.checkViewportAndScrolls = function () {\n // results in updating anything that depends on scroll showing\n this.updateScrollVisibleService();\n // fires event if height changes, used by PaginationService, HeightScalerService, RowRenderer\n this.checkBodyHeight();\n // check for virtual columns for ColumnController\n this.onHorizontalViewportChanged();\n this.gridBodyCtrl.getScrollFeature().checkScrollLeft();\n };\n ViewportSizeFeature.prototype.getBodyHeight = function () {\n return this.bodyHeight;\n };\n ViewportSizeFeature.prototype.checkBodyHeight = function () {\n var eBodyViewport = this.gridBodyCtrl.getBodyViewportElement();\n var bodyHeight = getInnerHeight(eBodyViewport);\n if (this.bodyHeight !== bodyHeight) {\n this.bodyHeight = bodyHeight;\n var event_1 = {\n type: Events.EVENT_BODY_HEIGHT_CHANGED\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n ViewportSizeFeature.prototype.updateScrollVisibleService = function () {\n // because of column animation (which takes 200ms), we have to do this twice.\n // eg if user removes cols anywhere except at the RHS, then the cols on the RHS\n // will animate to the left to fill the gap. this animation means just after\n // the cols are removed, the remaining cols are still in the original location\n // at the start of the animation, so pre animation the H scrollbar is still needed,\n // but post animation it is not.\n this.updateScrollVisibleServiceImpl();\n setTimeout(this.updateScrollVisibleServiceImpl.bind(this), 500);\n };\n ViewportSizeFeature.prototype.updateScrollVisibleServiceImpl = function () {\n var params = {\n horizontalScrollShowing: this.isHorizontalScrollShowing(),\n verticalScrollShowing: this.gridBodyCtrl.isVerticalScrollShowing()\n };\n this.scrollVisibleService.setScrollsVisible(params);\n // fix - gridComp should just listen to event from above\n this.gridBodyCtrl.setVerticalScrollPaddingVisible(params.verticalScrollShowing);\n };\n ViewportSizeFeature.prototype.isHorizontalScrollShowing = function () {\n var isAlwaysShowHorizontalScroll = this.gridOptionsWrapper.isAlwaysShowHorizontalScroll();\n return isAlwaysShowHorizontalScroll || this.centerContainerCtrl.isViewportHScrollShowing();\n };\n // this gets called whenever a change in the viewport, so we can inform column controller it has to work\n // out the virtual columns again. gets called from following locations:\n // + ensureColVisible, scroll, init, layoutChanged, displayedColumnsChanged, API (doLayout)\n ViewportSizeFeature.prototype.onHorizontalViewportChanged = function () {\n var scrollWidth = this.centerContainerCtrl.getCenterWidth();\n var scrollPosition = this.centerContainerCtrl.getViewportScrollLeft();\n this.columnModel.setViewportPosition(scrollWidth, scrollPosition);\n };\n __decorate$1L([\n Autowired('ctrlsService')\n ], ViewportSizeFeature.prototype, \"ctrlsService\", void 0);\n __decorate$1L([\n Autowired('columnModel')\n ], ViewportSizeFeature.prototype, \"columnModel\", void 0);\n __decorate$1L([\n Autowired('scrollVisibleService')\n ], ViewportSizeFeature.prototype, \"scrollVisibleService\", void 0);\n __decorate$1L([\n PostConstruct\n ], ViewportSizeFeature.prototype, \"postConstruct\", null);\n return ViewportSizeFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1R = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1K = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetPinnedLeftWidthFeature = /** @class */ (function (_super) {\n __extends$1R(SetPinnedLeftWidthFeature, _super);\n function SetPinnedLeftWidthFeature(element) {\n var _this = _super.call(this) || this;\n _this.element = element;\n return _this;\n }\n SetPinnedLeftWidthFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_LEFT_PINNED_WIDTH_CHANGED, this.onPinnedLeftWidthChanged.bind(this));\n };\n SetPinnedLeftWidthFeature.prototype.onPinnedLeftWidthChanged = function () {\n var leftWidth = this.pinnedWidthService.getPinnedLeftWidth();\n var displayed = leftWidth > 0;\n setDisplayed(this.element, displayed);\n if (displayed) {\n setFixedWidth(this.element, leftWidth);\n }\n };\n __decorate$1K([\n Autowired('pinnedWidthService')\n ], SetPinnedLeftWidthFeature.prototype, \"pinnedWidthService\", void 0);\n __decorate$1K([\n PostConstruct\n ], SetPinnedLeftWidthFeature.prototype, \"postConstruct\", null);\n return SetPinnedLeftWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1Q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1J = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetPinnedRightWidthFeature = /** @class */ (function (_super) {\n __extends$1Q(SetPinnedRightWidthFeature, _super);\n function SetPinnedRightWidthFeature(element) {\n var _this = _super.call(this) || this;\n _this.element = element;\n return _this;\n }\n SetPinnedRightWidthFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED, this.onPinnedRightWidthChanged.bind(this));\n };\n SetPinnedRightWidthFeature.prototype.onPinnedRightWidthChanged = function () {\n var rightWidth = this.pinnedWidthService.getPinnedRightWidth();\n var displayed = rightWidth > 0;\n setDisplayed(this.element, displayed);\n if (displayed) {\n setFixedWidth(this.element, rightWidth);\n }\n };\n __decorate$1J([\n Autowired('pinnedWidthService')\n ], SetPinnedRightWidthFeature.prototype, \"pinnedWidthService\", void 0);\n __decorate$1J([\n PostConstruct\n ], SetPinnedRightWidthFeature.prototype, \"postConstruct\", null);\n return SetPinnedRightWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1P = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetHeightFeature = /** @class */ (function (_super) {\n __extends$1P(SetHeightFeature, _super);\n function SetHeightFeature(eContainer, eWrapper) {\n var _this = _super.call(this) || this;\n _this.eContainer = eContainer;\n _this.eWrapper = eWrapper;\n return _this;\n }\n SetHeightFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED, this.onHeightChanged.bind(this));\n };\n SetHeightFeature.prototype.onHeightChanged = function () {\n var height = this.maxDivHeightScaler.getUiContainerHeight();\n var heightString = height != null ? height + \"px\" : \"\";\n this.eContainer.style.height = heightString;\n if (this.eWrapper) {\n this.eWrapper.style.height = heightString;\n }\n };\n __decorate$1I([\n Autowired(\"rowContainerHeightService\")\n ], SetHeightFeature.prototype, \"maxDivHeightScaler\", void 0);\n __decorate$1I([\n PostConstruct\n ], SetHeightFeature.prototype, \"postConstruct\", null);\n return SetHeightFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1O = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DragListenerFeature = /** @class */ (function (_super) {\n __extends$1O(DragListenerFeature, _super);\n function DragListenerFeature(eContainer) {\n var _this = _super.call(this) || this;\n _this.eContainer = eContainer;\n return _this;\n }\n DragListenerFeature.prototype.postConstruct = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isEnableRangeSelection() || // no range selection if no property\n missing(this.rangeService) // no range selection if not enterprise version\n ) {\n return;\n }\n var params = {\n eElement: this.eContainer,\n onDragStart: this.rangeService.onDragStart.bind(this.rangeService),\n onDragStop: this.rangeService.onDragStop.bind(this.rangeService),\n onDragging: this.rangeService.onDragging.bind(this.rangeService)\n };\n this.dragService.addDragSource(params);\n this.addDestroyFunc(function () { return _this.dragService.removeDragSource(params); });\n };\n __decorate$1H([\n Optional('rangeService')\n ], DragListenerFeature.prototype, \"rangeService\", void 0);\n __decorate$1H([\n Autowired('dragService')\n ], DragListenerFeature.prototype, \"dragService\", void 0);\n __decorate$1H([\n PostConstruct\n ], DragListenerFeature.prototype, \"postConstruct\", null);\n return DragListenerFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1N = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CenterWidthFeature = /** @class */ (function (_super) {\n __extends$1N(CenterWidthFeature, _super);\n function CenterWidthFeature(callback) {\n var _this = _super.call(this) || this;\n _this.callback = callback;\n return _this;\n }\n CenterWidthFeature.prototype.postConstruct = function () {\n var listener = this.setWidth.bind(this);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, listener);\n this.setWidth();\n };\n CenterWidthFeature.prototype.setWidth = function () {\n var columnModel = this.columnModel;\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var centerWidth = columnModel.getBodyContainerWidth();\n var leftWidth = columnModel.getDisplayedColumnsLeftWidth();\n var rightWidth = columnModel.getDisplayedColumnsRightWidth();\n var totalWidth = printLayout ? centerWidth + leftWidth + rightWidth : centerWidth;\n this.callback(totalWidth);\n };\n __decorate$1G([\n Autowired('columnModel')\n ], CenterWidthFeature.prototype, \"columnModel\", void 0);\n __decorate$1G([\n PostConstruct\n ], CenterWidthFeature.prototype, \"postConstruct\", null);\n return CenterWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1M = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$f = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$c = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$f(arguments[i]));\n return ar;\n};\nvar RowContainerName;\n(function (RowContainerName) {\n RowContainerName[\"LEFT\"] = \"left\";\n RowContainerName[\"RIGHT\"] = \"right\";\n RowContainerName[\"CENTER\"] = \"center\";\n RowContainerName[\"FULL_WIDTH\"] = \"fullWidth\";\n RowContainerName[\"TOP_LEFT\"] = \"topLeft\";\n RowContainerName[\"TOP_RIGHT\"] = \"topRight\";\n RowContainerName[\"TOP_CENTER\"] = \"topCenter\";\n RowContainerName[\"TOP_FULL_WIDTH\"] = \"topFullWidth\";\n RowContainerName[\"STICKY_TOP_LEFT\"] = \"stickyTopLeft\";\n RowContainerName[\"STICKY_TOP_RIGHT\"] = \"stickyTopRight\";\n RowContainerName[\"STICKY_TOP_CENTER\"] = \"stickyTopCenter\";\n RowContainerName[\"STICKY_TOP_FULL_WIDTH\"] = \"stickyTopFullWidth\";\n RowContainerName[\"BOTTOM_LEFT\"] = \"bottomLeft\";\n RowContainerName[\"BOTTOM_RIGHT\"] = \"bottomRight\";\n RowContainerName[\"BOTTOM_CENTER\"] = \"bottomCenter\";\n RowContainerName[\"BOTTOM_FULL_WIDTH\"] = \"bottomFullWidth\";\n})(RowContainerName || (RowContainerName = {}));\nvar RowContainerType;\n(function (RowContainerType) {\n RowContainerType[\"LEFT\"] = \"left\";\n RowContainerType[\"RIGHT\"] = \"right\";\n RowContainerType[\"CENTER\"] = \"center\";\n RowContainerType[\"FULL_WIDTH\"] = \"fullWidth\";\n})(RowContainerType || (RowContainerType = {}));\nfunction getRowContainerTypeForName(name) {\n switch (name) {\n case RowContainerName.CENTER:\n case RowContainerName.TOP_CENTER:\n case RowContainerName.STICKY_TOP_CENTER:\n case RowContainerName.BOTTOM_CENTER:\n return RowContainerType.CENTER;\n case RowContainerName.LEFT:\n case RowContainerName.TOP_LEFT:\n case RowContainerName.STICKY_TOP_LEFT:\n case RowContainerName.BOTTOM_LEFT:\n return RowContainerType.LEFT;\n case RowContainerName.RIGHT:\n case RowContainerName.TOP_RIGHT:\n case RowContainerName.STICKY_TOP_RIGHT:\n case RowContainerName.BOTTOM_RIGHT:\n return RowContainerType.RIGHT;\n case RowContainerName.FULL_WIDTH:\n case RowContainerName.TOP_FULL_WIDTH:\n case RowContainerName.STICKY_TOP_FULL_WIDTH:\n case RowContainerName.BOTTOM_FULL_WIDTH:\n return RowContainerType.FULL_WIDTH;\n default:\n throw Error('Invalid Row Container Type');\n }\n}\nvar ContainerCssClasses = convertToMap([\n [RowContainerName.CENTER, 'ag-center-cols-container'],\n [RowContainerName.LEFT, 'ag-pinned-left-cols-container'],\n [RowContainerName.RIGHT, 'ag-pinned-right-cols-container'],\n [RowContainerName.FULL_WIDTH, 'ag-full-width-container'],\n [RowContainerName.TOP_CENTER, 'ag-floating-top-container'],\n [RowContainerName.TOP_LEFT, 'ag-pinned-left-floating-top'],\n [RowContainerName.TOP_RIGHT, 'ag-pinned-right-floating-top'],\n [RowContainerName.TOP_FULL_WIDTH, 'ag-floating-top-full-width-container'],\n [RowContainerName.STICKY_TOP_CENTER, 'ag-sticky-top-container'],\n [RowContainerName.STICKY_TOP_LEFT, 'ag-pinned-left-sticky-top'],\n [RowContainerName.STICKY_TOP_RIGHT, 'ag-pinned-right-sticky-top'],\n [RowContainerName.STICKY_TOP_FULL_WIDTH, 'ag-sticky-top-full-width-container'],\n [RowContainerName.BOTTOM_CENTER, 'ag-floating-bottom-container'],\n [RowContainerName.BOTTOM_LEFT, 'ag-pinned-left-floating-bottom'],\n [RowContainerName.BOTTOM_RIGHT, 'ag-pinned-right-floating-bottom'],\n [RowContainerName.BOTTOM_FULL_WIDTH, 'ag-floating-bottom-full-width-container'],\n]);\nvar ViewportCssClasses = convertToMap([\n [RowContainerName.CENTER, 'ag-center-cols-viewport'],\n [RowContainerName.TOP_CENTER, 'ag-floating-top-viewport'],\n [RowContainerName.STICKY_TOP_CENTER, 'ag-sticky-top-viewport'],\n [RowContainerName.BOTTOM_CENTER, 'ag-floating-bottom-viewport'],\n]);\nvar WrapperCssClasses = convertToMap([\n [RowContainerName.CENTER, 'ag-center-cols-clipper'],\n]);\nvar RowContainerCtrl = /** @class */ (function (_super) {\n __extends$1M(RowContainerCtrl, _super);\n function RowContainerCtrl(name) {\n var _this = _super.call(this) || this;\n _this.name = name;\n return _this;\n }\n RowContainerCtrl.getRowContainerCssClasses = function (name) {\n var containerClass = ContainerCssClasses.get(name);\n var viewportClass = ViewportCssClasses.get(name);\n var wrapperClass = WrapperCssClasses.get(name);\n return { container: containerClass, viewport: viewportClass, wrapper: wrapperClass };\n };\n RowContainerCtrl.getPinned = function (name) {\n switch (name) {\n case RowContainerName.BOTTOM_LEFT:\n case RowContainerName.TOP_LEFT:\n case RowContainerName.STICKY_TOP_LEFT:\n case RowContainerName.LEFT:\n return Constants.PINNED_LEFT;\n case RowContainerName.BOTTOM_RIGHT:\n case RowContainerName.TOP_RIGHT:\n case RowContainerName.STICKY_TOP_RIGHT:\n case RowContainerName.RIGHT:\n return Constants.PINNED_RIGHT;\n default:\n return null;\n }\n };\n RowContainerCtrl.prototype.postConstruct = function () {\n var _this = this;\n this.enableRtl = this.gridOptionsWrapper.isEnableRtl();\n this.embedFullWidthRows = this.gridOptionsWrapper.isEmbedFullWidthRows();\n this.forContainers([RowContainerName.CENTER], function () { return _this.viewportSizeFeature = _this.createManagedBean(new ViewportSizeFeature(_this)); });\n };\n RowContainerCtrl.prototype.registerWithCtrlsService = function () {\n switch (this.name) {\n case RowContainerName.CENTER:\n this.ctrlsService.registerCenterRowContainerCtrl(this);\n break;\n case RowContainerName.LEFT:\n this.ctrlsService.registerLeftRowContainerCtrl(this);\n break;\n case RowContainerName.RIGHT:\n this.ctrlsService.registerRightRowContainerCtrl(this);\n break;\n case RowContainerName.TOP_CENTER:\n this.ctrlsService.registerTopCenterRowContainerCtrl(this);\n break;\n case RowContainerName.TOP_LEFT:\n this.ctrlsService.registerTopLeftRowContainerCon(this);\n break;\n case RowContainerName.TOP_RIGHT:\n this.ctrlsService.registerTopRightRowContainerCtrl(this);\n break;\n case RowContainerName.STICKY_TOP_CENTER:\n this.ctrlsService.registerStickyTopCenterRowContainerCtrl(this);\n break;\n case RowContainerName.STICKY_TOP_LEFT:\n this.ctrlsService.registerStickyTopLeftRowContainerCon(this);\n break;\n case RowContainerName.STICKY_TOP_RIGHT:\n this.ctrlsService.registerStickyTopRightRowContainerCtrl(this);\n break;\n case RowContainerName.BOTTOM_CENTER:\n this.ctrlsService.registerBottomCenterRowContainerCtrl(this);\n break;\n case RowContainerName.BOTTOM_LEFT:\n this.ctrlsService.registerBottomLeftRowContainerCtrl(this);\n break;\n case RowContainerName.BOTTOM_RIGHT:\n this.ctrlsService.registerBottomRightRowContainerCtrl(this);\n break;\n }\n };\n RowContainerCtrl.prototype.forContainers = function (names, callback) {\n if (names.indexOf(this.name) >= 0) {\n callback();\n }\n };\n RowContainerCtrl.prototype.getContainerElement = function () {\n return this.eContainer;\n };\n RowContainerCtrl.prototype.getViewportSizeFeature = function () {\n return this.viewportSizeFeature;\n };\n RowContainerCtrl.prototype.setComp = function (view, eContainer, eViewport, eWrapper) {\n var _this = this;\n this.comp = view;\n this.eContainer = eContainer;\n this.eViewport = eViewport;\n this.eWrapper = eWrapper;\n this.createManagedBean(new RowContainerEventsFeature(this.eContainer));\n this.addPreventScrollWhileDragging();\n this.listenOnDomOrder();\n this.stopHScrollOnPinnedRows();\n var allTopNoFW = [RowContainerName.TOP_CENTER, RowContainerName.TOP_LEFT, RowContainerName.TOP_RIGHT];\n var allStickyTopNoFW = [RowContainerName.STICKY_TOP_CENTER, RowContainerName.STICKY_TOP_LEFT, RowContainerName.STICKY_TOP_RIGHT];\n var allBottomNoFW = [RowContainerName.BOTTOM_CENTER, RowContainerName.BOTTOM_LEFT, RowContainerName.BOTTOM_RIGHT];\n var allMiddleNoFW = [RowContainerName.CENTER, RowContainerName.LEFT, RowContainerName.RIGHT];\n var allNoFW = __spread$c(allTopNoFW, allBottomNoFW, allMiddleNoFW, allStickyTopNoFW);\n var allMiddle = [RowContainerName.CENTER, RowContainerName.LEFT, RowContainerName.RIGHT, RowContainerName.FULL_WIDTH];\n var allCenter = [RowContainerName.CENTER, RowContainerName.TOP_CENTER, RowContainerName.STICKY_TOP_CENTER, RowContainerName.BOTTOM_CENTER];\n var allLeft = [RowContainerName.LEFT, RowContainerName.BOTTOM_LEFT, RowContainerName.TOP_LEFT, RowContainerName.STICKY_TOP_LEFT];\n var allRight = [RowContainerName.RIGHT, RowContainerName.BOTTOM_RIGHT, RowContainerName.TOP_RIGHT, RowContainerName.STICKY_TOP_RIGHT];\n this.forContainers(allLeft, function () { return _this.createManagedBean(new SetPinnedLeftWidthFeature(_this.eContainer)); });\n this.forContainers(allRight, function () { return _this.createManagedBean(new SetPinnedRightWidthFeature(_this.eContainer)); });\n this.forContainers(allMiddle, function () { return _this.createManagedBean(new SetHeightFeature(_this.eContainer, _this.eWrapper)); });\n this.forContainers(allNoFW, function () { return _this.createManagedBean(new DragListenerFeature(_this.eContainer)); });\n this.forContainers(allCenter, function () { return _this.createManagedBean(new CenterWidthFeature(function (width) { return _this.comp.setContainerWidth(width + \"px\"); })); });\n this.addListeners();\n this.registerWithCtrlsService();\n };\n RowContainerCtrl.prototype.addListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, function () { return _this.onScrollVisibilityChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, function () { return _this.onDisplayedColumnsChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, function () { return _this.onDisplayedColumnsWidthChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_ROWS_CHANGED, function () { return _this.onDisplayedRowsChanged(); });\n this.onScrollVisibilityChanged();\n this.onDisplayedColumnsChanged();\n this.onDisplayedColumnsWidthChanged();\n this.onDisplayedRowsChanged();\n };\n RowContainerCtrl.prototype.listenOnDomOrder = function () {\n var _this = this;\n // sticky section must show rows in set order\n var allStickyContainers = [RowContainerName.STICKY_TOP_CENTER, RowContainerName.STICKY_TOP_LEFT, RowContainerName.STICKY_TOP_RIGHT, RowContainerName.STICKY_TOP_FULL_WIDTH];\n var isStickContainer = allStickyContainers.indexOf(this.name) >= 0;\n if (isStickContainer) {\n this.comp.setDomOrder(true);\n return;\n }\n var listener = function () { return _this.comp.setDomOrder(_this.gridOptionsWrapper.isEnsureDomOrder()); };\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, listener);\n listener();\n };\n // when editing a pinned row, if the cell is half outside the scrollable area, the browser can\n // scroll the column into view. we do not want this, the pinned sections should never scroll.\n // so we listen to scrolls on these containers and reset the scroll if we find one.\n RowContainerCtrl.prototype.stopHScrollOnPinnedRows = function () {\n var _this = this;\n this.forContainers([RowContainerName.TOP_CENTER, RowContainerName.STICKY_TOP_CENTER, RowContainerName.BOTTOM_CENTER], function () {\n var resetScrollLeft = function () { return _this.eViewport.scrollLeft = 0; };\n _this.addManagedListener(_this.eViewport, 'scroll', resetScrollLeft);\n });\n };\n RowContainerCtrl.prototype.onDisplayedColumnsChanged = function () {\n var _this = this;\n this.forContainers([RowContainerName.CENTER], function () { return _this.onHorizontalViewportChanged(); });\n };\n RowContainerCtrl.prototype.onDisplayedColumnsWidthChanged = function () {\n var _this = this;\n this.forContainers([RowContainerName.CENTER], function () { return _this.onHorizontalViewportChanged(); });\n };\n RowContainerCtrl.prototype.onScrollVisibilityChanged = function () {\n if (this.name !== RowContainerName.CENTER) {\n return;\n }\n var visible = this.scrollVisibleService.isHorizontalScrollShowing();\n var scrollbarWidth = visible ? (this.gridOptionsWrapper.getScrollbarWidth() || 0) : 0;\n var height = scrollbarWidth == 0 ? '100%' : \"calc(100% + \" + scrollbarWidth + \"px)\";\n this.comp.setViewportHeight(height);\n };\n // this methods prevents the grid views from being scrolled while the dragService is being used\n // eg. the view should not scroll up and down while dragging rows using the rowDragComp.\n RowContainerCtrl.prototype.addPreventScrollWhileDragging = function () {\n var _this = this;\n var preventScroll = function (e) {\n if (_this.dragService.isDragging()) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n };\n this.eContainer.addEventListener('touchmove', preventScroll, { passive: false });\n this.addDestroyFunc(function () { return _this.eContainer.removeEventListener('touchmove', preventScroll); });\n };\n // this gets called whenever a change in the viewport, so we can inform column controller it has to work\n // out the virtual columns again. gets called from following locations:\n // + ensureColVisible, scroll, init, layoutChanged, displayedColumnsChanged, API (doLayout)\n RowContainerCtrl.prototype.onHorizontalViewportChanged = function () {\n var scrollWidth = this.getCenterWidth();\n var scrollPosition = this.getCenterViewportScrollLeft();\n this.columnModel.setViewportPosition(scrollWidth, scrollPosition);\n };\n RowContainerCtrl.prototype.getCenterWidth = function () {\n return getInnerWidth(this.eViewport);\n };\n RowContainerCtrl.prototype.getCenterViewportScrollLeft = function () {\n // we defer to a util, as how you calculated scrollLeft when doing RTL depends on the browser\n return getScrollLeft(this.eViewport, this.enableRtl);\n };\n RowContainerCtrl.prototype.registerViewportResizeListener = function (listener) {\n var unsubscribeFromResize = this.resizeObserverService.observeResize(this.eViewport, listener);\n this.addDestroyFunc(function () { return unsubscribeFromResize(); });\n };\n RowContainerCtrl.prototype.isViewportVisible = function () {\n return isVisible(this.eViewport);\n };\n RowContainerCtrl.prototype.isViewportHScrollShowing = function () {\n return isHorizontalScrollShowing(this.eViewport);\n };\n RowContainerCtrl.prototype.getViewportScrollLeft = function () {\n return getScrollLeft(this.eViewport, this.enableRtl);\n };\n RowContainerCtrl.prototype.isHorizontalScrollShowing = function () {\n var isAlwaysShowHorizontalScroll = this.gridOptionsWrapper.isAlwaysShowHorizontalScroll();\n return isAlwaysShowHorizontalScroll || isHorizontalScrollShowing(this.eViewport);\n };\n RowContainerCtrl.prototype.getViewportElement = function () {\n return this.eViewport;\n };\n RowContainerCtrl.prototype.setContainerTranslateX = function (amount) {\n this.eContainer.style.transform = \"translateX(\" + amount + \"px)\";\n };\n RowContainerCtrl.prototype.getHScrollPosition = function () {\n var res = {\n left: this.eViewport.scrollLeft,\n right: this.eViewport.scrollLeft + this.eViewport.offsetWidth\n };\n return res;\n };\n RowContainerCtrl.prototype.setCenterViewportScrollLeft = function (value) {\n // we defer to a util, as how you calculated scrollLeft when doing RTL depends on the browser\n setScrollLeft(this.eViewport, value, this.enableRtl);\n };\n RowContainerCtrl.prototype.onDisplayedRowsChanged = function () {\n var _this = this;\n var fullWithContainer = this.name === RowContainerName.TOP_FULL_WIDTH\n || this.name === RowContainerName.STICKY_TOP_FULL_WIDTH\n || this.name === RowContainerName.BOTTOM_FULL_WIDTH\n || this.name === RowContainerName.FULL_WIDTH;\n var doesRowMatch = function (rowCtrl) {\n var fullWidthRow = rowCtrl.isFullWidth();\n var printLayout = _this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var embedFW = _this.embedFullWidthRows || printLayout;\n var match = fullWithContainer ?\n !embedFW && fullWidthRow\n : embedFW || !fullWidthRow;\n return match;\n };\n // this list contains either all pinned top, center or pinned bottom rows\n var allRowsRegardlessOfFullWidth = this.getRowCtrls();\n // this filters out rows not for this container, eg if it's a full with row, but we are not full with container\n var rowsThisContainer = allRowsRegardlessOfFullWidth.filter(doesRowMatch);\n this.comp.setRowCtrls(rowsThisContainer);\n };\n RowContainerCtrl.prototype.getRowCtrls = function () {\n switch (this.name) {\n case RowContainerName.TOP_CENTER:\n case RowContainerName.TOP_LEFT:\n case RowContainerName.TOP_RIGHT:\n case RowContainerName.TOP_FULL_WIDTH:\n return this.rowRenderer.getTopRowCtrls();\n case RowContainerName.STICKY_TOP_CENTER:\n case RowContainerName.STICKY_TOP_LEFT:\n case RowContainerName.STICKY_TOP_RIGHT:\n case RowContainerName.STICKY_TOP_FULL_WIDTH:\n return this.rowRenderer.getStickyTopRowCtrls();\n case RowContainerName.BOTTOM_CENTER:\n case RowContainerName.BOTTOM_LEFT:\n case RowContainerName.BOTTOM_RIGHT:\n case RowContainerName.BOTTOM_FULL_WIDTH:\n return this.rowRenderer.getBottomRowCtrls();\n default:\n return this.rowRenderer.getRowCtrls();\n }\n };\n __decorate$1F([\n Autowired('scrollVisibleService')\n ], RowContainerCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$1F([\n Autowired('dragService')\n ], RowContainerCtrl.prototype, \"dragService\", void 0);\n __decorate$1F([\n Autowired('ctrlsService')\n ], RowContainerCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$1F([\n Autowired('columnModel')\n ], RowContainerCtrl.prototype, \"columnModel\", void 0);\n __decorate$1F([\n Autowired('resizeObserverService')\n ], RowContainerCtrl.prototype, \"resizeObserverService\", void 0);\n __decorate$1F([\n Autowired('rowRenderer')\n ], RowContainerCtrl.prototype, \"rowRenderer\", void 0);\n __decorate$1F([\n PostConstruct\n ], RowContainerCtrl.prototype, \"postConstruct\", null);\n return RowContainerCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1L = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GRID_BODY_TEMPLATE = /* html */ \"
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n \\n \\n
\";\nvar GridBodyComp = /** @class */ (function (_super) {\n __extends$1L(GridBodyComp, _super);\n function GridBodyComp() {\n return _super.call(this, GRID_BODY_TEMPLATE) || this;\n }\n GridBodyComp.prototype.init = function () {\n var _this = this;\n var setHeight = function (height, element) {\n var heightString = height + \"px\";\n element.style.minHeight = heightString;\n element.style.height = heightString;\n };\n var compProxy = {\n setRowAnimationCssOnBodyViewport: function (cssClass, animate) { return _this.setRowAnimationCssOnBodyViewport(cssClass, animate); },\n setColumnCount: function (count) { return setAriaColCount(_this.getGui(), count); },\n setRowCount: function (count) { return setAriaRowCount(_this.getGui(), count); },\n setTopHeight: function (height) { return setHeight(height, _this.eTop); },\n setBottomHeight: function (height) { return setHeight(height, _this.eBottom); },\n setTopDisplay: function (display) { return _this.eTop.style.display = display; },\n setBottomDisplay: function (display) { return _this.eBottom.style.display = display; },\n setStickyTopHeight: function (height) { return _this.eStickyTop.style.height = height; },\n setStickyTopTop: function (top) { return _this.eStickyTop.style.top = top; },\n setStickyTopWidth: function (width) { return _this.eStickyTop.style.width = width; },\n setColumnMovingCss: function (cssClass, flag) { return _this.addOrRemoveCssClass(CSS_CLASS_COLUMN_MOVING, flag); },\n updateLayoutClasses: function (cssClass, params) {\n var bodyViewportClassList = _this.eBodyViewport.classList;\n bodyViewportClassList.toggle(LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n bodyViewportClassList.toggle(LayoutCssClasses.NORMAL, params.normal);\n bodyViewportClassList.toggle(LayoutCssClasses.PRINT, params.print);\n _this.addOrRemoveCssClass(LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n _this.addOrRemoveCssClass(LayoutCssClasses.NORMAL, params.normal);\n _this.addOrRemoveCssClass(LayoutCssClasses.PRINT, params.print);\n },\n setAlwaysVerticalScrollClass: function (cssClass, on) {\n return _this.eBodyViewport.classList.toggle(CSS_CLASS_FORCE_VERTICAL_SCROLL, on);\n },\n registerBodyViewportResizeListener: function (listener) {\n var unsubscribeFromResize = _this.resizeObserverService.observeResize(_this.eBodyViewport, listener);\n _this.addDestroyFunc(function () { return unsubscribeFromResize(); });\n },\n setPinnedTopBottomOverflowY: function (overflow) { return _this.eTop.style.overflowY = _this.eBottom.style.overflowY = overflow; },\n setCellSelectableCss: function (cssClass, selectable) {\n [_this.eTop, _this.eBodyViewport, _this.eBottom]\n .forEach(function (ct) { return ct.classList.toggle(CSS_CLASS_CELL_SELECTABLE, selectable); });\n },\n };\n this.ctrl = this.createManagedBean(new GridBodyCtrl());\n this.ctrl.setComp(compProxy, this.getGui(), this.eBodyViewport, this.eTop, this.eBottom, this.eStickyTop);\n if (this.rangeService || this.gridOptionsWrapper.isRowSelectionMulti()) {\n setAriaMultiSelectable(this.getGui(), true);\n }\n };\n GridBodyComp.prototype.setRowAnimationCssOnBodyViewport = function (cssClass, animateRows) {\n var bodyViewportClassList = this.eBodyViewport.classList;\n bodyViewportClassList.toggle(RowAnimationCssClasses.ANIMATION_ON, animateRows);\n bodyViewportClassList.toggle(RowAnimationCssClasses.ANIMATION_OFF, !animateRows);\n };\n GridBodyComp.prototype.getFloatingTopBottom = function () {\n return [this.eTop, this.eBottom];\n };\n __decorate$1E([\n Autowired('resizeObserverService')\n ], GridBodyComp.prototype, \"resizeObserverService\", void 0);\n __decorate$1E([\n Optional('rangeService')\n ], GridBodyComp.prototype, \"rangeService\", void 0);\n __decorate$1E([\n RefSelector('eBodyViewport')\n ], GridBodyComp.prototype, \"eBodyViewport\", void 0);\n __decorate$1E([\n RefSelector('eStickyTop')\n ], GridBodyComp.prototype, \"eStickyTop\", void 0);\n __decorate$1E([\n RefSelector('eTop')\n ], GridBodyComp.prototype, \"eTop\", void 0);\n __decorate$1E([\n RefSelector('eBottom')\n ], GridBodyComp.prototype, \"eBottom\", void 0);\n __decorate$1E([\n RefSelector('gridHeader')\n ], GridBodyComp.prototype, \"headerRootComp\", void 0);\n __decorate$1E([\n PostConstruct\n ], GridBodyComp.prototype, \"init\", null);\n return GridBodyComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1K = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ScrollVisibleService = /** @class */ (function (_super) {\n __extends$1K(ScrollVisibleService, _super);\n function ScrollVisibleService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScrollVisibleService.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onDisplayedColumnsWidthChanged.bind(this));\n };\n ScrollVisibleService.prototype.onDisplayedColumnsChanged = function () {\n this.update();\n };\n ScrollVisibleService.prototype.onDisplayedColumnsWidthChanged = function () {\n this.update();\n };\n ScrollVisibleService.prototype.update = function () {\n // because of column animation (which takes 200ms), we have to do this twice.\n // eg if user removes cols anywhere except at the RHS, then the cols on the RHS\n // will animate to the left to fill the gap. this animation means just after\n // the cols are removed, the remaining cols are still in the original location\n // at the start of the animation, so pre animation the H scrollbar is still needed,\n // but post animation it is not.\n this.updateImpl();\n setTimeout(this.updateImpl.bind(this), 500);\n };\n ScrollVisibleService.prototype.updateImpl = function () {\n var centerRowCtrl = this.ctrlsService.getCenterRowContainerCtrl();\n if (!centerRowCtrl) {\n return;\n }\n var params = {\n horizontalScrollShowing: centerRowCtrl.isHorizontalScrollShowing(),\n verticalScrollShowing: this.isVerticalScrollShowing()\n };\n this.setScrollsVisible(params);\n };\n ScrollVisibleService.prototype.setScrollsVisible = function (params) {\n var atLeastOneDifferent = this.horizontalScrollShowing !== params.horizontalScrollShowing ||\n this.verticalScrollShowing !== params.verticalScrollShowing;\n if (atLeastOneDifferent) {\n this.horizontalScrollShowing = params.horizontalScrollShowing;\n this.verticalScrollShowing = params.verticalScrollShowing;\n var event_1 = {\n type: Events.EVENT_SCROLL_VISIBILITY_CHANGED\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n // used by pagination service - to know page height\n ScrollVisibleService.prototype.isHorizontalScrollShowing = function () {\n return this.horizontalScrollShowing;\n };\n // used by header container\n ScrollVisibleService.prototype.isVerticalScrollShowing = function () {\n return this.verticalScrollShowing;\n };\n __decorate$1D([\n Autowired('ctrlsService')\n ], ScrollVisibleService.prototype, \"ctrlsService\", void 0);\n __decorate$1D([\n PostConstruct\n ], ScrollVisibleService.prototype, \"postConstruct\", null);\n ScrollVisibleService = __decorate$1D([\n Bean('scrollVisibleService')\n ], ScrollVisibleService);\n return ScrollVisibleService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1J = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar MouseEventService = /** @class */ (function (_super) {\n __extends$1J(MouseEventService, _super);\n function MouseEventService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.gridInstanceId = MouseEventService_1.gridInstanceSequence.next();\n return _this;\n }\n MouseEventService_1 = MouseEventService;\n // we put the instance id onto the main DOM element. this is used for events, when grids are inside grids,\n // so the grid can work out if the even came from this grid or a grid inside this one. see the ctrl+v logic\n // for where this is used.\n MouseEventService.prototype.stampTopLevelGridCompWithGridInstance = function (eGridDiv) {\n eGridDiv[MouseEventService_1.GRID_DOM_KEY] = this.gridInstanceId;\n };\n MouseEventService.prototype.getRenderedCellForEvent = function (event) {\n return getCtrlForEvent(this.gridOptionsWrapper, event, CellCtrl.DOM_DATA_KEY_CELL_CTRL);\n };\n // walks the path of the event, and returns true if this grid is the first one that it finds. if doing\n // master / detail grids, and a child grid is found, then it returns false. this stops things like copy/paste\n // getting executed on many grids at the same time.\n MouseEventService.prototype.isEventFromThisGrid = function (event) {\n var res = this.isElementInThisGrid(event.target);\n return res;\n };\n MouseEventService.prototype.isElementInThisGrid = function (element) {\n var pointer = element;\n while (pointer) {\n var instanceId = pointer[MouseEventService_1.GRID_DOM_KEY];\n if (exists(instanceId)) {\n var eventFromThisGrid = instanceId === this.gridInstanceId;\n return eventFromThisGrid;\n }\n pointer = pointer.parentElement;\n }\n return false;\n };\n MouseEventService.prototype.getCellPositionForEvent = function (event) {\n var cellComp = this.getRenderedCellForEvent(event);\n return cellComp ? cellComp.getCellPosition() : null;\n };\n MouseEventService.prototype.getNormalisedPosition = function (event) {\n var gridPanelHasScrolls = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_NORMAL;\n var e = event;\n var x;\n var y;\n if (e.clientX != null || e.clientY != null) {\n x = e.clientX;\n y = e.clientY;\n }\n else {\n x = e.x;\n y = e.y;\n }\n if (gridPanelHasScrolls) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var vRange = gridBodyCon.getScrollFeature().getVScrollPosition();\n var hRange = gridBodyCon.getScrollFeature().getHScrollPosition();\n x += hRange.left;\n y += vRange.top;\n }\n return { x: x, y: y };\n };\n var MouseEventService_1;\n MouseEventService.gridInstanceSequence = new NumberSequence();\n MouseEventService.GRID_DOM_KEY = '__ag_grid_instance';\n __decorate$1C([\n Autowired('ctrlsService')\n ], MouseEventService.prototype, \"ctrlsService\", void 0);\n MouseEventService = MouseEventService_1 = __decorate$1C([\n Bean('mouseEventService')\n ], MouseEventService);\n return MouseEventService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1I = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$4 = (undefined && undefined.__assign) || function () {\n __assign$4 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$4.apply(this, arguments);\n};\nvar __decorate$1B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar NavigationService = /** @class */ (function (_super) {\n __extends$1I(NavigationService, _super);\n function NavigationService() {\n var _this = _super.call(this) || this;\n _this.onPageDown = throttle(_this.onPageDown, 100);\n _this.onPageUp = throttle(_this.onPageUp, 100);\n return _this;\n }\n NavigationService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.gridBodyCon = p.gridBodyCtrl;\n });\n };\n NavigationService.prototype.handlePageScrollingKey = function (event) {\n var key = event.key;\n var alt = event.altKey;\n var ctrl = event.ctrlKey || event.metaKey;\n var rangeServiceShouldHandleShift = !!this.rangeService && event.shiftKey;\n var currentCell = this.mouseEventService.getCellPositionForEvent(event);\n if (!currentCell) {\n return false;\n }\n var processed = false;\n switch (key) {\n case KeyCode.PAGE_HOME:\n case KeyCode.PAGE_END:\n // handle home and end when ctrl & alt are NOT pressed\n if (!ctrl && !alt) {\n this.onHomeOrEndKey(key);\n processed = true;\n }\n break;\n case KeyCode.LEFT:\n case KeyCode.RIGHT:\n case KeyCode.UP:\n case KeyCode.DOWN:\n // handle when ctrl is pressed only, if shift is pressed\n // it will be handled by the rangeService\n if (ctrl && !alt && !rangeServiceShouldHandleShift) {\n this.onCtrlUpDownLeftRight(key, currentCell);\n processed = true;\n }\n break;\n case KeyCode.PAGE_DOWN:\n // handle page up and page down when ctrl & alt are NOT pressed\n if (!ctrl && !alt) {\n this.onPageDown(currentCell);\n processed = true;\n }\n break;\n case KeyCode.PAGE_UP:\n // handle page up and page down when ctrl & alt are NOT pressed\n if (!ctrl && !alt) {\n this.onPageUp(currentCell);\n processed = true;\n }\n break;\n }\n if (processed) {\n event.preventDefault();\n }\n return processed;\n };\n NavigationService.prototype.navigateTo = function (navigateParams) {\n var scrollIndex = navigateParams.scrollIndex, scrollType = navigateParams.scrollType, scrollColumn = navigateParams.scrollColumn, focusIndex = navigateParams.focusIndex, focusColumn = navigateParams.focusColumn;\n if (exists(scrollColumn) && !scrollColumn.isPinned()) {\n this.gridBodyCon.getScrollFeature().ensureColumnVisible(scrollColumn);\n }\n if (exists(scrollIndex)) {\n this.gridBodyCon.getScrollFeature().ensureIndexVisible(scrollIndex, scrollType);\n }\n // setFocusedCell relies on the browser default focus behavior to scroll the focused cell into view,\n // however, this behavior will cause the cell border to be cut off, or if we have sticky rows, the\n // cell will be completely hidden, so we call ensureIndexVisible without a position to guarantee\n // minimal scroll to get the row into view.\n if (!navigateParams.isAsync) {\n this.gridBodyCon.getScrollFeature().ensureIndexVisible(focusIndex);\n }\n // if we don't do this, the range will be left on the last cell, which will leave the last focused cell\n // highlighted.\n this.focusService.setFocusedCell({ rowIndex: focusIndex, column: focusColumn, rowPinned: null, forceBrowserFocus: true });\n if (this.rangeService) {\n var cellPosition = { rowIndex: focusIndex, rowPinned: null, column: focusColumn };\n this.rangeService.setRangeToCell(cellPosition);\n }\n };\n NavigationService.prototype.onPageDown = function (gridCell) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var scrollPosition = gridBodyCon.getScrollFeature().getVScrollPosition();\n var pixelsInOnePage = this.getViewportHeight();\n var pagingPixelOffset = this.paginationProxy.getPixelOffset();\n var currentPageBottomPixel = scrollPosition.top + pixelsInOnePage;\n var currentPageBottomRow = this.paginationProxy.getRowIndexAtPixel(currentPageBottomPixel + pagingPixelOffset);\n if (this.columnModel.isAutoRowHeightActive()) {\n this.navigateToNextPageWithAutoHeight(gridCell, currentPageBottomRow);\n }\n else {\n this.navigateToNextPage(gridCell, currentPageBottomRow);\n }\n };\n NavigationService.prototype.onPageUp = function (gridCell) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var scrollPosition = gridBodyCon.getScrollFeature().getVScrollPosition();\n var pagingPixelOffset = this.paginationProxy.getPixelOffset();\n var currentPageTopPixel = scrollPosition.top;\n var currentPageTopRow = this.paginationProxy.getRowIndexAtPixel(currentPageTopPixel + pagingPixelOffset);\n if (this.columnModel.isAutoRowHeightActive()) {\n this.navigateToNextPageWithAutoHeight(gridCell, currentPageTopRow, true);\n }\n else {\n this.navigateToNextPage(gridCell, currentPageTopRow, true);\n }\n };\n NavigationService.prototype.navigateToNextPage = function (gridCell, scrollIndex, up) {\n if (up === void 0) { up = false; }\n var _a, _b;\n var pixelsInOnePage = this.getViewportHeight();\n var firstRow = this.paginationProxy.getPageFirstRow();\n var lastRow = this.paginationProxy.getPageLastRow();\n var pagingPixelOffset = this.paginationProxy.getPixelOffset();\n var currentRowNode = this.paginationProxy.getRow(gridCell.rowIndex);\n var rowPixelDiff = up\n ? (((_a = currentRowNode) === null || _a === void 0 ? void 0 : _a.rowHeight) - pixelsInOnePage - pagingPixelOffset)\n : (pixelsInOnePage - pagingPixelOffset);\n var nextCellPixel = ((_b = currentRowNode) === null || _b === void 0 ? void 0 : _b.rowTop) + rowPixelDiff;\n var focusIndex = this.paginationProxy.getRowIndexAtPixel(nextCellPixel + pagingPixelOffset);\n if (focusIndex === gridCell.rowIndex) {\n var diff = up ? -1 : 1;\n scrollIndex = focusIndex = gridCell.rowIndex + diff;\n }\n var scrollType;\n if (up) {\n scrollType = 'bottom';\n if (focusIndex < firstRow) {\n focusIndex = firstRow;\n }\n if (scrollIndex < firstRow) {\n scrollIndex = firstRow;\n }\n }\n else {\n scrollType = 'top';\n if (focusIndex > lastRow) {\n focusIndex = lastRow;\n }\n if (scrollIndex > lastRow) {\n scrollIndex = lastRow;\n }\n }\n if (this.isRowTallerThanView(focusIndex)) {\n scrollIndex = focusIndex;\n scrollType = 'top';\n }\n this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: scrollType,\n scrollColumn: null,\n focusIndex: focusIndex,\n focusColumn: gridCell.column\n });\n };\n NavigationService.prototype.navigateToNextPageWithAutoHeight = function (gridCell, scrollIndex, up) {\n var _this = this;\n if (up === void 0) { up = false; }\n // because autoHeight will calculate the height of rows after scroll\n // first we scroll towards the required point, then we add a small\n // delay to allow the height to be recalculated, check which index\n // should be focused and then finally navigate to that index.\n // TODO: we should probably have an event fired once to scrollbar has\n // settled and all rowHeights have been calculated instead of relying\n // on a setTimeout of 50ms.\n this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: up ? 'bottom' : 'top',\n scrollColumn: null,\n focusIndex: scrollIndex,\n focusColumn: gridCell.column\n });\n setTimeout(function () {\n var focusIndex = _this.getNextFocusIndexForAutoHeight(gridCell, up);\n _this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: up ? 'bottom' : 'top',\n scrollColumn: null,\n focusIndex: focusIndex,\n focusColumn: gridCell.column,\n isAsync: true\n });\n }, 50);\n };\n NavigationService.prototype.getNextFocusIndexForAutoHeight = function (gridCell, up) {\n if (up === void 0) { up = false; }\n var _a;\n var step = up ? -1 : 1;\n var pixelsInOnePage = this.getViewportHeight();\n var lastRowIndex = this.paginationProxy.getPageLastRow();\n var pixelSum = 0;\n var currentIndex = gridCell.rowIndex;\n while (currentIndex >= 0 && currentIndex <= lastRowIndex) {\n var currentCell = this.paginationProxy.getRow(currentIndex);\n if (currentCell) {\n var currentCellHeight = (_a = currentCell.rowHeight, (_a !== null && _a !== void 0 ? _a : 0));\n if (pixelSum + currentCellHeight > pixelsInOnePage) {\n break;\n }\n pixelSum += currentCellHeight;\n }\n currentIndex += step;\n }\n return Math.max(0, Math.min(currentIndex, lastRowIndex));\n };\n NavigationService.prototype.getViewportHeight = function () {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var scrollPosition = gridBodyCon.getScrollFeature().getVScrollPosition();\n var scrollbarWidth = this.gridOptionsWrapper.getScrollbarWidth();\n var pixelsInOnePage = scrollPosition.bottom - scrollPosition.top;\n if (this.ctrlsService.getCenterRowContainerCtrl().isHorizontalScrollShowing()) {\n pixelsInOnePage -= scrollbarWidth;\n }\n return pixelsInOnePage;\n };\n NavigationService.prototype.isRowTallerThanView = function (rowIndex) {\n var rowNode = this.paginationProxy.getRow(rowIndex);\n if (!rowNode) {\n return false;\n }\n var rowHeight = rowNode.rowHeight;\n if (typeof rowHeight !== 'number') {\n return false;\n }\n return rowHeight > this.getViewportHeight();\n };\n NavigationService.prototype.onCtrlUpDownLeftRight = function (key, gridCell) {\n var cellToFocus = this.cellNavigationService.getNextCellToFocus(key, gridCell, true);\n var rowIndex = cellToFocus.rowIndex, column = cellToFocus.column;\n this.navigateTo({\n scrollIndex: rowIndex,\n scrollType: null,\n scrollColumn: column,\n focusIndex: rowIndex,\n focusColumn: column\n });\n };\n // home brings focus to top left cell, end brings focus to bottom right, grid scrolled to bring\n // same cell into view (which means either scroll all the way up, or all the way down).\n NavigationService.prototype.onHomeOrEndKey = function (key) {\n var homeKey = key === KeyCode.PAGE_HOME;\n var allColumns = this.columnModel.getAllDisplayedColumns();\n var columnToSelect = homeKey ? allColumns[0] : last(allColumns);\n var scrollIndex = homeKey ? this.paginationProxy.getPageFirstRow() : this.paginationProxy.getPageLastRow();\n this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: null,\n scrollColumn: columnToSelect,\n focusIndex: scrollIndex,\n focusColumn: columnToSelect\n });\n };\n // result of keyboard event\n NavigationService.prototype.onTabKeyDown = function (previous, keyboardEvent) {\n var backwards = keyboardEvent.shiftKey;\n var movedToNextCell = this.tabToNextCellCommon(previous, backwards, keyboardEvent);\n if (movedToNextCell) {\n // only prevent default if we found a cell. so if user is on last cell and hits tab, then we default\n // to the normal tabbing so user can exit the grid.\n keyboardEvent.preventDefault();\n return;\n }\n // if we didn't move to next cell, then need to tab out of the cells, ie to the header (if going\n // backwards)\n if (backwards) {\n var _a = previous.getRowPosition(), rowIndex = _a.rowIndex, rowPinned = _a.rowPinned;\n var firstRow = rowPinned ? rowIndex === 0 : rowIndex === this.paginationProxy.getPageFirstRow();\n if (firstRow) {\n keyboardEvent.preventDefault();\n this.focusService.focusLastHeader(keyboardEvent);\n }\n }\n else {\n // if the case it's a popup editor, the focus is on the editor and not the previous cell.\n // in order for the tab navigation to work, we need to focus the browser back onto the\n // previous cell.\n if (previous instanceof CellCtrl) {\n previous.focusCell(true);\n }\n if (this.focusService.focusNextGridCoreContainer(backwards)) {\n keyboardEvent.preventDefault();\n }\n }\n };\n // comes from API\n NavigationService.prototype.tabToNextCell = function (backwards, event) {\n var focusedCell = this.focusService.getFocusedCell();\n // if no focus, then cannot navigate\n if (!focusedCell) {\n return false;\n }\n var cellOrRow = this.getCellByPosition(focusedCell);\n // if cell is not rendered, means user has scrolled away from the cell\n // or that the focusedCell is a Full Width Row\n if (!cellOrRow) {\n cellOrRow = this.rowRenderer.getRowByPosition(focusedCell);\n if (!cellOrRow || !cellOrRow.isFullWidth()) {\n return false;\n }\n }\n return this.tabToNextCellCommon(cellOrRow, backwards, event);\n };\n NavigationService.prototype.tabToNextCellCommon = function (previous, backwards, event) {\n var editing = previous.isEditing();\n // if cell is not editing, there is still chance row is editing if it's Full Row Editing\n if (!editing && previous instanceof CellCtrl) {\n var cell = previous;\n var row = cell.getRowCtrl();\n if (row) {\n editing = row.isEditing();\n }\n }\n var res;\n if (editing) {\n // if we are editing, we know it's not a Full Width Row (RowComp)\n if (this.gridOptionsWrapper.isFullRowEdit()) {\n res = this.moveToNextEditingRow(previous, backwards, event);\n }\n else {\n res = this.moveToNextEditingCell(previous, backwards, event);\n }\n }\n else {\n res = this.moveToNextCellNotEditing(previous, backwards);\n }\n // if a cell wasn't found, it's possible that focus was moved to the header\n return res || !!this.focusService.getFocusedHeader();\n };\n NavigationService.prototype.moveToNextEditingCell = function (previousCell, backwards, event) {\n if (event === void 0) { event = null; }\n var previousPos = previousCell.getCellPosition();\n // before we stop editing, we need to focus the cell element\n // so the grid doesn't detect that focus has left the grid\n previousCell.getGui().focus();\n // need to do this before getting next cell to edit, in case the next cell\n // has editable function (eg colDef.editable=func() ) and it depends on the\n // result of this cell, so need to save updates from the first edit, in case\n // the value is referenced in the function.\n previousCell.stopEditing();\n // find the next cell to start editing\n var nextCell = this.findNextCellToFocusOn(previousPos, backwards, true);\n if (nextCell == null) {\n return false;\n }\n // only prevent default if we found a cell. so if user is on last cell and hits tab, then we default\n // to the normal tabbing so user can exit the grid.\n nextCell.startEditing(null, null, true, event);\n nextCell.focusCell(false);\n return true;\n };\n NavigationService.prototype.moveToNextEditingRow = function (previousCell, backwards, event) {\n if (event === void 0) { event = null; }\n var previousPos = previousCell.getCellPosition();\n // find the next cell to start editing\n var nextCell = this.findNextCellToFocusOn(previousPos, backwards, true);\n if (nextCell == null) {\n return false;\n }\n var nextPos = nextCell.getCellPosition();\n var previousEditable = this.isCellEditable(previousPos);\n var nextEditable = this.isCellEditable(nextPos);\n var rowsMatch = nextPos && previousPos.rowIndex === nextPos.rowIndex && previousPos.rowPinned === nextPos.rowPinned;\n if (previousEditable) {\n previousCell.setFocusOutOnEditor();\n }\n if (!rowsMatch) {\n var pRow = previousCell.getRowCtrl();\n pRow.stopEditing();\n var nRow = nextCell.getRowCtrl();\n nRow.startRowEditing(undefined, undefined, undefined, event);\n }\n if (nextEditable) {\n nextCell.setFocusInOnEditor();\n nextCell.focusCell();\n }\n else {\n nextCell.focusCell(true);\n }\n return true;\n };\n NavigationService.prototype.moveToNextCellNotEditing = function (previousCell, backwards) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var cellPos;\n if (previousCell instanceof RowCtrl) {\n cellPos = __assign$4(__assign$4({}, previousCell.getRowPosition()), { column: backwards ? displayedColumns[0] : last(displayedColumns) });\n }\n else {\n cellPos = previousCell.getCellPosition();\n }\n // find the next cell to start editing\n var nextCell = this.findNextCellToFocusOn(cellPos, backwards, false);\n // only prevent default if we found a cell. so if user is on last cell and hits tab, then we default\n // to the normal tabbing so user can exit the grid.\n if (nextCell instanceof CellCtrl) {\n nextCell.focusCell(true);\n }\n else if (nextCell) {\n return this.tryToFocusFullWidthRow(nextCell.getRowPosition(), backwards);\n }\n return exists(nextCell);\n };\n // called by the cell, when tab is pressed while editing.\n // @return: RenderedCell when navigation successful, otherwise null\n NavigationService.prototype.findNextCellToFocusOn = function (previousPosition, backwards, startEditing) {\n var nextPosition = previousPosition;\n while (true) {\n if (previousPosition !== nextPosition) {\n previousPosition = nextPosition;\n }\n if (!backwards) {\n nextPosition = this.getLastCellOfColSpan(nextPosition);\n }\n nextPosition = this.cellNavigationService.getNextTabbedCell(nextPosition, backwards);\n // allow user to override what cell to go to next\n var userFunc = this.gridOptionsWrapper.getTabToNextCellFunc();\n if (exists(userFunc)) {\n var params = {\n backwards: backwards,\n editing: startEditing,\n previousCellPosition: previousPosition,\n nextCellPosition: nextPosition ? nextPosition : null\n };\n var userCell = userFunc(params);\n if (exists(userCell)) {\n if (userCell.floating) {\n doOnce(function () { console.warn(\"AG Grid: tabToNextCellFunc return type should have attributes: rowIndex, rowPinned, column. However you had 'floating', maybe you meant 'rowPinned'?\"); }, 'no floating in userCell');\n userCell.rowPinned = userCell.floating;\n }\n nextPosition = {\n rowIndex: userCell.rowIndex,\n column: userCell.column,\n rowPinned: userCell.rowPinned\n };\n }\n else {\n nextPosition = null;\n }\n }\n // if no 'next cell', means we have got to last cell of grid, so nothing to move to,\n // so bottom right cell going forwards, or top left going backwards\n if (!nextPosition) {\n return null;\n }\n if (nextPosition.rowIndex < 0) {\n var headerLen = this.headerNavigationService.getHeaderRowCount();\n this.focusService.focusHeaderPosition({\n headerPosition: {\n headerRowIndex: headerLen + (nextPosition.rowIndex),\n column: nextPosition.column\n }\n });\n return null;\n }\n // if editing, but cell not editable, skip cell. we do this before we do all of\n // the 'ensure index visible' and 'flush all frames', otherwise if we are skipping\n // a bunch of cells (eg 10 rows) then all the work on ensuring cell visible is useless\n // (except for the last one) which causes grid to stall for a while.\n // note - for full row edit, we do focus non-editable cells, as the row stays in edit mode.\n var fullRowEdit = this.gridOptionsWrapper.isFullRowEdit();\n if (startEditing && !fullRowEdit) {\n var cellIsEditable = this.isCellEditable(nextPosition);\n if (!cellIsEditable) {\n continue;\n }\n }\n this.ensureCellVisible(nextPosition);\n // we have to call this after ensureColumnVisible - otherwise it could be a virtual column\n // or row that is not currently in view, hence the renderedCell would not exist\n var nextCell = this.getCellByPosition(nextPosition);\n // if next cell is fullWidth row, then no rendered cell,\n // as fullWidth rows have no cells, so we skip it\n if (!nextCell) {\n var row = this.rowRenderer.getRowByPosition(nextPosition);\n if (!row || !row.isFullWidth()) {\n continue;\n }\n else {\n return row;\n }\n }\n if (nextCell.isSuppressNavigable()) {\n continue;\n }\n // by default, when we click a cell, it gets selected into a range, so to keep keyboard navigation\n // consistent, we set into range here also.\n if (this.rangeService) {\n this.rangeService.setRangeToCell(nextPosition);\n }\n // we successfully tabbed onto a grid cell, so return true\n return nextCell;\n }\n };\n NavigationService.prototype.isCellEditable = function (cell) {\n var rowNode = this.lookupRowNodeForCell(cell);\n if (rowNode) {\n return cell.column.isCellEditable(rowNode);\n }\n return false;\n };\n NavigationService.prototype.getCellByPosition = function (cellPosition) {\n var rowCtrl = this.rowRenderer.getRowByPosition(cellPosition);\n if (!rowCtrl) {\n return null;\n }\n return rowCtrl.getCellCtrl(cellPosition.column);\n };\n NavigationService.prototype.lookupRowNodeForCell = function (cell) {\n if (cell.rowPinned === Constants.PINNED_TOP) {\n return this.pinnedRowModel.getPinnedTopRow(cell.rowIndex);\n }\n if (cell.rowPinned === Constants.PINNED_BOTTOM) {\n return this.pinnedRowModel.getPinnedBottomRow(cell.rowIndex);\n }\n return this.paginationProxy.getRow(cell.rowIndex);\n };\n // we use index for rows, but column object for columns, as the next column (by index) might not\n // be visible (header grouping) so it's not reliable, so using the column object instead.\n NavigationService.prototype.navigateToNextCell = function (event, key, currentCell, allowUserOverride) {\n // we keep searching for a next cell until we find one. this is how the group rows get skipped\n var nextCell = currentCell;\n var hitEdgeOfGrid = false;\n while (nextCell && (nextCell === currentCell || !this.isValidNavigateCell(nextCell))) {\n // if the current cell is spanning across multiple columns, we need to move\n // our current position to be the last cell on the right before finding the\n // the next target.\n if (this.gridOptionsWrapper.isEnableRtl()) {\n if (key === KeyCode.LEFT) {\n nextCell = this.getLastCellOfColSpan(nextCell);\n }\n }\n else if (key === KeyCode.RIGHT) {\n nextCell = this.getLastCellOfColSpan(nextCell);\n }\n nextCell = this.cellNavigationService.getNextCellToFocus(key, nextCell);\n // eg if going down, and nextCell=undefined, means we are gone past the last row\n hitEdgeOfGrid = missing(nextCell);\n }\n if (hitEdgeOfGrid && event && event.key === KeyCode.UP) {\n nextCell = {\n rowIndex: -1,\n rowPinned: null,\n column: currentCell.column\n };\n }\n // allow user to override what cell to go to next. when doing normal cell navigation (with keys)\n // we allow this, however if processing 'enter after edit' we don't allow override\n if (allowUserOverride) {\n var userFunc = this.gridOptionsWrapper.getNavigateToNextCellFunc();\n if (exists(userFunc)) {\n var params = {\n key: key,\n previousCellPosition: currentCell,\n nextCellPosition: nextCell ? nextCell : null,\n event: event\n };\n var userCell = userFunc(params);\n if (exists(userCell)) {\n if (userCell.floating) {\n doOnce(function () { console.warn(\"AG Grid: tabToNextCellFunc return type should have attributes: rowIndex, rowPinned, column. However you had 'floating', maybe you meant 'rowPinned'?\"); }, 'no floating in userCell');\n userCell.rowPinned = userCell.floating;\n }\n nextCell = {\n rowPinned: userCell.rowPinned,\n rowIndex: userCell.rowIndex,\n column: userCell.column\n };\n }\n else {\n nextCell = null;\n }\n }\n }\n // no next cell means we have reached a grid boundary, eg left, right, top or bottom of grid\n if (!nextCell) {\n return;\n }\n if (nextCell.rowIndex < 0) {\n var headerLen = this.headerNavigationService.getHeaderRowCount();\n this.focusService.focusHeaderPosition({\n headerPosition: { headerRowIndex: headerLen + (nextCell.rowIndex), column: currentCell.column },\n event: event || undefined\n });\n return;\n }\n // in case we have col spanning we get the cellComp and use it to get the\n // position. This was we always focus the first cell inside the spanning.\n var normalisedPosition = this.getNormalisedPosition(nextCell);\n if (normalisedPosition) {\n this.focusPosition(normalisedPosition);\n }\n else {\n this.tryToFocusFullWidthRow(nextCell);\n }\n };\n NavigationService.prototype.getNormalisedPosition = function (cellPosition) {\n // ensureCellVisible first, to make sure cell at position is rendered.\n this.ensureCellVisible(cellPosition);\n var cellCtrl = this.getCellByPosition(cellPosition);\n // not guaranteed to have a cellComp when using the SSRM as blocks are loading.\n if (!cellCtrl) {\n return null;\n }\n cellPosition = cellCtrl.getCellPosition();\n // we call this again, as nextCell can be different to it's previous value due to Column Spanning\n // (ie if cursor moving from right to left, and cell is spanning columns, then nextCell was the\n // last column in the group, however now it's the first column in the group). if we didn't do\n // ensureCellVisible again, then we could only be showing the last portion (last column) of the\n // merged cells.\n this.ensureCellVisible(cellPosition);\n return cellPosition;\n };\n NavigationService.prototype.tryToFocusFullWidthRow = function (position, backwards) {\n if (backwards === void 0) { backwards = false; }\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var rowComp = this.rowRenderer.getRowByPosition(position);\n if (!rowComp || !rowComp.isFullWidth()) {\n return false;\n }\n var currentCellFocused = this.focusService.getFocusedCell();\n var cellPosition = {\n rowIndex: position.rowIndex,\n rowPinned: position.rowPinned,\n column: position.column || (backwards ? last(displayedColumns) : displayedColumns[0])\n };\n this.focusPosition(cellPosition);\n var fromBelow = currentCellFocused != null ? this.rowPositionUtils.before(cellPosition, currentCellFocused) : false;\n var focusEvent = {\n type: Events.EVENT_FULL_WIDTH_ROW_FOCUSED,\n rowIndex: cellPosition.rowIndex,\n rowPinned: cellPosition.rowPinned,\n column: cellPosition.column,\n isFullWidthCell: true,\n floating: cellPosition.rowPinned,\n fromBelow: fromBelow\n };\n this.eventService.dispatchEvent(focusEvent);\n return true;\n };\n NavigationService.prototype.focusPosition = function (cellPosition) {\n this.focusService.setFocusedCell({\n rowIndex: cellPosition.rowIndex,\n column: cellPosition.column,\n rowPinned: cellPosition.rowPinned,\n forceBrowserFocus: true\n });\n if (this.rangeService) {\n this.rangeService.setRangeToCell(cellPosition);\n }\n };\n NavigationService.prototype.isValidNavigateCell = function (cell) {\n var rowNode = this.rowPositionUtils.getRowNode(cell);\n // we do not allow focusing on detail rows and full width rows\n return !!rowNode;\n };\n NavigationService.prototype.getLastCellOfColSpan = function (cell) {\n var cellCtrl = this.getCellByPosition(cell);\n if (!cellCtrl) {\n return cell;\n }\n var colSpanningList = cellCtrl.getColSpanningList();\n if (colSpanningList.length === 1) {\n return cell;\n }\n return {\n rowIndex: cell.rowIndex,\n column: last(colSpanningList),\n rowPinned: cell.rowPinned\n };\n };\n NavigationService.prototype.ensureCellVisible = function (gridCell) {\n var _a;\n var isGroupStickyEnabled = this.gridOptionsWrapper.isGroupRowsSticky();\n var rowNode = this.rowModel.getRow(gridCell.rowIndex);\n // sticky rows are always visible, so the grid shouldn't scroll to focus them.\n var skipScrollToRow = isGroupStickyEnabled && ((_a = rowNode) === null || _a === void 0 ? void 0 : _a.sticky);\n // this scrolls the row into view\n if (!skipScrollToRow && missing(gridCell.rowPinned)) {\n this.gridBodyCon.getScrollFeature().ensureIndexVisible(gridCell.rowIndex);\n }\n if (!gridCell.column.isPinned()) {\n this.gridBodyCon.getScrollFeature().ensureColumnVisible(gridCell.column);\n }\n };\n __decorate$1B([\n Autowired('mouseEventService')\n ], NavigationService.prototype, \"mouseEventService\", void 0);\n __decorate$1B([\n Autowired('paginationProxy')\n ], NavigationService.prototype, \"paginationProxy\", void 0);\n __decorate$1B([\n Autowired('focusService')\n ], NavigationService.prototype, \"focusService\", void 0);\n __decorate$1B([\n Optional('rangeService')\n ], NavigationService.prototype, \"rangeService\", void 0);\n __decorate$1B([\n Autowired('columnModel')\n ], NavigationService.prototype, \"columnModel\", void 0);\n __decorate$1B([\n Autowired('rowModel')\n ], NavigationService.prototype, \"rowModel\", void 0);\n __decorate$1B([\n Autowired('ctrlsService')\n ], NavigationService.prototype, \"ctrlsService\", void 0);\n __decorate$1B([\n Autowired('rowRenderer')\n ], NavigationService.prototype, \"rowRenderer\", void 0);\n __decorate$1B([\n Autowired('headerNavigationService')\n ], NavigationService.prototype, \"headerNavigationService\", void 0);\n __decorate$1B([\n Autowired(\"rowPositionUtils\")\n ], NavigationService.prototype, \"rowPositionUtils\", void 0);\n __decorate$1B([\n Autowired(\"cellNavigationService\")\n ], NavigationService.prototype, \"cellNavigationService\", void 0);\n __decorate$1B([\n Autowired(\"pinnedRowModel\")\n ], NavigationService.prototype, \"pinnedRowModel\", void 0);\n __decorate$1B([\n PostConstruct\n ], NavigationService.prototype, \"postConstruct\", null);\n NavigationService = __decorate$1B([\n Bean('navigationService')\n ], NavigationService);\n return NavigationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1H = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PopupEditorWrapper = /** @class */ (function (_super) {\n __extends$1H(PopupEditorWrapper, _super);\n function PopupEditorWrapper(params) {\n var _this = _super.call(this, /* html */ \"
\") || this;\n _this.params = params;\n return _this;\n }\n PopupEditorWrapper.prototype.postConstruct = function () {\n this.gridOptionsWrapper.setDomData(this.getGui(), PopupEditorWrapper.DOM_KEY_POPUP_EDITOR_WRAPPER, true);\n this.addKeyDownListener();\n };\n PopupEditorWrapper.prototype.addKeyDownListener = function () {\n var _this = this;\n var eGui = this.getGui();\n var params = this.params;\n var listener = function (event) {\n if (!isUserSuppressingKeyboardEvent(_this.gridOptionsWrapper, event, params.node, params.column, true)) {\n params.onKeyDown(event);\n }\n };\n this.addManagedListener(eGui, 'keydown', listener);\n };\n PopupEditorWrapper.DOM_KEY_POPUP_EDITOR_WRAPPER = 'popupEditorWrapper';\n __decorate$1A([\n PostConstruct\n ], PopupEditorWrapper.prototype, \"postConstruct\", null);\n return PopupEditorWrapper;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1G = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellComp = /** @class */ (function (_super) {\n __extends$1G(CellComp, _super);\n function CellComp(beans, cellCtrl, printLayout, eRow, editingRow) {\n var _this = _super.call(this) || this;\n // every time we go into edit mode, or back again, this gets incremented.\n // it's the components way of dealing with the async nature of framework components,\n // so if a framework component takes a while to be created, we know if the object\n // is still relevant when creating is finished. eg we could click edit / un-edit 20\n // times before the first React edit component comes back - we should discard\n // the first 19.\n _this.rendererVersion = 0;\n _this.editorVersion = 0;\n _this.beans = beans;\n _this.column = cellCtrl.getColumn();\n _this.rowNode = cellCtrl.getRowNode();\n _this.rowCtrl = cellCtrl.getRowCtrl();\n _this.eRow = eRow;\n _this.setTemplate(/* html */ \"
\");\n var eGui = _this.getGui();\n _this.forceWrapper = cellCtrl.isForceWrapper();\n _this.refreshWrapper(false);\n var setAttribute = function (name, value, element) {\n var actualElement = element ? element : eGui;\n if (value != null && value != '') {\n actualElement.setAttribute(name, value);\n }\n else {\n actualElement.removeAttribute(name);\n }\n };\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setUserStyles: function (styles) { return addStylesToElement(eGui, styles); },\n getFocusableElement: function () { return _this.getFocusableElement(); },\n setTabIndex: function (tabIndex) { return setAttribute('tabindex', tabIndex.toString()); },\n setRole: function (role) { return setAriaRole(eGui, role); },\n setColId: function (colId) { return setAttribute('col-id', colId); },\n setTitle: function (title) { return setAttribute('title', title); },\n setIncludeSelection: function (include) { return _this.includeSelection = include; },\n setIncludeRowDrag: function (include) { return _this.includeRowDrag = include; },\n setIncludeDndSource: function (include) { return _this.includeDndSource = include; },\n setRenderDetails: function (compDetails, valueToDisplay, force) {\n return _this.setRenderDetails(compDetails, valueToDisplay, force);\n },\n setEditDetails: function (compDetails, popup, position) {\n return _this.setEditDetails(compDetails, popup, position);\n },\n getCellEditor: function () { return _this.cellEditor || null; },\n getCellRenderer: function () { return _this.cellRenderer || null; },\n getParentOfValue: function () { return _this.getParentOfValue(); }\n };\n _this.cellCtrl = cellCtrl;\n cellCtrl.setComp(compProxy, _this.getGui(), _this.eCellWrapper, printLayout, editingRow);\n return _this;\n }\n CellComp.prototype.getParentOfValue = function () {\n if (this.eCellValue) {\n // if not editing, and using wrapper, then value goes in eCellValue\n return this.eCellValue;\n }\n if (this.eCellWrapper) {\n // if editing, and using wrapper, value (cell editor) goes in eCellWrapper\n return this.eCellWrapper;\n }\n // if editing or rendering, and not using wrapper, value (or comp) is directly inside cell\n return this.getGui();\n };\n CellComp.prototype.setRenderDetails = function (compDetails, valueToDisplay, forceNewCellRendererInstance) {\n // this can happen if the users asks for the cell to refresh, but we are not showing the vale as we are editing\n var isInlineEditing = this.cellEditor && !this.cellEditorPopupWrapper;\n if (isInlineEditing) {\n return;\n }\n // this means firstRender will be true for one pass only, as it's initialised to undefined\n this.firstRender = this.firstRender == null;\n // if display template has changed, means any previous Cell Renderer is in the wrong location\n var controlWrapperChanged = this.refreshWrapper(false);\n // all of these have dependencies on the eGui, so only do them after eGui is set\n if (compDetails) {\n var neverRefresh = forceNewCellRendererInstance || controlWrapperChanged;\n var cellRendererRefreshSuccessful = neverRefresh ? false : this.refreshCellRenderer(compDetails);\n if (!cellRendererRefreshSuccessful) {\n this.destroyRenderer();\n this.createCellRendererInstance(compDetails);\n }\n }\n else {\n this.destroyRenderer();\n this.insertValueWithoutCellRenderer(valueToDisplay);\n }\n };\n CellComp.prototype.setEditDetails = function (compDetails, popup, position) {\n if (compDetails) {\n this.createCellEditorInstance(compDetails, popup, position);\n }\n else {\n this.destroyEditor();\n }\n };\n CellComp.prototype.removeControls = function () {\n this.checkboxSelectionComp = this.beans.context.destroyBean(this.checkboxSelectionComp);\n this.dndSourceComp = this.beans.context.destroyBean(this.dndSourceComp);\n this.rowDraggingComp = this.beans.context.destroyBean(this.rowDraggingComp);\n };\n // returns true if wrapper was changed\n CellComp.prototype.refreshWrapper = function (editing) {\n var providingControls = this.includeRowDrag || this.includeDndSource || this.includeSelection;\n var usingWrapper = providingControls || this.forceWrapper;\n var putWrapperIn = usingWrapper && this.eCellWrapper == null;\n if (putWrapperIn) {\n this.eCellWrapper = loadTemplate(\"
\");\n this.getGui().appendChild(this.eCellWrapper);\n }\n var takeWrapperOut = !usingWrapper && this.eCellWrapper != null;\n if (takeWrapperOut) {\n removeFromParent(this.eCellWrapper);\n this.eCellWrapper = undefined;\n }\n this.addOrRemoveCssClass('ag-cell-value', !usingWrapper);\n var usingCellValue = !editing && usingWrapper;\n var putCellValueIn = usingCellValue && this.eCellValue == null;\n if (putCellValueIn) {\n this.eCellValue = loadTemplate(\"\");\n this.eCellWrapper.appendChild(this.eCellValue);\n }\n var takeCellValueOut = !usingCellValue && this.eCellValue != null;\n if (takeCellValueOut) {\n removeFromParent(this.eCellValue);\n this.eCellValue = undefined;\n }\n var templateChanged = putWrapperIn || takeWrapperOut || putCellValueIn || takeCellValueOut;\n if (templateChanged) {\n this.removeControls();\n }\n if (!editing && providingControls) {\n this.addControls();\n }\n return templateChanged;\n };\n CellComp.prototype.addControls = function () {\n var id = this.eCellValue.id = \"cell-\" + this.getCompId();\n var describedByIds = [];\n setAriaHidden(this.eCellWrapper, true);\n if (this.includeRowDrag) {\n if (this.rowDraggingComp == null) {\n this.rowDraggingComp = this.cellCtrl.createRowDragComp();\n if (this.rowDraggingComp) {\n // put the checkbox in before the value\n this.eCellWrapper.insertBefore(this.rowDraggingComp.getGui(), this.eCellValue);\n }\n }\n }\n if (this.includeDndSource) {\n if (this.dndSourceComp == null) {\n this.dndSourceComp = this.cellCtrl.createDndSource();\n // put the checkbox in before the value\n this.eCellWrapper.insertBefore(this.dndSourceComp.getGui(), this.eCellValue);\n }\n }\n if (this.includeSelection) {\n if (this.checkboxSelectionComp == null) {\n this.checkboxSelectionComp = this.cellCtrl.createSelectionCheckbox();\n this.eCellWrapper.insertBefore(this.checkboxSelectionComp.getGui(), this.eCellValue);\n }\n describedByIds.push(this.checkboxSelectionComp.getCheckboxId());\n }\n describedByIds.push(id);\n setAriaDescribedBy(this.getGui(), describedByIds.join(' '));\n };\n CellComp.prototype.createCellEditorInstance = function (compDetails, popup, position) {\n var _this = this;\n var versionCopy = this.editorVersion;\n var cellEditorPromise = compDetails.newAgStackInstance();\n if (!cellEditorPromise) {\n return;\n } // if empty, userComponentFactory already did a console message\n var params = compDetails.params;\n cellEditorPromise.then(function (c) { return _this.afterCellEditorCreated(versionCopy, c, params, popup, position); });\n // if we don't do this, and editor component is async, then there will be a period\n // when the component isn't present and keyboard navigation won't work - so example\n // of user hitting tab quickly (more quickly than renderers getting created) won't work\n var cellEditorAsync = missing(this.cellEditor);\n if (cellEditorAsync && params.cellStartedEdit) {\n this.cellCtrl.focusCell(true);\n }\n };\n CellComp.prototype.insertValueWithoutCellRenderer = function (valueToDisplay) {\n var eParent = this.getParentOfValue();\n clearElement(eParent);\n var escapedValue = valueToDisplay != null ? escapeString(valueToDisplay) : null;\n if (escapedValue != null) {\n eParent.innerHTML = escapedValue;\n }\n };\n CellComp.prototype.destroyEditorAndRenderer = function () {\n this.destroyRenderer();\n this.destroyEditor();\n };\n CellComp.prototype.destroyRenderer = function () {\n var context = this.beans.context;\n this.cellRenderer = context.destroyBean(this.cellRenderer);\n removeFromParent(this.cellRendererGui);\n this.cellRendererGui = null;\n this.rendererVersion++;\n };\n CellComp.prototype.destroyEditor = function () {\n var context = this.beans.context;\n if (this.hideEditorPopup) {\n this.hideEditorPopup();\n }\n this.hideEditorPopup = undefined;\n this.cellEditor = context.destroyBean(this.cellEditor);\n this.cellEditorPopupWrapper = context.destroyBean(this.cellEditorPopupWrapper);\n removeFromParent(this.cellEditorGui);\n this.cellEditorGui = null;\n this.editorVersion++;\n };\n CellComp.prototype.refreshCellRenderer = function (compClassAndParams) {\n if (this.cellRenderer == null || this.cellRenderer.refresh == null) {\n return false;\n }\n // if different Cell Renderer configured this time (eg user is using selector, and\n // returns different component) then don't refresh, force recreate of Cell Renderer\n if (this.cellRendererClass !== compClassAndParams.componentClass) {\n return false;\n }\n // take any custom params off of the user\n var result = this.cellRenderer.refresh(compClassAndParams.params);\n // NOTE on undefined: previous version of the cellRenderer.refresh() interface\n // returned nothing, if the method existed, we assumed it refreshed. so for\n // backwards compatibility, we assume if method exists and returns nothing,\n // that it was successful.\n return result === true || result === undefined;\n };\n CellComp.prototype.createCellRendererInstance = function (compDetails) {\n var _this = this;\n // never use task service if angularCompileRows=true, as that assume the cell renderers\n // are finished when the row is created. also we never use it if animation frame service\n // is turned off.\n // and lastly we never use it if doing auto-height, as the auto-height service checks the\n // row height directly after the cell is created, it doesn't wait around for the tasks to complete\n var angularCompileRows = this.beans.gridOptionsWrapper.isAngularCompileRows();\n var suppressAnimationFrame = this.beans.gridOptionsWrapper.isSuppressAnimationFrame();\n var useTaskService = !angularCompileRows && !suppressAnimationFrame;\n var displayComponentVersionCopy = this.rendererVersion;\n var componentClass = compDetails.componentClass;\n var createCellRendererFunc = function () {\n var staleTask = _this.rendererVersion !== displayComponentVersionCopy || !_this.isAlive();\n if (staleTask) {\n return;\n }\n // this can return null in the event that the user has switched from a renderer component to nothing, for example\n // when using a cellRendererSelect to return a component or null depending on row data etc\n var componentPromise = compDetails.newAgStackInstance();\n var callback = _this.afterCellRendererCreated.bind(_this, displayComponentVersionCopy, componentClass);\n if (componentPromise) {\n componentPromise.then(callback);\n }\n };\n // we only use task service when rendering for first time, which means it is not used when doing edits.\n // if we changed this (always use task service) would make sense, however it would break tests, possibly\n // test of users.\n if (useTaskService && this.firstRender) {\n this.beans.animationFrameService.createTask(createCellRendererFunc, this.rowNode.rowIndex, 'createTasksP2');\n }\n else {\n createCellRendererFunc();\n }\n };\n CellComp.prototype.getCtrl = function () {\n return this.cellCtrl;\n };\n CellComp.prototype.getRowCtrl = function () {\n return this.rowCtrl;\n };\n CellComp.prototype.getCellRenderer = function () {\n return this.cellRenderer;\n };\n CellComp.prototype.getCellEditor = function () {\n return this.cellEditor;\n };\n CellComp.prototype.afterCellRendererCreated = function (cellRendererVersion, cellRendererClass, cellRenderer) {\n var staleTask = !this.isAlive() || cellRendererVersion !== this.rendererVersion;\n if (staleTask) {\n this.beans.context.destroyBean(cellRenderer);\n return;\n }\n this.cellRenderer = cellRenderer;\n this.cellRendererClass = cellRendererClass;\n this.cellRendererGui = this.cellRenderer.getGui();\n if (this.cellRendererGui != null) {\n var eParent = this.getParentOfValue();\n clearElement(eParent);\n eParent.appendChild(this.cellRendererGui);\n }\n };\n CellComp.prototype.afterCellEditorCreated = function (requestVersion, cellEditor, params, popup, position) {\n // if editingCell=false, means user cancelled the editor before component was ready.\n // if versionMismatch, then user cancelled the edit, then started the edit again, and this\n // is the first editor which is now stale.\n var staleComp = requestVersion !== this.editorVersion;\n if (staleComp) {\n this.beans.context.destroyBean(cellEditor);\n return;\n }\n var editingCancelledByUserComp = cellEditor.isCancelBeforeStart && cellEditor.isCancelBeforeStart();\n if (editingCancelledByUserComp) {\n this.beans.context.destroyBean(cellEditor);\n this.cellCtrl.stopEditing();\n return;\n }\n if (!cellEditor.getGui) {\n console.warn(\"AG Grid: cellEditor for column \" + this.column.getId() + \" is missing getGui() method\");\n this.beans.context.destroyBean(cellEditor);\n return;\n }\n this.cellEditor = cellEditor;\n this.cellEditorGui = cellEditor.getGui();\n var cellEditorInPopup = popup || (cellEditor.isPopup !== undefined && cellEditor.isPopup());\n if (cellEditorInPopup) {\n if (!popup) {\n this.cellCtrl.hackSayEditingInPopup();\n }\n this.addPopupCellEditor(params, position);\n }\n else {\n this.addInCellEditor();\n }\n if (cellEditor.afterGuiAttached) {\n cellEditor.afterGuiAttached();\n }\n };\n CellComp.prototype.addInCellEditor = function () {\n var eGui = this.getGui();\n // if focus is inside the cell, we move focus to the cell itself\n // before removing it's contents, otherwise errors could be thrown.\n var eDocument = this.beans.gridOptionsWrapper.getDocument();\n if (eGui.contains(eDocument.activeElement)) {\n eGui.focus();\n }\n this.destroyRenderer();\n this.refreshWrapper(true);\n this.clearParentOfValue();\n if (this.cellEditorGui) {\n var eParent = this.getParentOfValue();\n eParent.appendChild(this.cellEditorGui);\n }\n };\n CellComp.prototype.addPopupCellEditor = function (params, position) {\n var _this = this;\n if (this.beans.gridOptionsWrapper.isFullRowEdit()) {\n console.warn('AG Grid: popup cellEditor does not work with fullRowEdit - you cannot use them both ' +\n '- either turn off fullRowEdit, or stop using popup editors.');\n }\n var cellEditor = this.cellEditor;\n // if a popup, then we wrap in a popup editor and return the popup\n this.cellEditorPopupWrapper = this.beans.context.createBean(new PopupEditorWrapper(params));\n var ePopupGui = this.cellEditorPopupWrapper.getGui();\n if (this.cellEditorGui) {\n ePopupGui.appendChild(this.cellEditorGui);\n }\n var popupService = this.beans.popupService;\n var useModelPopup = this.beans.gridOptionsWrapper.isStopEditingWhenCellsLoseFocus();\n // see if position provided by colDef, if not then check old way of method on cellComp\n var positionToUse = position != null ? position : cellEditor.getPopupPosition ? cellEditor.getPopupPosition() : 'over';\n var positionParams = {\n column: this.column,\n rowNode: this.rowNode,\n type: 'popupCellEditor',\n eventSource: this.getGui(),\n ePopup: ePopupGui,\n keepWithinBounds: true\n };\n var positionCallback = positionToUse === 'under' ?\n popupService.positionPopupUnderComponent.bind(popupService, positionParams)\n : popupService.positionPopupOverComponent.bind(popupService, positionParams);\n var translate = this.beans.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = popupService.addPopup({\n modal: useModelPopup,\n eChild: ePopupGui,\n closeOnEsc: true,\n closedCallback: function () { _this.cellCtrl.onPopupEditorClosed(); },\n anchorToElement: this.getGui(),\n positionCallback: positionCallback,\n ariaLabel: translate('ariaLabelCellEditor', 'Cell Editor')\n });\n if (addPopupRes) {\n this.hideEditorPopup = addPopupRes.hideFunc;\n }\n };\n CellComp.prototype.detach = function () {\n this.eRow.removeChild(this.getGui());\n };\n // if the row is also getting destroyed, then we don't need to remove from dom,\n // as the row will also get removed, so no need to take out the cells from the row\n // if the row is going (removing is an expensive operation, so only need to remove\n // the top part)\n //\n // note - this is NOT called by context, as we don't wire / unwire the CellComp for performance reasons.\n CellComp.prototype.destroy = function () {\n this.cellCtrl.stopEditing();\n this.destroyEditorAndRenderer();\n this.removeControls();\n _super.prototype.destroy.call(this);\n };\n CellComp.prototype.clearParentOfValue = function () {\n var eGui = this.getGui();\n // if focus is inside the cell, we move focus to the cell itself\n // before removing it's contents, otherwise errors could be thrown.\n var eDocument = this.beans.gridOptionsWrapper.getDocument();\n if (eGui.contains(eDocument.activeElement) && browserSupportsPreventScroll()) {\n eGui.focus({ preventScroll: true });\n }\n clearElement(this.getParentOfValue());\n };\n return CellComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1F = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar RowComp = /** @class */ (function (_super) {\n __extends$1F(RowComp, _super);\n function RowComp(ctrl, beans, containerType) {\n var _this = _super.call(this) || this;\n _this.cellComps = {};\n _this.beans = beans;\n _this.rowCtrl = ctrl;\n _this.setTemplate(/* html */ \"
\");\n var eGui = _this.getGui();\n var style = eGui.style;\n var compProxy = {\n setDomOrder: function (domOrder) { return _this.domOrder = domOrder; },\n setCellCtrls: function (cellCtrls) { return _this.setCellCtrls(cellCtrls); },\n showFullWidth: function (compDetails) { return _this.showFullWidth(compDetails); },\n getFullWidthCellRenderer: function () { return _this.getFullWidthCellRenderer(); },\n addOrRemoveCssClass: function (name, on) { return _this.addOrRemoveCssClass(name, on); },\n setUserStyles: function (styles) { return addStylesToElement(eGui, styles); },\n setTop: function (top) { return style.top = top; },\n setTransform: function (transform) { return style.transform = transform; },\n setRowIndex: function (rowIndex) { return eGui.setAttribute('row-index', rowIndex); },\n setRole: function (role) { return setAriaRole(eGui, role); },\n setRowId: function (rowId) { return eGui.setAttribute('row-id', rowId); },\n setRowBusinessKey: function (businessKey) { return eGui.setAttribute('row-business-key', businessKey); },\n setTabIndex: function (tabIndex) { return eGui.setAttribute('tabindex', tabIndex.toString()); }\n };\n ctrl.setComp(compProxy, _this.getGui(), containerType);\n return _this;\n }\n RowComp.prototype.getInitialStyle = function () {\n var transform = this.rowCtrl.getInitialTransform();\n var top = this.rowCtrl.getInitialRowTop();\n return transform ? \"transform: \" + transform : \"top: \" + top;\n };\n RowComp.prototype.showFullWidth = function (compDetails) {\n var _this = this;\n var callback = function (cellRenderer) {\n if (_this.isAlive()) {\n var eGui = cellRenderer.getGui();\n _this.getGui().appendChild(eGui);\n _this.rowCtrl.setupDetailRowAutoHeight(eGui);\n _this.setFullWidthRowComp(cellRenderer);\n }\n else {\n _this.beans.context.destroyBean(cellRenderer);\n }\n };\n // if not in cache, create new one\n var res = compDetails.newAgStackInstance();\n if (!res) {\n return;\n }\n res.then(callback);\n };\n RowComp.prototype.setCellCtrls = function (cellCtrls) {\n var _this = this;\n var cellsToRemove = Object.assign({}, this.cellComps);\n cellCtrls.forEach(function (cellCtrl) {\n var key = cellCtrl.getInstanceId();\n var existingCellComp = _this.cellComps[key];\n if (existingCellComp == null) {\n _this.newCellComp(cellCtrl);\n }\n else {\n cellsToRemove[key] = null;\n }\n });\n var cellCompsToRemove = getAllValuesInObject(cellsToRemove)\n .filter(function (cellComp) { return cellComp != null; });\n this.destroyCells(cellCompsToRemove);\n this.ensureDomOrder(cellCtrls);\n };\n RowComp.prototype.ensureDomOrder = function (cellCtrls) {\n var _this = this;\n if (!this.domOrder) {\n return;\n }\n var elementsInOrder = [];\n cellCtrls.forEach(function (cellCtrl) {\n var cellComp = _this.cellComps[cellCtrl.getInstanceId()];\n if (cellComp) {\n elementsInOrder.push(cellComp.getGui());\n }\n });\n setDomChildOrder(this.getGui(), elementsInOrder);\n };\n RowComp.prototype.newCellComp = function (cellCtrl) {\n var cellComp = new CellComp(this.beans, cellCtrl, this.rowCtrl.isPrintLayout(), this.getGui(), this.rowCtrl.isEditing());\n this.cellComps[cellCtrl.getInstanceId()] = cellComp;\n this.getGui().appendChild(cellComp.getGui());\n };\n RowComp.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.destroyAllCells();\n };\n RowComp.prototype.destroyAllCells = function () {\n var cellsToDestroy = getAllValuesInObject(this.cellComps).filter(function (cp) { return cp != null; });\n this.destroyCells(cellsToDestroy);\n };\n RowComp.prototype.setFullWidthRowComp = function (fullWidthRowComponent) {\n var _this = this;\n if (this.fullWidthCellRenderer) {\n console.error('AG Grid - should not be setting fullWidthRowComponent twice');\n }\n this.fullWidthCellRenderer = fullWidthRowComponent;\n this.addDestroyFunc(function () {\n _this.fullWidthCellRenderer = _this.beans.context.destroyBean(_this.fullWidthCellRenderer);\n });\n };\n RowComp.prototype.getFullWidthCellRenderer = function () {\n return this.fullWidthCellRenderer;\n };\n RowComp.prototype.destroyCells = function (cellComps) {\n var _this = this;\n cellComps.forEach(function (cellComp) {\n // could be old reference, ie removed cell\n if (!cellComp) {\n return;\n }\n // check cellComp belongs in this container\n var instanceId = cellComp.getCtrl().getInstanceId();\n if (_this.cellComps[instanceId] !== cellComp) {\n return;\n }\n cellComp.detach();\n cellComp.destroy();\n _this.cellComps[instanceId] = null;\n });\n };\n return RowComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1E = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$3 = (undefined && undefined.__assign) || function () {\n __assign$3 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$3.apply(this, arguments);\n};\nvar __decorate$1z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nfunction templateFactory() {\n var name = Component.elementGettingCreated.getAttribute('name');\n var cssClasses = RowContainerCtrl.getRowContainerCssClasses(name);\n var res;\n var template1 = name === RowContainerName.CENTER;\n var template2 = name === RowContainerName.TOP_CENTER\n || name === RowContainerName.STICKY_TOP_CENTER\n || name === RowContainerName.BOTTOM_CENTER;\n if (template1) {\n res = /* html */\n \"
\\n
\\n
\\n
\\n
\";\n }\n else if (template2) {\n res = /* html */\n \"
\\n
\\n
\";\n }\n else {\n res = /* html */\n \"
\";\n }\n return res;\n}\nvar RowContainerComp = /** @class */ (function (_super) {\n __extends$1E(RowContainerComp, _super);\n function RowContainerComp() {\n var _this = _super.call(this, templateFactory()) || this;\n _this.rowComps = {};\n _this.name = Component.elementGettingCreated.getAttribute('name');\n _this.type = getRowContainerTypeForName(_this.name);\n return _this;\n }\n RowContainerComp.prototype.postConstruct = function () {\n var _this = this;\n var compProxy = {\n setViewportHeight: function (height) { return _this.eViewport.style.height = height; },\n setRowCtrls: function (rowCtrls) { return _this.setRowCtrls(rowCtrls); },\n setDomOrder: function (domOrder) {\n _this.domOrder = domOrder;\n },\n setContainerWidth: function (width) { return _this.eContainer.style.width = width; }\n };\n var ctrl = this.createManagedBean(new RowContainerCtrl(this.name));\n ctrl.setComp(compProxy, this.eContainer, this.eViewport, this.eWrapper);\n };\n RowContainerComp.prototype.preDestroy = function () {\n // destroys all row comps\n this.setRowCtrls([]);\n };\n RowContainerComp.prototype.setRowCtrls = function (rowCtrls) {\n var _this = this;\n var oldRows = __assign$3({}, this.rowComps);\n this.rowComps = {};\n this.lastPlacedElement = null;\n var processRow = function (rowCon) {\n var instanceId = rowCon.getInstanceId();\n var existingRowComp = oldRows[instanceId];\n if (existingRowComp) {\n _this.rowComps[instanceId] = existingRowComp;\n delete oldRows[instanceId];\n _this.ensureDomOrder(existingRowComp.getGui());\n }\n else {\n var rowComp = _this.newRowComp(rowCon);\n _this.rowComps[instanceId] = rowComp;\n _this.appendRow(rowComp.getGui());\n }\n };\n rowCtrls.forEach(processRow);\n getAllValuesInObject(oldRows).forEach(function (oldRowComp) {\n _this.eContainer.removeChild(oldRowComp.getGui());\n oldRowComp.destroy();\n });\n setAriaRole(this.eContainer, rowCtrls.length ? \"rowgroup\" : \"presentation\");\n };\n RowContainerComp.prototype.appendRow = function (element) {\n if (this.domOrder) {\n insertWithDomOrder(this.eContainer, element, this.lastPlacedElement);\n }\n else {\n this.eContainer.appendChild(element);\n }\n this.lastPlacedElement = element;\n };\n RowContainerComp.prototype.ensureDomOrder = function (eRow) {\n if (this.domOrder) {\n ensureDomOrder(this.eContainer, eRow, this.lastPlacedElement);\n this.lastPlacedElement = eRow;\n }\n };\n RowContainerComp.prototype.newRowComp = function (rowCtrl) {\n RowContainerCtrl.getPinned(this.name);\n var res = new RowComp(rowCtrl, this.beans, this.type);\n return res;\n };\n __decorate$1z([\n Autowired('beans')\n ], RowContainerComp.prototype, \"beans\", void 0);\n __decorate$1z([\n RefSelector('eViewport')\n ], RowContainerComp.prototype, \"eViewport\", void 0);\n __decorate$1z([\n RefSelector('eContainer')\n ], RowContainerComp.prototype, \"eContainer\", void 0);\n __decorate$1z([\n RefSelector('eWrapper')\n ], RowContainerComp.prototype, \"eWrapper\", void 0);\n __decorate$1z([\n PostConstruct\n ], RowContainerComp.prototype, \"postConstruct\", null);\n __decorate$1z([\n PreDestroy\n ], RowContainerComp.prototype, \"preDestroy\", null);\n return RowContainerComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$1y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar BodyDropPivotTarget = /** @class */ (function () {\n function BodyDropPivotTarget(pinned) {\n this.columnsToAggregate = [];\n this.columnsToGroup = [];\n this.columnsToPivot = [];\n this.pinned = pinned;\n }\n /** Callback for when drag enters */\n BodyDropPivotTarget.prototype.onDragEnter = function (draggingEvent) {\n var _this = this;\n this.clearColumnsList();\n // in pivot mode, we don't accept any drops if functions are read only\n if (this.gridOptionsWrapper.isFunctionsReadOnly()) {\n return;\n }\n var dragColumns = draggingEvent.dragItem.columns;\n if (!dragColumns) {\n return;\n }\n dragColumns.forEach(function (column) {\n // we don't allow adding secondary columns\n if (!column.isPrimary()) {\n return;\n }\n if (column.isAnyFunctionActive()) {\n return;\n }\n if (column.isAllowValue()) {\n _this.columnsToAggregate.push(column);\n }\n else if (column.isAllowRowGroup()) {\n _this.columnsToGroup.push(column);\n }\n else if (column.isAllowPivot()) {\n _this.columnsToPivot.push(column);\n }\n });\n };\n BodyDropPivotTarget.prototype.getIconName = function () {\n var totalColumns = this.columnsToAggregate.length + this.columnsToGroup.length + this.columnsToPivot.length;\n if (totalColumns > 0) {\n return this.pinned ? DragAndDropService.ICON_PINNED : DragAndDropService.ICON_MOVE;\n }\n return null;\n };\n /** Callback for when drag leaves */\n BodyDropPivotTarget.prototype.onDragLeave = function (draggingEvent) {\n // if we are taking columns out of the center, then we remove them from the report\n this.clearColumnsList();\n };\n BodyDropPivotTarget.prototype.clearColumnsList = function () {\n this.columnsToAggregate.length = 0;\n this.columnsToGroup.length = 0;\n this.columnsToPivot.length = 0;\n };\n /** Callback for when dragging */\n BodyDropPivotTarget.prototype.onDragging = function (draggingEvent) {\n };\n /** Callback for when drag stops */\n BodyDropPivotTarget.prototype.onDragStop = function (draggingEvent) {\n if (this.columnsToAggregate.length > 0) {\n this.columnModel.addValueColumns(this.columnsToAggregate, \"toolPanelDragAndDrop\");\n }\n if (this.columnsToGroup.length > 0) {\n this.columnModel.addRowGroupColumns(this.columnsToGroup, \"toolPanelDragAndDrop\");\n }\n if (this.columnsToPivot.length > 0) {\n this.columnModel.addPivotColumns(this.columnsToPivot, \"toolPanelDragAndDrop\");\n }\n };\n __decorate$1y([\n Autowired('columnModel')\n ], BodyDropPivotTarget.prototype, \"columnModel\", void 0);\n __decorate$1y([\n Autowired('gridOptionsWrapper')\n ], BodyDropPivotTarget.prototype, \"gridOptionsWrapper\", void 0);\n return BodyDropPivotTarget;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$1x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$e = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar MoveColumnFeature = /** @class */ (function () {\n function MoveColumnFeature(pinned, eContainer) {\n this.needToMoveLeft = false;\n this.needToMoveRight = false;\n this.pinned = pinned;\n this.eContainer = eContainer;\n this.centerContainer = !exists(pinned);\n }\n MoveColumnFeature.prototype.init = function () {\n var _this = this;\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCon = _this.ctrlsService.getGridBodyCtrl();\n });\n };\n MoveColumnFeature.prototype.getIconName = function () {\n return this.pinned ? DragAndDropService.ICON_PINNED : DragAndDropService.ICON_MOVE;\n };\n MoveColumnFeature.prototype.onDragEnter = function (draggingEvent) {\n // we do dummy drag, so make sure column appears in the right location when first placed\n var columns = draggingEvent.dragItem.columns;\n var dragCameFromToolPanel = draggingEvent.dragSource.type === DragSourceType.ToolPanel;\n if (dragCameFromToolPanel) {\n // the if statement doesn't work if drag leaves grid, then enters again\n this.setColumnsVisible(columns, true, \"uiColumnDragged\");\n }\n else {\n // restore previous state of visible columns upon re-entering. this means if the user drags\n // a group out, and then drags the group back in, only columns that were originally visible\n // will be visible again. otherwise a group with three columns (but only two visible) could\n // be dragged out, then when it's dragged in again, all three are visible. this stops that.\n var visibleState_1 = draggingEvent.dragItem.visibleState;\n var visibleColumns = (columns || []).filter(function (column) { return visibleState_1[column.getId()]; });\n this.setColumnsVisible(visibleColumns, true, \"uiColumnDragged\");\n }\n this.setColumnsPinned(columns, this.pinned, \"uiColumnDragged\");\n this.onDragging(draggingEvent, true, true);\n };\n MoveColumnFeature.prototype.onDragLeave = function (draggingEvent) {\n this.ensureIntervalCleared();\n };\n MoveColumnFeature.prototype.setColumnsVisible = function (columns, visible, source) {\n if (source === void 0) { source = \"api\"; }\n if (columns) {\n var allowedCols = columns.filter(function (c) { return !c.getColDef().lockVisible; });\n this.columnModel.setColumnsVisible(allowedCols, visible, source);\n }\n };\n MoveColumnFeature.prototype.setColumnsPinned = function (columns, pinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (columns) {\n var allowedCols = columns.filter(function (c) { return !c.getColDef().lockPinned; });\n this.columnModel.setColumnsPinned(allowedCols, pinned, source);\n }\n };\n MoveColumnFeature.prototype.onDragStop = function () {\n this.ensureIntervalCleared();\n };\n MoveColumnFeature.prototype.normaliseX = function (x) {\n // flip the coordinate if doing RTL\n if (this.gridOptionsWrapper.isEnableRtl()) {\n var clientWidth = this.eContainer.clientWidth;\n x = clientWidth - x;\n }\n // adjust for scroll only if centre container (the pinned containers don't scroll)\n if (this.centerContainer) {\n x += this.ctrlsService.getCenterRowContainerCtrl().getCenterViewportScrollLeft();\n }\n return x;\n };\n MoveColumnFeature.prototype.checkCenterForScrolling = function (xAdjustedForScroll) {\n if (this.centerContainer) {\n // scroll if the mouse has gone outside the grid (or just outside the scrollable part if pinning)\n // putting in 50 buffer, so even if user gets to edge of grid, a scroll will happen\n var firstVisiblePixel = this.ctrlsService.getCenterRowContainerCtrl().getCenterViewportScrollLeft();\n var lastVisiblePixel = firstVisiblePixel + this.ctrlsService.getCenterRowContainerCtrl().getCenterWidth();\n if (this.gridOptionsWrapper.isEnableRtl()) {\n this.needToMoveRight = xAdjustedForScroll < (firstVisiblePixel + 50);\n this.needToMoveLeft = xAdjustedForScroll > (lastVisiblePixel - 50);\n }\n else {\n this.needToMoveLeft = xAdjustedForScroll < (firstVisiblePixel + 50);\n this.needToMoveRight = xAdjustedForScroll > (lastVisiblePixel - 50);\n }\n if (this.needToMoveLeft || this.needToMoveRight) {\n this.ensureIntervalStarted();\n }\n else {\n this.ensureIntervalCleared();\n }\n }\n };\n MoveColumnFeature.prototype.onDragging = function (draggingEvent, fromEnter, fakeEvent) {\n var _this = this;\n if (fromEnter === void 0) { fromEnter = false; }\n if (fakeEvent === void 0) { fakeEvent = false; }\n this.lastDraggingEvent = draggingEvent;\n // if moving up or down (ie not left or right) then do nothing\n if (missing(draggingEvent.hDirection)) {\n return;\n }\n var mouseXNormalised = this.normaliseX(draggingEvent.x);\n // if the user is dragging into the panel, ie coming from the side panel into the main grid,\n // we don't want to scroll the grid this time, it would appear like the table is jumping\n // each time a column is dragged in.\n if (!fromEnter) {\n this.checkCenterForScrolling(mouseXNormalised);\n }\n var hDirectionNormalised = this.normaliseDirection(draggingEvent.hDirection);\n var dragSourceType = draggingEvent.dragSource.type;\n var columnsToMove = draggingEvent.dragSource.getDragItem().columns;\n columnsToMove = columnsToMove.filter(function (col) {\n if (col.getColDef().lockPinned) {\n // if locked return true only if both col and container are same pin type.\n // double equals (==) here on purpose so that null==undefined is true (for not pinned options)\n return col.getPinned() == _this.pinned;\n }\n // if not pin locked, then always allowed to be in this container\n return true;\n });\n this.attemptMoveColumns(dragSourceType, columnsToMove, hDirectionNormalised, mouseXNormalised, fromEnter, fakeEvent);\n };\n MoveColumnFeature.prototype.normaliseDirection = function (hDirection) {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n switch (hDirection) {\n case HorizontalDirection.Left: return HorizontalDirection.Right;\n case HorizontalDirection.Right: return HorizontalDirection.Left;\n default: console.error(\"AG Grid: Unknown direction \" + hDirection);\n }\n }\n else {\n return hDirection;\n }\n };\n // returns the index of the first column in the list ONLY if the cols are all beside\n // each other. if the cols are not beside each other, then returns null\n MoveColumnFeature.prototype.calculateOldIndex = function (movingCols) {\n var gridCols = this.columnModel.getAllGridColumns();\n var indexes = sortNumerically(movingCols.map(function (col) { return gridCols.indexOf(col); }));\n var firstIndex = indexes[0];\n var lastIndex = last(indexes);\n var spread = lastIndex - firstIndex;\n var gapsExist = spread !== indexes.length - 1;\n return gapsExist ? null : firstIndex;\n };\n MoveColumnFeature.prototype.attemptMoveColumns = function (dragSourceType, allMovingColumns, hDirection, mouseX, fromEnter, fakeEvent) {\n var draggingLeft = hDirection === HorizontalDirection.Left;\n var draggingRight = hDirection === HorizontalDirection.Right;\n if (dragSourceType === DragSourceType.HeaderCell) {\n // If the columns we're dragging are the only visible columns of their group, move the hidden ones too\n var newCols_1 = [];\n allMovingColumns.forEach(function (col) {\n var movingGroup = null;\n var parent = col.getParent();\n while (parent != null && parent.getDisplayedLeafColumns().length === 1) {\n movingGroup = parent;\n parent = parent.getParent();\n }\n if (movingGroup != null) {\n movingGroup.getLeafColumns().forEach(function (newCol) {\n if (!newCols_1.includes(newCol)) {\n newCols_1.push(newCol);\n }\n });\n }\n else if (!newCols_1.includes(col)) {\n newCols_1.push(col);\n }\n });\n allMovingColumns = newCols_1;\n }\n // it is important to sort the moving columns as they are in grid columns, as the list of moving columns\n // could themselves be part of 'married children' groups, which means we need to maintain the order within\n // the moving list.\n var allMovingColumnsOrdered = allMovingColumns.slice();\n this.columnModel.sortColumnsLikeGridColumns(allMovingColumnsOrdered);\n var validMoves = this.calculateValidMoves(allMovingColumnsOrdered, draggingRight, mouseX);\n // if cols are not adjacent, then this returns null. when moving, we constrain the direction of the move\n // (ie left or right) to the mouse direction. however\n var oldIndex = this.calculateOldIndex(allMovingColumnsOrdered);\n if (validMoves.length === 0) {\n return;\n }\n var firstValidMove = validMoves[0];\n // the two check below stop an error when the user grabs a group my a middle column, then\n // it is possible the mouse pointer is to the right of a column while been dragged left.\n // so we need to make sure that the mouse pointer is actually left of the left most column\n // if moving left, and right of the right most column if moving right\n // we check 'fromEnter' below so we move the column to the new spot if the mouse is coming from\n // outside the grid, eg if the column is moving from side panel, mouse is moving left, then we should\n // place the column to the RHS even if the mouse is moving left and the column is already on\n // the LHS. otherwise we stick to the rule described above.\n var constrainDirection = oldIndex !== null && !fromEnter;\n // don't consider 'fromEnter' when dragging header cells, otherwise group can jump to opposite direction of drag\n if (dragSourceType == DragSourceType.HeaderCell) {\n constrainDirection = oldIndex !== null;\n }\n // if the event was faked by a change in column pin state, then the original location of the column\n // is not reliable for dictating where the column may now be placed.\n if (constrainDirection && !fakeEvent) {\n // only allow left drag if this column is moving left\n if (draggingLeft && firstValidMove >= oldIndex) {\n return;\n }\n // only allow right drag if this column is moving right\n if (draggingRight && firstValidMove <= oldIndex) {\n return;\n }\n }\n // From when we find a move that passes all the rules\n // Remember what that move would look like in terms of displayed cols\n // keep going with further moves until we find a different result in displayed output\n // In this way potentialMoves contains all potential moves over 'hidden' columns\n var displayedCols = this.columnModel.getAllDisplayedColumns();\n var potentialMoves = [];\n var targetOrder = null;\n for (var i = 0; i < validMoves.length; i++) {\n var move = validMoves[i];\n var order = this.columnModel.getProposedColumnOrder(allMovingColumnsOrdered, move);\n if (!this.columnModel.doesOrderPassRules(order)) {\n continue;\n }\n var displayedOrder = order.filter(function (col) { return displayedCols.includes(col); });\n if (targetOrder === null) {\n targetOrder = displayedOrder;\n }\n else if (!_.areEqual(displayedOrder, targetOrder)) {\n break; // Stop looking for potential moves if the displayed result changes from the target\n }\n var fragCount = this.groupFragCount(order);\n potentialMoves.push({ move: move, fragCount: fragCount });\n }\n if (potentialMoves.length === 0) {\n return;\n }\n // The best move is the move with least group fragmentation\n potentialMoves.sort(function (a, b) { return a.fragCount - b.fragCount; });\n var bestMove = potentialMoves[0].move;\n this.columnModel.moveColumns(allMovingColumnsOrdered, bestMove, \"uiColumnDragged\");\n };\n // A measure of how fragmented in terms of groups an order of columns is\n MoveColumnFeature.prototype.groupFragCount = function (columns) {\n function parents(col) {\n var result = [];\n var parent = col.getOriginalParent();\n while (parent != null) {\n result.push(parent);\n parent = parent.getOriginalParent();\n }\n return result;\n }\n var count = 0;\n var _loop_1 = function (i) {\n var _a;\n var a = parents(columns[i]);\n var b = parents(columns[i + 1]);\n // iterate over the longest one\n _a = __read$e(a.length > b.length ? [a, b] : [b, a], 2), a = _a[0], b = _a[1];\n a.forEach(function (parent) {\n if (b.indexOf(parent) === -1) {\n count++; // More fragmented if other column doesn't share the parent\n }\n });\n };\n for (var i = 0; i < columns.length - 1; i++) {\n _loop_1(i);\n }\n return count;\n };\n MoveColumnFeature.prototype.calculateValidMoves = function (movingCols, draggingRight, mouseX) {\n var isMoveBlocked = this.gridOptionsWrapper.isSuppressMovableColumns() || movingCols.some(function (col) { return col.getColDef().suppressMovable; });\n if (isMoveBlocked) {\n return [];\n }\n // this is the list of cols on the screen, so it's these we use when comparing the x mouse position\n var allDisplayedCols = this.columnModel.getDisplayedColumns(this.pinned);\n // but this list is the list of all cols, when we move a col it's the index within this list that gets used,\n // so the result we return has to be and index location for this list\n var allGridCols = this.columnModel.getAllGridColumns();\n var movingDisplayedCols = allDisplayedCols.filter(function (col) { return includes(movingCols, col); });\n var otherDisplayedCols = allDisplayedCols.filter(function (col) { return !includes(movingCols, col); });\n var otherGridCols = allGridCols.filter(function (col) { return !includes(movingCols, col); });\n // work out how many DISPLAYED columns fit before the 'x' position. this gives us the displayIndex.\n // for example, if cols are a,b,c,d and we find a,b fit before 'x', then we want to place the moving\n // col between b and c (so that it is under the mouse position).\n var displayIndex = 0;\n var availableWidth = mouseX;\n // if we are dragging right, then the columns will be to the left of the mouse, so we also want to\n // include the width of the moving columns\n if (draggingRight) {\n var widthOfMovingDisplayedCols_1 = 0;\n movingDisplayedCols.forEach(function (col) { return widthOfMovingDisplayedCols_1 += col.getActualWidth(); });\n availableWidth -= widthOfMovingDisplayedCols_1;\n }\n if (availableWidth > 0) {\n // now count how many of the displayed columns will fit to the left\n for (var i = 0; i < otherDisplayedCols.length; i++) {\n var col = otherDisplayedCols[i];\n availableWidth -= col.getActualWidth();\n if (availableWidth < 0) {\n break;\n }\n displayIndex++;\n }\n // trial and error, if going right, we adjust by one, i didn't manage to quantify why, but it works\n if (draggingRight) {\n displayIndex++;\n }\n }\n // the display index is with respect to all the showing columns, however when we move, it's with\n // respect to all grid columns, so we need to translate from display index to grid index\n var firstValidMove;\n if (displayIndex > 0) {\n var leftColumn = otherDisplayedCols[displayIndex - 1];\n firstValidMove = otherGridCols.indexOf(leftColumn) + 1;\n }\n else {\n firstValidMove = otherGridCols.indexOf(otherDisplayedCols[0]);\n if (firstValidMove === -1) {\n firstValidMove = 0;\n }\n }\n var validMoves = [firstValidMove];\n var numberComparator = function (a, b) { return a - b; };\n // add in other valid moves due to hidden columns and married children. for example, a particular\n // move might break a group that has married children (so move isn't valid), however there could\n // be hidden columns (not displayed) that we could jump over to make the move valid. because\n // they are hidden, user doesn't see any different, however it allows moves that would otherwise\n // not work. for example imagine a group with 9 columns and all columns are hidden except the\n // middle one (so 4 hidden to left, 4 hidden to right), then when moving 'firstValidMove' will\n // be relative to the not-shown column, however we need to consider the move jumping over all the\n // hidden children. if we didn't do this, then if the group just described was at the end (RHS) of the\n // grid, there would be no way to put a column after it (as the grid would only consider beside the\n // visible column, which would fail valid move rules).\n if (draggingRight) {\n // if dragging right, then we add all the additional moves to the right. so in other words\n // if the next move is not valid, find the next move to the right that is valid.\n var pointer = firstValidMove + 1;\n var lastIndex = allGridCols.length - 1;\n while (pointer <= lastIndex) {\n validMoves.push(pointer);\n pointer++;\n }\n // adding columns here means the order is now messed up\n validMoves.sort(numberComparator);\n }\n else {\n // if dragging left we do the reverse of dragging right, we add in all the valid moves to the\n // left. however we also have to consider moves to the right for all hidden columns first.\n // (this logic is hard to reason with, it was worked out with trial and error,\n // more observation rather than science).\n // add moves to the right\n var pointer = firstValidMove;\n var lastIndex = allGridCols.length - 1;\n var displacedCol = allGridCols[pointer];\n while (pointer <= lastIndex && this.isColumnHidden(allDisplayedCols, displacedCol)) {\n pointer++;\n validMoves.push(pointer);\n displacedCol = allGridCols[pointer];\n }\n // add moves to the left\n pointer = firstValidMove - 1;\n var firstDisplayIndex = 0;\n while (pointer >= firstDisplayIndex) {\n validMoves.push(pointer);\n pointer--;\n }\n // adding columns here means the order is now messed up\n validMoves.sort(numberComparator).reverse();\n }\n return validMoves;\n };\n // isHidden takes into account visible=false and group=closed, ie it is not displayed\n MoveColumnFeature.prototype.isColumnHidden = function (displayedColumns, col) {\n return displayedColumns.indexOf(col) < 0;\n };\n MoveColumnFeature.prototype.ensureIntervalStarted = function () {\n if (!this.movingIntervalId) {\n this.intervalCount = 0;\n this.failedMoveAttempts = 0;\n this.movingIntervalId = window.setInterval(this.moveInterval.bind(this), 100);\n if (this.needToMoveLeft) {\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_LEFT, true);\n }\n else {\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_RIGHT, true);\n }\n }\n };\n MoveColumnFeature.prototype.ensureIntervalCleared = function () {\n if (this.movingIntervalId) {\n window.clearInterval(this.movingIntervalId);\n this.movingIntervalId = null;\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_MOVE);\n }\n };\n MoveColumnFeature.prototype.moveInterval = function () {\n // the amounts we move get bigger at each interval, so the speed accelerates, starting a bit slow\n // and getting faster. this is to give smoother user experience. we max at 100px to limit the speed.\n var pixelsToMove;\n this.intervalCount++;\n pixelsToMove = 10 + (this.intervalCount * 5);\n if (pixelsToMove > 100) {\n pixelsToMove = 100;\n }\n var pixelsMoved = null;\n var scrollFeature = this.gridBodyCon.getScrollFeature();\n if (this.needToMoveLeft) {\n pixelsMoved = scrollFeature.scrollHorizontally(-pixelsToMove);\n }\n else if (this.needToMoveRight) {\n pixelsMoved = scrollFeature.scrollHorizontally(pixelsToMove);\n }\n if (pixelsMoved !== 0) {\n this.onDragging(this.lastDraggingEvent);\n this.failedMoveAttempts = 0;\n }\n else {\n // we count the failed move attempts. if we fail to move 7 times, then we pin the column.\n // this is how we achieve pining by dragging the column to the edge of the grid.\n this.failedMoveAttempts++;\n var columns = this.lastDraggingEvent.dragItem.columns;\n var columnsThatCanPin = columns.filter(function (c) { return !c.getColDef().lockPinned; });\n if (columnsThatCanPin.length > 0) {\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_PINNED);\n if (this.failedMoveAttempts > 7) {\n var pinType = this.needToMoveLeft ? Constants.PINNED_LEFT : Constants.PINNED_RIGHT;\n this.setColumnsPinned(columnsThatCanPin, pinType, \"uiColumnDragged\");\n this.dragAndDropService.nudge();\n }\n }\n }\n };\n __decorate$1x([\n Autowired('columnModel')\n ], MoveColumnFeature.prototype, \"columnModel\", void 0);\n __decorate$1x([\n Autowired('dragAndDropService')\n ], MoveColumnFeature.prototype, \"dragAndDropService\", void 0);\n __decorate$1x([\n Autowired('gridOptionsWrapper')\n ], MoveColumnFeature.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$1x([\n Autowired('ctrlsService')\n ], MoveColumnFeature.prototype, \"ctrlsService\", void 0);\n __decorate$1x([\n PostConstruct\n ], MoveColumnFeature.prototype, \"init\", null);\n return MoveColumnFeature;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1D = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar BodyDropTarget = /** @class */ (function (_super) {\n __extends$1D(BodyDropTarget, _super);\n function BodyDropTarget(pinned, eContainer) {\n var _this = _super.call(this) || this;\n _this.pinned = pinned;\n _this.eContainer = eContainer;\n return _this;\n }\n BodyDropTarget.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n switch (_this.pinned) {\n case Constants.PINNED_LEFT:\n _this.eSecondaryContainers = [\n [p.gridBodyCtrl.getBodyViewportElement(), p.leftRowContainerCtrl.getContainerElement()],\n [p.bottomLeftRowContainerCtrl.getContainerElement()],\n [p.topLeftRowContainerCtrl.getContainerElement()]\n ];\n break;\n case Constants.PINNED_RIGHT:\n _this.eSecondaryContainers = [\n [p.gridBodyCtrl.getBodyViewportElement(), p.rightRowContainerCtrl.getContainerElement()],\n [p.bottomRightRowContainerCtrl.getContainerElement()],\n [p.topRightRowContainerCtrl.getContainerElement()]\n ];\n break;\n default:\n _this.eSecondaryContainers = [\n [p.gridBodyCtrl.getBodyViewportElement(), p.centerRowContainerCtrl.getViewportElement()],\n [p.bottomCenterRowContainerCtrl.getViewportElement()],\n [p.topCenterRowContainerCtrl.getViewportElement()]\n ];\n break;\n }\n });\n };\n BodyDropTarget.prototype.isInterestedIn = function (type) {\n return type === DragSourceType.HeaderCell ||\n (type === DragSourceType.ToolPanel && this.gridOptionsWrapper.isAllowDragFromColumnsToolPanel());\n };\n BodyDropTarget.prototype.getSecondaryContainers = function () {\n return this.eSecondaryContainers;\n };\n BodyDropTarget.prototype.getContainer = function () {\n return this.eContainer;\n };\n BodyDropTarget.prototype.init = function () {\n this.moveColumnFeature = this.createManagedBean(new MoveColumnFeature(this.pinned, this.eContainer));\n this.bodyDropPivotTarget = this.createManagedBean(new BodyDropPivotTarget(this.pinned));\n this.dragAndDropService.addDropTarget(this);\n };\n BodyDropTarget.prototype.getIconName = function () {\n return this.currentDropListener.getIconName();\n };\n // we want to use the bodyPivotTarget if the user is dragging columns in from the toolPanel\n // and we are in pivot mode, as it has to logic to set pivot/value/group on the columns when\n // dropped into the grid's body.\n BodyDropTarget.prototype.isDropColumnInPivotMode = function (draggingEvent) {\n // in pivot mode, then if moving a column (ie didn't come from toolpanel) then it's\n // a standard column move, however if it came from the toolpanel, then we are introducing\n // dimensions or values to the grid\n return this.columnModel.isPivotMode() && draggingEvent.dragSource.type === DragSourceType.ToolPanel;\n };\n BodyDropTarget.prototype.onDragEnter = function (draggingEvent) {\n // we pick the drop listener depending on whether we are in pivot mode are not. if we are\n // in pivot mode, then dropping cols changes the row group, pivot, value stats. otherwise\n // we change visibility state and position.\n this.currentDropListener = this.isDropColumnInPivotMode(draggingEvent) ? this.bodyDropPivotTarget : this.moveColumnFeature;\n this.currentDropListener.onDragEnter(draggingEvent);\n };\n BodyDropTarget.prototype.onDragLeave = function (params) {\n this.currentDropListener.onDragLeave(params);\n };\n BodyDropTarget.prototype.onDragging = function (params) {\n this.currentDropListener.onDragging(params);\n };\n BodyDropTarget.prototype.onDragStop = function (params) {\n this.currentDropListener.onDragStop(params);\n };\n __decorate$1w([\n Autowired('dragAndDropService')\n ], BodyDropTarget.prototype, \"dragAndDropService\", void 0);\n __decorate$1w([\n Autowired('columnModel')\n ], BodyDropTarget.prototype, \"columnModel\", void 0);\n __decorate$1w([\n Autowired('ctrlsService')\n ], BodyDropTarget.prototype, \"ctrlsService\", void 0);\n __decorate$1w([\n PostConstruct\n ], BodyDropTarget.prototype, \"postConstruct\", null);\n __decorate$1w([\n PostConstruct\n ], BodyDropTarget.prototype, \"init\", null);\n return BodyDropTarget;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$d = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$b = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$d(arguments[i]));\n return ar;\n};\nvar CssClassApplier = /** @class */ (function () {\n function CssClassApplier() {\n }\n CssClassApplier.getHeaderClassesFromColDef = function (abstractColDef, gridOptionsWrapper, column, columnGroup) {\n if (missing(abstractColDef)) {\n return [];\n }\n return this.getColumnClassesFromCollDef(abstractColDef.headerClass, abstractColDef, gridOptionsWrapper, column, columnGroup);\n };\n CssClassApplier.getToolPanelClassesFromColDef = function (abstractColDef, gridOptionsWrapper, column, columnGroup) {\n if (missing(abstractColDef)) {\n return [];\n }\n return this.getColumnClassesFromCollDef(abstractColDef.toolPanelClass, abstractColDef, gridOptionsWrapper, column, columnGroup);\n };\n CssClassApplier.getClassParams = function (abstractColDef, gridOptionsWrapper, column, columnGroup) {\n return {\n // bad naming, as colDef here can be a group or a column,\n // however most people won't appreciate the difference,\n // so keeping it as colDef to avoid confusion.\n colDef: abstractColDef,\n column: column,\n columnGroup: columnGroup,\n api: gridOptionsWrapper.getApi(),\n columnApi: gridOptionsWrapper.getColumnApi(),\n context: gridOptionsWrapper.getContext()\n };\n };\n CssClassApplier.getColumnClassesFromCollDef = function (classesOrFunc, abstractColDef, gridOptionsWrapper, column, columnGroup) {\n if (missing(classesOrFunc)) {\n return [];\n }\n var classToUse;\n if (typeof classesOrFunc === 'function') {\n var params = this.getClassParams(abstractColDef, gridOptionsWrapper, column, columnGroup);\n classToUse = classesOrFunc(params);\n }\n else {\n classToUse = classesOrFunc;\n }\n if (typeof classToUse === 'string') {\n return [classToUse];\n }\n if (Array.isArray(classToUse)) {\n return __spread$b(classToUse);\n }\n return [];\n };\n return CssClassApplier;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1C = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderCellComp = /** @class */ (function (_super) {\n __extends$1C(HeaderCellComp, _super);\n function HeaderCellComp(ctrl) {\n var _this = _super.call(this, HeaderCellComp.TEMPLATE, ctrl) || this;\n _this.headerCompVersion = 0;\n _this.column = ctrl.getColumnGroupChild();\n _this.pinned = ctrl.getPinned();\n return _this;\n }\n HeaderCellComp.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var setAttribute = function (name, value, element) {\n var actualElement = element ? element : eGui;\n if (value != null && value != '') {\n actualElement.setAttribute(name, value);\n }\n else {\n actualElement.removeAttribute(name);\n }\n };\n var compProxy = {\n setWidth: function (width) { return eGui.style.width = width; },\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setColId: function (id) { return setAttribute('col-id', id); },\n setTitle: function (title) { return setAttribute('title', title); },\n setAriaDescription: function (label) { return setAriaDescription(eGui, label); },\n setAriaSort: function (sort) { return sort ? setAriaSort(eGui, sort) : removeAriaSort(eGui); },\n setUserCompDetails: function (compDetails) { return _this.setUserCompDetails(compDetails); },\n getUserCompInstance: function () { return _this.headerComp; }\n };\n this.ctrl.setComp(compProxy, this.getGui(), this.eResize, this.eHeaderCompWrapper);\n var selectAllGui = this.ctrl.getSelectAllGui();\n this.eResize.insertAdjacentElement('afterend', selectAllGui);\n };\n HeaderCellComp.prototype.destroyHeaderComp = function () {\n if (this.headerComp) {\n this.eHeaderCompWrapper.removeChild(this.headerCompGui);\n this.headerComp = this.destroyBean(this.headerComp);\n this.headerCompGui = undefined;\n }\n };\n HeaderCellComp.prototype.setUserCompDetails = function (compDetails) {\n var _this = this;\n this.headerCompVersion++;\n var versionCopy = this.headerCompVersion;\n compDetails.newAgStackInstance().then(function (comp) { return _this.afterCompCreated(versionCopy, comp); });\n };\n HeaderCellComp.prototype.afterCompCreated = function (version, headerComp) {\n if (version != this.headerCompVersion || !this.isAlive()) {\n this.destroyBean(headerComp);\n return;\n }\n this.destroyHeaderComp();\n this.headerComp = headerComp;\n this.headerCompGui = headerComp.getGui();\n this.eHeaderCompWrapper.appendChild(this.headerCompGui);\n this.ctrl.setDragSource(this.getGui());\n };\n HeaderCellComp.TEMPLATE = \"
\\n
\\n
\\n
\";\n __decorate$1v([\n RefSelector('eResize')\n ], HeaderCellComp.prototype, \"eResize\", void 0);\n __decorate$1v([\n RefSelector('eHeaderCompWrapper')\n ], HeaderCellComp.prototype, \"eHeaderCompWrapper\", void 0);\n __decorate$1v([\n PostConstruct\n ], HeaderCellComp.prototype, \"postConstruct\", null);\n __decorate$1v([\n PreDestroy\n ], HeaderCellComp.prototype, \"destroyHeaderComp\", null);\n return HeaderCellComp;\n}(AbstractHeaderCellComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1B = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderGroupCellComp = /** @class */ (function (_super) {\n __extends$1B(HeaderGroupCellComp, _super);\n function HeaderGroupCellComp(ctrl) {\n return _super.call(this, HeaderGroupCellComp.TEMPLATE, ctrl) || this;\n }\n HeaderGroupCellComp.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var setAttribute = function (key, value) {\n return value != undefined ? eGui.setAttribute(key, value) : eGui.removeAttribute(key);\n };\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n addOrRemoveResizableCssClass: function (cssClassName, on) { return _this.eResize.classList.toggle(cssClassName, on); },\n setWidth: function (width) { return eGui.style.width = width; },\n setColId: function (id) { return eGui.setAttribute(\"col-id\", id); },\n setAriaExpanded: function (expanded) { return setAttribute('aria-expanded', expanded); },\n setTitle: function (title) { return setAttribute(\"title\", title); },\n setUserCompDetails: function (details) { return _this.setUserCompDetails(details); }\n };\n this.ctrl.setComp(compProxy, eGui, this.eResize);\n };\n HeaderGroupCellComp.prototype.setUserCompDetails = function (details) {\n var _this = this;\n details.newAgStackInstance().then(function (comp) { return _this.afterHeaderCompCreated(comp); });\n };\n HeaderGroupCellComp.prototype.afterHeaderCompCreated = function (headerGroupComp) {\n var _this = this;\n var destroyFunc = function () { return _this.destroyBean(headerGroupComp); };\n if (!this.isAlive()) {\n destroyFunc();\n return;\n }\n this.getGui().appendChild(headerGroupComp.getGui());\n this.addDestroyFunc(destroyFunc);\n this.ctrl.setDragSource(headerGroupComp.getGui());\n };\n HeaderGroupCellComp.TEMPLATE = \"
\\n
\\n
\";\n __decorate$1u([\n Autowired('userComponentFactory')\n ], HeaderGroupCellComp.prototype, \"userComponentFactory\", void 0);\n __decorate$1u([\n RefSelector('eResize')\n ], HeaderGroupCellComp.prototype, \"eResize\", void 0);\n __decorate$1u([\n PostConstruct\n ], HeaderGroupCellComp.prototype, \"postConstruct\", null);\n return HeaderGroupCellComp;\n}(AbstractHeaderCellComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1A = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderRowType;\n(function (HeaderRowType) {\n HeaderRowType[\"COLUMN_GROUP\"] = \"group\";\n HeaderRowType[\"COLUMN\"] = \"column\";\n HeaderRowType[\"FLOATING_FILTER\"] = \"filter\";\n})(HeaderRowType || (HeaderRowType = {}));\nvar HeaderRowComp = /** @class */ (function (_super) {\n __extends$1A(HeaderRowComp, _super);\n function HeaderRowComp(ctrl) {\n var _this = _super.call(this) || this;\n _this.headerComps = {};\n var extraClass = ctrl.getType() == HeaderRowType.COLUMN_GROUP ? \"ag-header-row-column-group\" :\n ctrl.getType() == HeaderRowType.FLOATING_FILTER ? \"ag-header-row-column-filter\" : \"ag-header-row-column\";\n _this.setTemplate(/* html */ \"
\");\n _this.ctrl = ctrl;\n return _this;\n }\n //noinspection JSUnusedLocalSymbols\n HeaderRowComp.prototype.init = function () {\n var _this = this;\n var compProxy = {\n setTransform: function (transform) { return _this.getGui().style.transform = transform; },\n setHeight: function (height) { return _this.getGui().style.height = height; },\n setTop: function (top) { return _this.getGui().style.top = top; },\n setHeaderCtrls: function (ctrls) { return _this.setHeaderCtrls(ctrls); },\n setWidth: function (width) { return _this.getGui().style.width = width; },\n setAriaRowIndex: function (rowIndex) { return setAriaRowIndex(_this.getGui(), rowIndex); }\n };\n this.ctrl.setComp(compProxy);\n };\n HeaderRowComp.prototype.destroyHeaderCtrls = function () {\n this.setHeaderCtrls([]);\n };\n HeaderRowComp.prototype.setHeaderCtrls = function (ctrls) {\n var _this = this;\n if (!this.isAlive()) {\n return;\n }\n var oldComps = this.headerComps;\n this.headerComps = {};\n ctrls.forEach(function (ctrl) {\n var id = ctrl.getInstanceId();\n var comp = oldComps[id];\n delete oldComps[id];\n if (comp == null) {\n comp = _this.createHeaderComp(ctrl);\n _this.getGui().appendChild(comp.getGui());\n }\n _this.headerComps[id] = comp;\n });\n iterateObject(oldComps, function (id, comp) {\n _this.getGui().removeChild(comp.getGui());\n _this.destroyBean(comp);\n });\n var ensureDomOrder = this.gridOptionsWrapper.isEnsureDomOrder();\n if (ensureDomOrder) {\n var comps = getAllValuesInObject(this.headerComps);\n // ordering the columns by left position orders them in the order they appear on the screen\n comps.sort(function (a, b) {\n var leftA = a.getCtrl().getColumnGroupChild().getLeft();\n var leftB = b.getCtrl().getColumnGroupChild().getLeft();\n return leftA - leftB;\n });\n var elementsInOrder = comps.map(function (c) { return c.getGui(); });\n setDomChildOrder(this.getGui(), elementsInOrder);\n }\n };\n HeaderRowComp.prototype.createHeaderComp = function (headerCtrl) {\n var result;\n switch (this.ctrl.getType()) {\n case HeaderRowType.COLUMN_GROUP:\n result = new HeaderGroupCellComp(headerCtrl);\n break;\n case HeaderRowType.FLOATING_FILTER:\n result = new HeaderFilterCellComp(headerCtrl);\n break;\n default:\n result = new HeaderCellComp(headerCtrl);\n break;\n }\n this.createBean(result);\n result.setParentComponent(this);\n return result;\n };\n __decorate$1t([\n PostConstruct\n ], HeaderRowComp.prototype, \"init\", null);\n __decorate$1t([\n PreDestroy\n ], HeaderRowComp.prototype, \"destroyHeaderCtrls\", null);\n return HeaderRowComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar instanceIdSequence$1 = 0;\nvar AbstractHeaderCellCtrl = /** @class */ (function (_super) {\n __extends$1z(AbstractHeaderCellCtrl, _super);\n function AbstractHeaderCellCtrl(columnGroupChild, parentRowCtrl) {\n var _this = _super.call(this) || this;\n _this.lastFocusEvent = null;\n _this.columnGroupChild = columnGroupChild;\n _this.parentRowCtrl = parentRowCtrl;\n // unique id to this instance, including the column ID to help with debugging in React as it's used in 'key'\n _this.instanceId = columnGroupChild.getUniqueId() + '-' + instanceIdSequence$1++;\n return _this;\n }\n AbstractHeaderCellCtrl.prototype.shouldStopEventPropagation = function (e) {\n var _a = this.focusService.getFocusedHeader(), headerRowIndex = _a.headerRowIndex, column = _a.column;\n return isUserSuppressingHeaderKeyboardEvent(this.gridOptionsWrapper, e, headerRowIndex, column);\n };\n AbstractHeaderCellCtrl.prototype.getWrapperHasFocus = function () {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeEl = eDocument.activeElement;\n return activeEl === this.eGui;\n };\n AbstractHeaderCellCtrl.prototype.setGui = function (eGui) {\n this.eGui = eGui;\n this.addDomData();\n };\n AbstractHeaderCellCtrl.prototype.handleKeyDown = function (e) {\n var wrapperHasFocus = this.getWrapperHasFocus();\n switch (e.key) {\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAGE_HOME:\n case KeyCode.PAGE_END:\n if (wrapperHasFocus) {\n e.preventDefault();\n }\n }\n };\n AbstractHeaderCellCtrl.prototype.addDomData = function () {\n var _this = this;\n var key = AbstractHeaderCellCtrl.DOM_DATA_KEY_HEADER_CTRL;\n this.gridOptionsWrapper.setDomData(this.eGui, key, this);\n this.addDestroyFunc(function () { return _this.gridOptionsWrapper.setDomData(_this.eGui, key, null); });\n };\n AbstractHeaderCellCtrl.prototype.getGui = function () {\n return this.eGui;\n };\n AbstractHeaderCellCtrl.prototype.focus = function (event) {\n if (!this.eGui) {\n return false;\n }\n this.lastFocusEvent = event || null;\n this.eGui.focus();\n return true;\n };\n AbstractHeaderCellCtrl.prototype.getRowIndex = function () {\n return this.parentRowCtrl.getRowIndex();\n };\n AbstractHeaderCellCtrl.prototype.getParentRowCtrl = function () {\n return this.parentRowCtrl;\n };\n AbstractHeaderCellCtrl.prototype.getPinned = function () {\n return this.parentRowCtrl.getPinned();\n };\n AbstractHeaderCellCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n AbstractHeaderCellCtrl.prototype.getColumnGroupChild = function () {\n return this.columnGroupChild;\n };\n AbstractHeaderCellCtrl.DOM_DATA_KEY_HEADER_CTRL = 'headerCtrl';\n __decorate$1s([\n Autowired('focusService')\n ], AbstractHeaderCellCtrl.prototype, \"focusService\", void 0);\n __decorate$1s([\n Autowired('beans')\n ], AbstractHeaderCellCtrl.prototype, \"beans\", void 0);\n __decorate$1s([\n Autowired('userComponentFactory')\n ], AbstractHeaderCellCtrl.prototype, \"userComponentFactory\", void 0);\n return AbstractHeaderCellCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ClientSideRowModelSteps;\n(function (ClientSideRowModelSteps) {\n ClientSideRowModelSteps[\"EVERYTHING\"] = \"group\";\n ClientSideRowModelSteps[\"FILTER\"] = \"filter\";\n ClientSideRowModelSteps[\"SORT\"] = \"sort\";\n ClientSideRowModelSteps[\"MAP\"] = \"map\";\n ClientSideRowModelSteps[\"AGGREGATE\"] = \"aggregate\";\n ClientSideRowModelSteps[\"FILTER_AGGREGATES\"] = \"filter_aggregates\";\n ClientSideRowModelSteps[\"PIVOT\"] = \"pivot\";\n ClientSideRowModelSteps[\"NOTHING\"] = \"nothing\";\n})(ClientSideRowModelSteps || (ClientSideRowModelSteps = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$1r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nfunction unwrapUserComp(comp) {\n var compAsAny = comp;\n var isProxy = compAsAny != null && compAsAny.getFrameworkComponentInstance != null;\n return isProxy ? compAsAny.getFrameworkComponentInstance() : comp;\n}\nvar GridApi = /** @class */ (function () {\n function GridApi() {\n this.detailGridInfoMap = {};\n this.destroyCalled = false;\n }\n GridApi.prototype.registerOverlayWrapperComp = function (overlayWrapperComp) {\n this.overlayWrapperComp = overlayWrapperComp;\n };\n GridApi.prototype.registerSideBarComp = function (sideBarComp) {\n this.sideBarComp = sideBarComp;\n };\n GridApi.prototype.init = function () {\n var _this = this;\n switch (this.rowModel.getType()) {\n case Constants.ROW_MODEL_TYPE_CLIENT_SIDE:\n this.clientSideRowModel = this.rowModel;\n break;\n case Constants.ROW_MODEL_TYPE_INFINITE:\n this.infiniteRowModel = this.rowModel;\n break;\n case Constants.ROW_MODEL_TYPE_SERVER_SIDE:\n this.serverSideRowModel = this.rowModel;\n break;\n }\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCtrl = _this.ctrlsService.getGridBodyCtrl();\n });\n };\n /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\n GridApi.prototype.__getAlignedGridService = function () {\n return this.alignedGridsService;\n };\n /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\n GridApi.prototype.__getContext = function () {\n return this.context;\n };\n /** Register a detail grid with the master grid when it is created. */\n GridApi.prototype.addDetailGridInfo = function (id, gridInfo) {\n this.detailGridInfoMap[id] = gridInfo;\n };\n /** Unregister a detail grid from the master grid when it is destroyed. */\n GridApi.prototype.removeDetailGridInfo = function (id) {\n this.detailGridInfoMap[id] = undefined;\n };\n /** Returns the `DetailGridInfo` corresponding to the supplied `detailGridId`. */\n GridApi.prototype.getDetailGridInfo = function (id) {\n return this.detailGridInfoMap[id];\n };\n /** Iterates through each `DetailGridInfo` in the grid and calls the supplied callback on each. */\n GridApi.prototype.forEachDetailGridInfo = function (callback) {\n var index = 0;\n iterateObject(this.detailGridInfoMap, function (id, gridInfo) {\n // check for undefined, as old references will still be lying around\n if (exists(gridInfo)) {\n callback(gridInfo, index);\n index++;\n }\n });\n };\n /** Similar to `exportDataAsCsv`, except returns the result as a string rather than download it. */\n GridApi.prototype.getDataAsCsv = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.CsvExportModule, 'api.getDataAsCsv')) {\n return this.csvCreator.getDataAsCsv(params);\n }\n };\n /** Downloads a CSV export of the grid's data. */\n GridApi.prototype.exportDataAsCsv = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.CsvExportModule, 'api.exportDataAsCSv')) {\n this.csvCreator.exportDataAsCsv(params);\n }\n };\n GridApi.prototype.getExcelExportMode = function (params) {\n var baseParams = this.gridOptionsWrapper.getDefaultExportParams('excel');\n var mergedParams = Object.assign({ exportMode: 'xlsx' }, baseParams, params);\n return mergedParams.exportMode;\n };\n /** Similar to `exportDataAsExcel`, except instead of downloading a file, it will return a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) to be processed by the user. */\n GridApi.prototype.getDataAsExcel = function (params) {\n if (!ModuleRegistry.assertRegistered(ModuleNames.ExcelExportModule, 'api.getDataAsExcel')) {\n return;\n }\n var exportMode = this.getExcelExportMode(params);\n if (this.excelCreator.getFactoryMode(exportMode) === ExcelFactoryMode.MULTI_SHEET) {\n console.warn('AG Grid: The Excel Exporter is currently on Multi Sheet mode. End that operation by calling `api.getMultipleSheetAsExcel()` or `api.exportMultipleSheetsAsExcel()`');\n return;\n }\n return this.excelCreator.getDataAsExcel(params);\n };\n /** Downloads an Excel export of the grid's data. */\n GridApi.prototype.exportDataAsExcel = function (params) {\n if (!ModuleRegistry.assertRegistered(ModuleNames.ExcelExportModule, 'api.exportDataAsExcel')) {\n return;\n }\n var exportMode = this.getExcelExportMode(params);\n if (this.excelCreator.getFactoryMode(exportMode) === ExcelFactoryMode.MULTI_SHEET) {\n console.warn('AG Grid: The Excel Exporter is currently on Multi Sheet mode. End that operation by calling `api.getMultipleSheetAsExcel()` or `api.exportMultipleSheetsAsExcel()`');\n return;\n }\n this.excelCreator.exportDataAsExcel(params);\n };\n /** This is method to be used to get the grid's data as a sheet, that will later be exported either by `getMultipleSheetsAsExcel()` or `exportMultipleSheetsAsExcel()`. */\n GridApi.prototype.getSheetDataForExcel = function (params) {\n if (!ModuleRegistry.assertRegistered(ModuleNames.ExcelExportModule, 'api.getSheetDataForExcel')) {\n return;\n }\n var exportMode = this.getExcelExportMode(params);\n this.excelCreator.setFactoryMode(ExcelFactoryMode.MULTI_SHEET, exportMode);\n return this.excelCreator.getSheetDataForExcel(params);\n };\n /** Similar to `exportMultipleSheetsAsExcel`, except instead of downloading a file, it will return a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) to be processed by the user. */\n GridApi.prototype.getMultipleSheetsAsExcel = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.ExcelExportModule, 'api.getMultipleSheetsAsExcel')) {\n return this.excelCreator.getMultipleSheetsAsExcel(params);\n }\n };\n /** Downloads an Excel export of multiple sheets in one file. */\n GridApi.prototype.exportMultipleSheetsAsExcel = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.ExcelExportModule, 'api.exportMultipleSheetsAsExcel')) {\n return this.excelCreator.exportMultipleSheetsAsExcel(params);\n }\n };\n /** @deprecated AG Grid: since version 18.x, api.setEnterpriseDatasource() should be replaced with api.setServerSideDatasource() */\n GridApi.prototype.setEnterpriseDatasource = function (datasource) {\n console.warn(\"AG Grid: since version 18.x, api.setEnterpriseDatasource() should be replaced with api.setServerSideDatasource()\");\n this.setServerSideDatasource(datasource);\n };\n /**\n * Sets an ARIA property in the grid panel (element with `role=\\\"grid\\\"`), and removes an ARIA property when the value is null.\n *\n * Example: `api.setGridAriaProperty('label', 'my grid')` will set `aria-label=\\\"my grid\\\"`.\n *\n * `api.setGridAriaProperty('label', null)` will remove the `aria-label` attribute from the grid element.\n */\n GridApi.prototype.setGridAriaProperty = function (property, value) {\n if (!property) {\n return;\n }\n var eGrid = this.ctrlsService.getGridBodyCtrl().getGui();\n var ariaProperty = \"aria-\" + property;\n if (value === null) {\n eGrid.removeAttribute(ariaProperty);\n }\n else {\n eGrid.setAttribute(ariaProperty, value);\n }\n };\n /** Set new datasource for Server-Side Row Model. */\n GridApi.prototype.setServerSideDatasource = function (datasource) {\n if (this.serverSideRowModel) {\n // should really have an IEnterpriseRowModel interface, so we are not casting to any\n this.serverSideRowModel.setDatasource(datasource);\n }\n else {\n console.warn(\"AG Grid: you can only use an enterprise datasource when gridOptions.rowModelType is '\" + Constants.ROW_MODEL_TYPE_SERVER_SIDE + \"'\");\n }\n };\n /**\n * Updates the `cacheBlockSize` used by `serverSideInfiniteScroll` when requesting data from the server.\n *\n * Note this purges all the cached data and reloads all the rows of the grid.\n * */\n GridApi.prototype.setCacheBlockSize = function (blockSize) {\n if (!this.serverSideRowModel) {\n console.warn(\"AG Grid: you can only set cacheBlockSize with gridOptions.rowModelType '\" + Constants.ROW_MODEL_TYPE_SERVER_SIDE + \"'\");\n return;\n }\n this.gridOptionsWrapper.setProperty('cacheBlockSize', blockSize);\n this.serverSideRowModel.resetRootStore();\n };\n /** Set new datasource for Infinite Row Model. */\n GridApi.prototype.setDatasource = function (datasource) {\n if (this.gridOptionsWrapper.isRowModelInfinite()) {\n this.rowModel.setDatasource(datasource);\n }\n else {\n console.warn(\"AG Grid: you can only use a datasource when gridOptions.rowModelType is '\" + Constants.ROW_MODEL_TYPE_INFINITE + \"'\");\n }\n };\n /** Set new datasource for Viewport Row Model. */\n GridApi.prototype.setViewportDatasource = function (viewportDatasource) {\n if (this.gridOptionsWrapper.isRowModelViewport()) {\n // this is bad coding, because it's using an interface that's exposed in the enterprise.\n // really we should create an interface in the core for viewportDatasource and let\n // the enterprise implement it, rather than casting to 'any' here\n this.rowModel.setViewportDatasource(viewportDatasource);\n }\n else {\n console.warn(\"AG Grid: you can only use a viewport datasource when gridOptions.rowModelType is '\" + Constants.ROW_MODEL_TYPE_VIEWPORT + \"'\");\n }\n };\n /** Set the row data. */\n GridApi.prototype.setRowData = function (rowData) {\n // immutable service is part of the CSRM module, if missing, no CSRM\n var missingImmutableService = this.immutableService == null;\n if (missingImmutableService) {\n console.warn('AG Grid: you can only set rowData when using the Client Side Row Model');\n return;\n }\n // if no keys provided provided for rows, then we can tread the operation as Immutable\n if (this.immutableService.isActive()) {\n this.immutableService.setRowData(rowData);\n }\n else {\n this.selectionService.reset();\n this.clientSideRowModel.setRowData(rowData);\n }\n };\n /** @deprecated AG Grid: since v12, api.setFloatingTopRowData() is now api.setPinnedTopRowData() */\n GridApi.prototype.setFloatingTopRowData = function (rows) {\n console.warn('AG Grid: since v12, api.setFloatingTopRowData() is now api.setPinnedTopRowData()');\n this.setPinnedTopRowData(rows);\n };\n /** @deprecated AG Grid: since v12, api.setFloatingBottomRowData() is now api.setPinnedBottomRowData() */\n GridApi.prototype.setFloatingBottomRowData = function (rows) {\n console.warn('AG Grid: since v12, api.setFloatingBottomRowData() is now api.setPinnedBottomRowData()');\n this.setPinnedBottomRowData(rows);\n };\n /** @deprecated AG Grid: since v12, api.getFloatingTopRowCount() is now api.getPinnedTopRowCount() */\n GridApi.prototype.getFloatingTopRowCount = function () {\n console.warn('AG Grid: since v12, api.getFloatingTopRowCount() is now api.getPinnedTopRowCount()');\n return this.getPinnedTopRowCount();\n };\n /** @deprecated AG Grid: since v12, api.getFloatingBottomRowCount() is now api.getPinnedBottomRowCount() */\n GridApi.prototype.getFloatingBottomRowCount = function () {\n console.warn('AG Grid: since v12, api.getFloatingBottomRowCount() is now api.getPinnedBottomRowCount()');\n return this.getPinnedBottomRowCount();\n };\n /** @deprecated AG Grid: since v12, api.getFloatingTopRow() is now api.getPinnedTopRow() */\n GridApi.prototype.getFloatingTopRow = function (index) {\n console.warn('AG Grid: since v12, api.getFloatingTopRow() is now api.getPinnedTopRow()');\n return this.getPinnedTopRow(index);\n };\n /** @deprecated AG Grid: since v12, api.getFloatingBottomRow() is now api.getPinnedBottomRow() */\n GridApi.prototype.getFloatingBottomRow = function (index) {\n console.warn('AG Grid: since v12, api.getFloatingBottomRow() is now api.getPinnedBottomRow()');\n return this.getPinnedBottomRow(index);\n };\n /** Set the top pinned rows. Call with no rows / undefined to clear top pinned rows. */\n GridApi.prototype.setPinnedTopRowData = function (rows) {\n this.pinnedRowModel.setPinnedTopRowData(rows);\n };\n /** Set the bottom pinned rows. Call with no rows / undefined to clear bottom pinned rows. */\n GridApi.prototype.setPinnedBottomRowData = function (rows) {\n this.pinnedRowModel.setPinnedBottomRowData(rows);\n };\n /** Gets the number of top pinned rows. */\n GridApi.prototype.getPinnedTopRowCount = function () {\n return this.pinnedRowModel.getPinnedTopRowCount();\n };\n /** Gets the number of bottom pinned rows. */\n GridApi.prototype.getPinnedBottomRowCount = function () {\n return this.pinnedRowModel.getPinnedBottomRowCount();\n };\n /** Gets the top pinned row with the specified index. */\n GridApi.prototype.getPinnedTopRow = function (index) {\n return this.pinnedRowModel.getPinnedTopRow(index);\n };\n /** Gets the top pinned row with the specified index. */\n GridApi.prototype.getPinnedBottomRow = function (index) {\n return this.pinnedRowModel.getPinnedBottomRow(index);\n };\n /**\n * Call to set new column definitions. The grid will redraw all the column headers, and then redraw all of the rows.\n */\n GridApi.prototype.setColumnDefs = function (colDefs, source) {\n if (source === void 0) { source = \"api\"; }\n this.columnModel.setColumnDefs(colDefs, source);\n };\n /** Call to set new auto group column definition. The grid will recreate any auto-group columns if present. */\n GridApi.prototype.setAutoGroupColumnDef = function (colDef, source) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_AUTO_GROUP_COLUMN_DEF, colDef, true);\n };\n /** Call to set new Default Column Definition. */\n GridApi.prototype.setDefaultColDef = function (colDef, source) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_DEFAULT_COL_DEF, colDef, true);\n };\n GridApi.prototype.expireValueCache = function () {\n this.valueCache.expire();\n };\n /**\n * Returns an object with two properties:\n * - `top`: The top pixel position of the current scroll in the grid\n * - `bottom`: The bottom pixel position of the current scroll in the grid\n */\n GridApi.prototype.getVerticalPixelRange = function () {\n return this.gridBodyCtrl.getScrollFeature().getVScrollPosition();\n };\n /**\n * Returns an object with two properties:\n * - `left`: The left pixel position of the current scroll in the grid\n * - `right`: The right pixel position of the current scroll in the grid\n */\n GridApi.prototype.getHorizontalPixelRange = function () {\n return this.gridBodyCtrl.getScrollFeature().getHScrollPosition();\n };\n /** If `true`, the horizontal scrollbar will always be present, even if not required. Otherwise, it will only be displayed when necessary. */\n GridApi.prototype.setAlwaysShowHorizontalScroll = function (show) {\n this.gridOptionsWrapper.setProperty('alwaysShowHorizontalScroll', show);\n };\n /** If `true`, the vertical scrollbar will always be present, even if not required. Otherwise it will only be displayed when necessary. */\n GridApi.prototype.setAlwaysShowVerticalScroll = function (show) {\n this.gridOptionsWrapper.setProperty('alwaysShowVerticalScroll', show);\n };\n /** Force refresh all tool panels by calling their `refresh` method. */\n GridApi.prototype.refreshToolPanel = function () {\n if (!this.sideBarComp) {\n return;\n }\n this.sideBarComp.refresh();\n };\n /** Performs change detection on all cells, refreshing cells where required. */\n GridApi.prototype.refreshCells = function (params) {\n if (params === void 0) { params = {}; }\n if (Array.isArray(params)) {\n // the old version of refreshCells() took an array of rowNodes for the first argument\n console.warn('since AG Grid v11.1, refreshCells() now takes parameters, please see the documentation.');\n return;\n }\n this.rowRenderer.refreshCells(params);\n };\n /** Flash rows, columns or individual cells. */\n GridApi.prototype.flashCells = function (params) {\n if (params === void 0) { params = {}; }\n this.rowRenderer.flashCells(params);\n };\n /** Remove row(s) from the DOM and recreate them again from scratch. */\n GridApi.prototype.redrawRows = function (params) {\n if (params === void 0) { params = {}; }\n var rowNodes = params ? params.rowNodes : undefined;\n this.rowRenderer.redrawRows(rowNodes);\n };\n GridApi.prototype.setFunctionsReadOnly = function (readOnly) {\n this.gridOptionsWrapper.setProperty('functionsReadOnly', readOnly);\n };\n /** Redraws the header. Useful if a column name changes, or something else that changes how the column header is displayed. */\n GridApi.prototype.refreshHeader = function () {\n this.ctrlsService.getHeaderRowContainerCtrls().forEach(function (c) { return c.refresh(); });\n };\n /** Returns `true` if any filter is set. This includes quick filter, advanced filter or external filter. */\n GridApi.prototype.isAnyFilterPresent = function () {\n return this.filterManager.isAnyFilterPresent();\n };\n /** Returns `true` if any column filter is set, otherwise `false`. */\n GridApi.prototype.isColumnFilterPresent = function () {\n return this.filterManager.isColumnFilterPresent() || this.filterManager.isAggregateFilterPresent();\n };\n /** Returns `true` if the quick filter is set, otherwise `false`. */\n GridApi.prototype.isQuickFilterPresent = function () {\n return this.filterManager.isQuickFilterPresent();\n };\n /**\n * Returns the row model inside the table.\n * From here you can see the original rows, rows after filter has been applied,\n * rows after aggregation has been applied, and the final set of 'to be displayed' rows.\n */\n GridApi.prototype.getModel = function () {\n return this.rowModel;\n };\n /** Expand or collapse a specific row node. */\n GridApi.prototype.setRowNodeExpanded = function (rowNode, expanded) {\n if (rowNode) {\n rowNode.setExpanded(expanded);\n }\n };\n /**\n * If after getting the model, you expand or collapse a group, call this method to inform the grid.\n * It will work out the final set of 'to be displayed' rows again (i.e. expand or collapse the group visually).\n */\n GridApi.prototype.onGroupExpandedOrCollapsed = function (deprecated_refreshFromIndex) {\n if (missing(this.clientSideRowModel)) {\n console.warn('AG Grid: cannot call onGroupExpandedOrCollapsed unless using normal row model');\n }\n if (exists(deprecated_refreshFromIndex)) {\n console.warn('AG Grid: api.onGroupExpandedOrCollapsed - refreshFromIndex parameter is no longer used, the grid will refresh all rows');\n }\n // we don't really want the user calling this if only one rowNode was expanded, instead they should be\n // calling rowNode.setExpanded(boolean) - this way we do a 'keepRenderedRows=false' so that the whole\n // grid gets refreshed again - otherwise the row with the rowNodes that were changed won't get updated,\n // and thus the expand icon in the group cell won't get 'opened' or 'closed'.\n this.clientSideRowModel.refreshModel({ step: ClientSideRowModelSteps.MAP });\n };\n /** @deprecated AG Grid: since version 18.x, api.refreshInMemoryRowModel() should be replaced with api.refreshClientSideRowModel() */\n GridApi.prototype.refreshInMemoryRowModel = function (step) {\n console.warn(\"AG Grid: since version 18.x, api.refreshInMemoryRowModel() should be replaced with api.refreshClientSideRowModel()\");\n this.refreshClientSideRowModel(step);\n };\n /**\n * Refresh the Client-Side Row Model, executing the grouping, filtering and sorting again.\n * Optionally provide the step you wish the refresh to apply from. Defaults to `everything`.\n */\n GridApi.prototype.refreshClientSideRowModel = function (step) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call refreshClientSideRowModel unless using normal row model');\n }\n var paramsStep = ClientSideRowModelSteps.EVERYTHING;\n var stepsMapped = {\n everything: ClientSideRowModelSteps.EVERYTHING,\n group: ClientSideRowModelSteps.EVERYTHING,\n filter: ClientSideRowModelSteps.FILTER,\n map: ClientSideRowModelSteps.MAP,\n aggregate: ClientSideRowModelSteps.AGGREGATE,\n sort: ClientSideRowModelSteps.SORT,\n pivot: ClientSideRowModelSteps.PIVOT\n };\n if (exists(step)) {\n paramsStep = stepsMapped[step];\n }\n if (missing(paramsStep)) {\n console.error(\"AG Grid: invalid step \" + step + \", available steps are \" + Object.keys(stepsMapped).join(', '));\n return;\n }\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n var modelParams = {\n step: paramsStep,\n keepRenderedRows: true,\n keepEditingRows: true,\n animate: animate\n };\n this.clientSideRowModel.refreshModel(modelParams);\n };\n /** Returns `true` when there are no more animation frames left to process. */\n GridApi.prototype.isAnimationFrameQueueEmpty = function () {\n return this.animationFrameService.isQueueEmpty();\n };\n GridApi.prototype.flushAllAnimationFrames = function () {\n this.animationFrameService.flushAllFrames();\n };\n /**\n * Returns the row node with the given ID.\n * The row node ID is the one you provide from the callback `getRowId(params)`,\n * otherwise the ID is a number (cast as string) auto-generated by the grid when\n * the row data is set.\n */\n GridApi.prototype.getRowNode = function (id) {\n return this.rowModel.getRowNode(id);\n };\n /**\n * Gets the sizes that various UI elements will be rendered at with the current theme.\n * If you override the row or header height using `gridOptions`, the override value you provided will be returned.\n */\n GridApi.prototype.getSizesForCurrentTheme = function () {\n return {\n rowHeight: this.gridOptionsWrapper.getRowHeightAsNumber(),\n headerHeight: this.gridOptionsWrapper.getHeaderHeight()\n };\n };\n /** Expand all groups. */\n GridApi.prototype.expandAll = function () {\n if (this.clientSideRowModel) {\n this.clientSideRowModel.expandOrCollapseAll(true);\n }\n else if (this.serverSideRowModel) {\n this.serverSideRowModel.expandAll(true);\n }\n else {\n console.warn('AG Grid: expandAll only works with Client Side Row Model and Server Side Row Model');\n }\n };\n /** Collapse all groups. */\n GridApi.prototype.collapseAll = function () {\n if (this.clientSideRowModel) {\n this.clientSideRowModel.expandOrCollapseAll(false);\n }\n else if (this.serverSideRowModel) {\n this.serverSideRowModel.expandAll(false);\n }\n else {\n console.warn('AG Grid: collapseAll only works with Client Side Row Model and Server Side Row Model');\n }\n };\n /** Gets the tool panel instance corresponding to the supplied `id`. */\n GridApi.prototype.getToolPanelInstance = function (id) {\n if (!this.sideBarComp) {\n console.warn('AG Grid: toolPanel is only available in AG Grid Enterprise');\n return;\n }\n var comp = this.sideBarComp.getToolPanelInstance(id);\n return unwrapUserComp(comp);\n };\n GridApi.prototype.addVirtualRowListener = function (eventName, rowIndex, callback) {\n if (typeof eventName !== 'string') {\n console.warn('AG Grid: addVirtualRowListener is deprecated, please use addRenderedRowListener.');\n }\n this.addRenderedRowListener(eventName, rowIndex, callback);\n };\n /**\n * Registers a callback to a virtual row.\n * A virtual row is a row that is visually rendered on the screen (rows that are not visible because of the scroll position are not rendered).\n * Unlike normal events, you do not need to unregister rendered row listeners.\n * When the rendered row is removed from the grid, all associated rendered row listeners will also be removed.\n * listen for this event if your `cellRenderer` needs to do cleanup when the row no longer exists.\n */\n GridApi.prototype.addRenderedRowListener = function (eventName, rowIndex, callback) {\n if (eventName === 'virtualRowSelected') {\n console.warn(\"AG Grid: event virtualRowSelected is deprecated, to register for individual row\\n selection events, add a listener directly to the row node.\");\n }\n this.rowRenderer.addRenderedRowListener(eventName, rowIndex, callback);\n };\n /** Pass a quick filter text into the grid for filtering. */\n GridApi.prototype.setQuickFilter = function (newFilter) {\n this.filterManager.setQuickFilter(newFilter);\n };\n /** @deprecated AG Grid: do not use api for selection, call rowNode.setSelected(value) instead */\n GridApi.prototype.selectIndex = function (index, tryMulti, suppressEvents) {\n console.warn('AG Grid: do not use api for selection, call rowNode.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n this.selectionService.selectIndex(index, tryMulti);\n };\n /** @deprecated AG Grid: do not use api for selection, call rowNode.setSelected(value) instead. */\n GridApi.prototype.deselectIndex = function (index, suppressEvents) {\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('AG Grid: do not use api for selection, call rowNode.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n this.selectionService.deselectIndex(index);\n };\n /** @deprecated AG Grid: API for selection is deprecated, call rowNode.setSelected(value) instead. */\n GridApi.prototype.selectNode = function (node, tryMulti, suppressEvents) {\n if (tryMulti === void 0) { tryMulti = false; }\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('AG Grid: API for selection is deprecated, call rowNode.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n node.setSelectedParams({ newValue: true, clearSelection: !tryMulti });\n };\n /** @deprecated AG Grid: API for selection is deprecated, call rowNode.setSelected(value) instead. */\n GridApi.prototype.deselectNode = function (node, suppressEvents) {\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('AG Grid: API for selection is deprecated, call rowNode.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n node.setSelectedParams({ newValue: false });\n };\n /** Select all rows, regardless of filtering and rows that are not visible due to grouping being enabled and their groups not expanded. */\n GridApi.prototype.selectAll = function () {\n this.selectionService.selectAllRowNodes();\n };\n /** Clear all row selections, regardless of filtering. */\n GridApi.prototype.deselectAll = function () {\n this.selectionService.deselectAllRowNodes();\n };\n /** Select all filtered rows. */\n GridApi.prototype.selectAllFiltered = function () {\n this.selectionService.selectAllRowNodes(true);\n };\n /** Clear all filtered selections. */\n GridApi.prototype.deselectAllFiltered = function () {\n this.selectionService.deselectAllRowNodes(true);\n };\n /** @deprecated recomputeAggregates is deprecated, please call api.refreshClientSideRowModel('aggregate') instead */\n GridApi.prototype.recomputeAggregates = function () {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call recomputeAggregates unless using normal row model');\n }\n console.warn(\"recomputeAggregates is deprecated, please call api.refreshClientSideRowModel('aggregate') instead\");\n this.clientSideRowModel.refreshModel({ step: ClientSideRowModelSteps.AGGREGATE });\n };\n /**\n * Sets columns to adjust in size to fit the grid horizontally.\n **/\n GridApi.prototype.sizeColumnsToFit = function (params) {\n this.gridBodyCtrl.sizeColumnsToFit(params);\n };\n /** Show the 'loading' overlay. */\n GridApi.prototype.showLoadingOverlay = function () {\n this.overlayWrapperComp.showLoadingOverlay();\n };\n /** Show the 'no rows' overlay. */\n GridApi.prototype.showNoRowsOverlay = function () {\n this.overlayWrapperComp.showNoRowsOverlay();\n };\n /** Hides the overlay if showing. */\n GridApi.prototype.hideOverlay = function () {\n this.overlayWrapperComp.hideOverlay();\n };\n GridApi.prototype.isNodeSelected = function (node) {\n console.warn('AG Grid: no need to call api.isNodeSelected(), just call node.isSelected() instead');\n return node.isSelected();\n };\n /** @deprecated Use getSelectedNodesById no longer exists, use getSelectedNodes(). */\n GridApi.prototype.getSelectedNodesById = function () {\n console.error('AG Grid: since version 3.4, getSelectedNodesById no longer exists, use getSelectedNodes() instead');\n return null;\n };\n /**\n * Returns an unsorted list of selected nodes.\n * Getting the underlying node (rather than the data) is useful when working with tree / aggregated data,\n * as the node can be traversed.\n */\n GridApi.prototype.getSelectedNodes = function () {\n return this.selectionService.getSelectedNodes();\n };\n /** Returns an unsorted list of selected rows (i.e. row data that you provided). */\n GridApi.prototype.getSelectedRows = function () {\n return this.selectionService.getSelectedRows();\n };\n /**\n * Returns a list of all selected nodes at 'best cost', a feature to be used with groups / trees.\n * If a group has all its children selected, then the group appears in the result, but not the children.\n * Designed for use with `'children'` as the group selection type, where groups don't actually appear in the selection normally.\n */\n GridApi.prototype.getBestCostNodeSelection = function () {\n return this.selectionService.getBestCostNodeSelection();\n };\n /** Retrieve rendered nodes. Due to virtualisation this will contain only the current visible rows and those in the buffer. */\n GridApi.prototype.getRenderedNodes = function () {\n return this.rowRenderer.getRenderedNodes();\n };\n /** @deprecated ensureColIndexVisible(index) no longer supported, use ensureColumnVisible(colKey) instead. */\n GridApi.prototype.ensureColIndexVisible = function (index) {\n console.warn('AG Grid: ensureColIndexVisible(index) no longer supported, use ensureColumnVisible(colKey) instead.');\n };\n /**\n * Ensures the column is visible by scrolling the table if needed.\n *\n * This will have no effect before the firstDataRendered event has fired.\n *\n * @param key - The column to ensure visible\n * @param position - Where the column will be positioned.\n * - `auto` - Scrolls the minimum amount to make sure the column is visible.\n * - `start` - Scrolls the column to the start of the viewport.\n * - `middle` - Scrolls the column to the middle of the viewport.\n * - `end` - Scrolls the column to the end of the viewport.\n */\n GridApi.prototype.ensureColumnVisible = function (key, position) {\n if (position === void 0) { position = 'auto'; }\n this.gridBodyCtrl.getScrollFeature().ensureColumnVisible(key, position);\n };\n /**\n * Vertically scrolls the grid until the provided row index is inside the visible viewport.\n * If a position is provided, the grid will attempt to scroll until the row is at the given position within the viewport.\n * This will have no effect before the firstDataRendered event has fired.\n */\n GridApi.prototype.ensureIndexVisible = function (index, position) {\n this.gridBodyCtrl.getScrollFeature().ensureIndexVisible(index, position);\n };\n /**\n * Vertically scrolls the grid until the provided row (or a row matching the provided comparator) is inside the visible viewport.\n * If a position is provided, the grid will attempt to scroll until the row is at the given position within the viewport.\n * This will have no effect before the firstDataRendered event has fired.\n */\n GridApi.prototype.ensureNodeVisible = function (nodeSelector, position) {\n if (position === void 0) { position = null; }\n this.gridBodyCtrl.getScrollFeature().ensureNodeVisible(nodeSelector, position);\n };\n /**\n * Similar to `forEachNode`, except lists all the leaf nodes.\n * This effectively goes through all the data that you provided to the grid before the grid performed any grouping.\n * If using tree data, goes through all the nodes for the data you provided, including nodes that have children,\n * but excluding groups the grid created where gaps were missing in the hierarchy.\n */\n GridApi.prototype.forEachLeafNode = function (callback) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNode unless using normal row model');\n }\n this.clientSideRowModel.forEachLeafNode(callback);\n };\n /**\n * Iterates through each node (row) in the grid and calls the callback for each node.\n * This works similar to the `forEach` method on a JavaScript array.\n * This is called for every node, ignoring any filtering or sorting applied within the grid.\n * If using the Infinite Row Model, then this gets called for each page loaded in the page cache.\n */\n GridApi.prototype.forEachNode = function (callback) {\n this.rowModel.forEachNode(callback);\n };\n /** Similar to `forEachNode`, except skips any filtered out data. */\n GridApi.prototype.forEachNodeAfterFilter = function (callback) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNodeAfterFilter unless using normal row model');\n }\n this.clientSideRowModel.forEachNodeAfterFilter(callback);\n };\n /** Similar to `forEachNodeAfterFilter`, except the callbacks are called in the order the rows are displayed in the grid. */\n GridApi.prototype.forEachNodeAfterFilterAndSort = function (callback) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNodeAfterFilterAndSort unless using normal row model');\n }\n this.clientSideRowModel.forEachNodeAfterFilterAndSort(callback);\n };\n /**\n * Returns the filter component instance for a column.\n * `key` can be a string field name or a ColDef object (matches on object reference, useful if field names are not unique).\n * If your filter is created asynchronously, `getFilterInstance` will return `null` so you will need to use the `callback` to access the filter instance instead.\n */\n GridApi.prototype.getFilterInstance = function (key, callback) {\n var res = this.getFilterInstanceImpl(key, function (instance) {\n if (!callback) {\n return;\n }\n var unwrapped = unwrapUserComp(instance);\n callback(unwrapped);\n });\n var unwrapped = unwrapUserComp(res);\n return unwrapped;\n };\n GridApi.prototype.getFilterInstanceImpl = function (key, callback) {\n var column = this.columnModel.getPrimaryColumn(key);\n if (!column) {\n return undefined;\n }\n var filterPromise = this.filterManager.getFilterComponent(column, 'NO_UI');\n var currentValue = filterPromise && filterPromise.resolveNow(null, function (filterComp) { return filterComp; });\n if (currentValue) {\n setTimeout(callback, 0, currentValue);\n }\n else if (filterPromise) {\n filterPromise.then(function (comp) {\n callback(comp);\n });\n }\n return currentValue;\n };\n /** Destroys a filter. Useful to force a particular filter to be created from scratch again. */\n GridApi.prototype.destroyFilter = function (key) {\n var column = this.columnModel.getPrimaryColumn(key);\n if (column) {\n return this.filterManager.destroyFilter(column, \"filterDestroyed\");\n }\n };\n /** Gets the status panel instance corresponding to the supplied `id`. */\n GridApi.prototype.getStatusPanel = function (key) {\n if (!this.statusBarService) {\n return;\n }\n var comp = this.statusBarService.getStatusPanel(key);\n return unwrapUserComp(comp);\n };\n GridApi.prototype.getColumnDef = function (key) {\n var column = this.columnModel.getPrimaryColumn(key);\n if (column) {\n return column.getColDef();\n }\n return null;\n };\n /**\n * Returns the current column definitions.\n */\n GridApi.prototype.getColumnDefs = function () { return this.columnModel.getColumnDefs(); };\n /** Informs the grid that a filter has changed. This is typically called after a filter change through one of the filter APIs. */\n GridApi.prototype.onFilterChanged = function () {\n this.filterManager.onFilterChanged();\n };\n /**\n * Gets the grid to act as if the sort was changed.\n * Useful if you update some values and want to get the grid to reorder them according to the new values.\n */\n GridApi.prototype.onSortChanged = function () {\n this.sortController.onSortChanged('api');\n };\n /** Sets the state of all the advanced filters. Provide it with what you get from `getFilterModel()` to restore filter state. */\n GridApi.prototype.setFilterModel = function (model) {\n this.filterManager.setFilterModel(model);\n };\n /** Gets the current state of all the advanced filters. Used for saving filter state. */\n GridApi.prototype.getFilterModel = function () {\n return this.filterManager.getFilterModel();\n };\n /** Returns the focused cell (or the last focused cell if the grid lost focus). */\n GridApi.prototype.getFocusedCell = function () {\n return this.focusService.getFocusedCell();\n };\n /** Clears the focused cell. */\n GridApi.prototype.clearFocusedCell = function () {\n return this.focusService.clearFocusedCell();\n };\n /** Sets the focus to the specified cell. `rowPinned` can be either 'top', 'bottom' or null (for not pinned). */\n GridApi.prototype.setFocusedCell = function (rowIndex, colKey, rowPinned) {\n this.focusService.setFocusedCell({ rowIndex: rowIndex, column: colKey, rowPinned: rowPinned, forceBrowserFocus: true });\n };\n /** Sets the `suppressRowDrag` property. */\n GridApi.prototype.setSuppressRowDrag = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_ROW_DRAG, value);\n };\n /** Sets the `suppressMoveWhenRowDragging` property. */\n GridApi.prototype.setSuppressMoveWhenRowDragging = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_MOVE_WHEN_ROW_DRAG, value);\n };\n /** Sets the `suppressRowClickSelection` property. */\n GridApi.prototype.setSuppressRowClickSelection = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_ROW_CLICK_SELECTION, value);\n };\n /** Adds a drop zone outside of the grid where rows can be dropped. */\n GridApi.prototype.addRowDropZone = function (params) {\n this.gridBodyCtrl.getRowDragFeature().addRowDropZone(params);\n };\n /** Removes an external drop zone added by `addRowDropZone`. */\n GridApi.prototype.removeRowDropZone = function (params) {\n var activeDropTarget = this.dragAndDropService.findExternalZone(params);\n if (activeDropTarget) {\n this.dragAndDropService.removeDropTarget(activeDropTarget);\n }\n };\n /** Returns the `RowDropZoneParams` to be used by another grid's `addRowDropZone` method. */\n GridApi.prototype.getRowDropZoneParams = function (events) {\n return this.gridBodyCtrl.getRowDragFeature().getRowDropZone(events);\n };\n /** Sets the height in pixels for the row containing the column label header. */\n GridApi.prototype.setHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_HEADER_HEIGHT, headerHeight);\n };\n /**\n * Switch between layout options: `normal`, `autoHeight`, `print`.\n * Defaults to `normal` if no domLayout provided.\n */\n GridApi.prototype.setDomLayout = function (domLayout) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_DOM_LAYOUT, domLayout);\n };\n /** Sets the `enableCellTextSelection` property. */\n GridApi.prototype.setEnableCellTextSelection = function (selectable) {\n this.gridBodyCtrl.setCellTextSelection(selectable);\n };\n /** Sets the preferred direction for the selection fill handle. */\n GridApi.prototype.setFillHandleDirection = function (direction) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_FILL_HANDLE_DIRECTION, direction);\n };\n /** Sets the height in pixels for the rows containing header column groups. */\n GridApi.prototype.setGroupHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, headerHeight);\n };\n /** Sets the height in pixels for the row containing the floating filters. */\n GridApi.prototype.setFloatingFiltersHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, headerHeight);\n };\n /** Sets the height in pixels for the row containing the columns when in pivot mode. */\n GridApi.prototype.setPivotHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, headerHeight);\n };\n /** Sets the height in pixels for the row containing header column groups when in pivot mode. */\n GridApi.prototype.setPivotGroupHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, headerHeight);\n };\n GridApi.prototype.setIsExternalFilterPresent = function (isExternalFilterPresentFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_EXTERNAL_FILTER_PRESENT, isExternalFilterPresentFunc);\n };\n GridApi.prototype.setDoesExternalFilterPass = function (doesExternalFilterPassFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_DOES_EXTERNAL_FILTER_PASS, doesExternalFilterPassFunc);\n };\n GridApi.prototype.setNavigateToNextCell = function (navigateToNextCellFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_CELL, navigateToNextCellFunc);\n };\n GridApi.prototype.setTabToNextCell = function (tabToNextCellFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_TAB_TO_NEXT_CELL, tabToNextCellFunc);\n };\n GridApi.prototype.setTabToNextHeader = function (tabToNextHeaderFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_TAB_TO_NEXT_HEADER, tabToNextHeaderFunc);\n };\n GridApi.prototype.setNavigateToNextHeader = function (navigateToNextHeaderFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_HEADER, navigateToNextHeaderFunc);\n };\n GridApi.prototype.setRowGroupPanelShow = function (rowGroupPanelShow) {\n this.gridOptionsWrapper.setProperty('rowGroupPanelShow', rowGroupPanelShow);\n };\n GridApi.prototype.setGroupRowAggNodes = function (groupRowAggNodesFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_ROW_AGG_NODES, groupRowAggNodesFunc);\n };\n GridApi.prototype.setGetGroupRowAgg = function (getGroupRowAggFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_GROUP_ROW_AGG, getGroupRowAggFunc);\n };\n GridApi.prototype.setGetBusinessKeyForNode = function (getBusinessKeyForNodeFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_BUSINESS_KEY_FOR_NODE, getBusinessKeyForNodeFunc);\n };\n GridApi.prototype.setGetChildCount = function (getChildCountFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_CHILD_COUNT, getChildCountFunc);\n };\n GridApi.prototype.setProcessRowPostCreate = function (processRowPostCreateFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_ROW_POST_CREATE, processRowPostCreateFunc);\n };\n GridApi.prototype.setGetRowNodeId = function (getRowNodeIdFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_NODE_ID, getRowNodeIdFunc);\n };\n GridApi.prototype.setGetRowId = function (getRowIdFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_ID, getRowIdFunc);\n };\n GridApi.prototype.setGetRowClass = function (rowClassFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_CLASS, rowClassFunc);\n };\n GridApi.prototype.setIsFullWidthCell = function (isFullWidthCellFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_FULL_WIDTH_CELL, isFullWidthCellFunc);\n };\n GridApi.prototype.setIsFullWidthRow = function (isFullWidthRowFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_FULL_WIDTH_ROW, isFullWidthRowFunc);\n };\n GridApi.prototype.setIsRowSelectable = function (isRowSelectableFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_ROW_SELECTABLE, isRowSelectableFunc);\n };\n GridApi.prototype.setIsRowMaster = function (isRowMasterFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_ROW_MASTER, isRowMasterFunc);\n };\n GridApi.prototype.setPostSort = function (postSortFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POST_SORT, postSortFunc);\n };\n GridApi.prototype.setPostSortRows = function (postSortRowsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POST_SORT_ROWS, postSortRowsFunc);\n };\n GridApi.prototype.setGetDocument = function (getDocumentFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_DOCUMENT, getDocumentFunc);\n };\n GridApi.prototype.setGetContextMenuItems = function (getContextMenuItemsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_CONTEXT_MENU_ITEMS, getContextMenuItemsFunc);\n };\n GridApi.prototype.setGetMainMenuItems = function (getMainMenuItemsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_MAIN_MENU_ITEMS, getMainMenuItemsFunc);\n };\n GridApi.prototype.setProcessCellForClipboard = function (processCellForClipboardFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_CELL_FOR_CLIPBOARD, processCellForClipboardFunc);\n };\n GridApi.prototype.setSendToClipboard = function (sendToClipboardFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SEND_TO_CLIPBOARD, sendToClipboardFunc);\n };\n GridApi.prototype.setProcessCellFromClipboard = function (processCellFromClipboardFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_CELL_FROM_CLIPBOARD, processCellFromClipboardFunc);\n };\n /** @deprecated use `setProcessPivotResultColDef` instead */\n GridApi.prototype.setProcessSecondaryColDef = function (processSecondaryColDefFunc) {\n console.warn('AG Grid: since version 28.0.x setProcessSecondaryColDef has been renamed, please use setProcessPivotResultColDef instead');\n this.setProcessPivotResultColDef(processSecondaryColDefFunc);\n };\n /** @deprecated use `setProcessPivotResultColGroupDef` instead */\n GridApi.prototype.setProcessSecondaryColGroupDef = function (processSecondaryColGroupDefFunc) {\n console.warn('AG Grid: since version 28.0.x setProcessSecondaryColGroupDef has been renamed, please use setProcessPivotResultColGroupDef instead');\n this.setProcessPivotResultColGroupDef(processSecondaryColGroupDefFunc);\n };\n GridApi.prototype.setProcessPivotResultColDef = function (processPivotResultColDefFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_PIVOT_RESULT_COL_DEF, processPivotResultColDefFunc);\n };\n GridApi.prototype.setProcessPivotResultColGroupDef = function (processPivotResultColGroupDefFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_PIVOT_RESULT_COL_GROUP_DEF, processPivotResultColGroupDefFunc);\n };\n GridApi.prototype.setPostProcessPopup = function (postProcessPopupFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POST_PROCESS_POPUP, postProcessPopupFunc);\n };\n GridApi.prototype.setDefaultGroupOrderComparator = function (defaultGroupOrderComparatorFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_DEFAULT_GROUP_ORDER_COMPARATOR, defaultGroupOrderComparatorFunc);\n };\n GridApi.prototype.setInitialGroupOrderComparator = function (initialGroupOrderComparatorFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_INITIAL_GROUP_ORDER_COMPARATOR, initialGroupOrderComparatorFunc);\n };\n GridApi.prototype.setGetChartToolbarItems = function (getChartToolbarItemsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_CHART_TOOLBAR_ITEMS, getChartToolbarItemsFunc);\n };\n GridApi.prototype.setPaginationNumberFormatter = function (paginationNumberFormatterFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PAGINATION_NUMBER_FORMATTER, paginationNumberFormatterFunc);\n };\n /** @deprecated use setGetServerSideGroupLevelParams instead */\n GridApi.prototype.setGetServerSideStoreParams = function (getServerSideStoreParamsFunc) {\n this.setGetServerSideGroupLevelParams(getServerSideStoreParamsFunc);\n };\n GridApi.prototype.setGetServerSideGroupLevelParams = function (getServerSideGroupLevelParamsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_SERVER_SIDE_GROUP_PARAMS, getServerSideGroupLevelParamsFunc);\n };\n GridApi.prototype.setIsServerSideGroupOpenByDefault = function (isServerSideGroupOpenByDefaultFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUPS_OPEN_BY_DEFAULT, isServerSideGroupOpenByDefaultFunc);\n };\n GridApi.prototype.setIsApplyServerSideTransaction = function (isApplyServerSideTransactionFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_APPLY_SERVER_SIDE_TRANSACTION, isApplyServerSideTransactionFunc);\n };\n GridApi.prototype.setIsServerSideGroup = function (isServerSideGroupFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUP, isServerSideGroupFunc);\n };\n GridApi.prototype.setGetServerSideGroupKey = function (getServerSideGroupKeyFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_SERVER_SIDE_GROUP_KEY, getServerSideGroupKeyFunc);\n };\n GridApi.prototype.setGetRowStyle = function (rowStyleFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_STYLE, rowStyleFunc);\n };\n GridApi.prototype.setGetRowHeight = function (rowHeightFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_HEIGHT, rowHeightFunc);\n };\n /** Returns `true` if the side bar is visible. */\n GridApi.prototype.isSideBarVisible = function () {\n return this.sideBarComp ? this.sideBarComp.isDisplayed() : false;\n };\n /** Show/hide the entire side bar, including any visible panel and the tab buttons. */\n GridApi.prototype.setSideBarVisible = function (show) {\n if (!this.sideBarComp) {\n if (show) {\n console.warn('AG Grid: sideBar is not loaded');\n }\n return;\n }\n this.sideBarComp.setDisplayed(show);\n };\n /** Sets the side bar position relative to the grid. Possible values are `'left'` or `'right'`. */\n GridApi.prototype.setSideBarPosition = function (position) {\n if (!this.sideBarComp) {\n console.warn('AG Grid: sideBar is not loaded');\n return;\n }\n this.sideBarComp.setSideBarPosition(position);\n };\n /** Opens a particular tool panel. Provide the ID of the tool panel to open. */\n GridApi.prototype.openToolPanel = function (key) {\n if (!this.sideBarComp) {\n console.warn('AG Grid: toolPanel is only available in AG Grid Enterprise');\n return;\n }\n this.sideBarComp.openToolPanel(key);\n };\n /** Closes the currently open tool panel (if any). */\n GridApi.prototype.closeToolPanel = function () {\n if (!this.sideBarComp) {\n console.warn('AG Grid: toolPanel is only available in AG Grid Enterprise');\n return;\n }\n this.sideBarComp.close();\n };\n /** Returns the ID of the currently shown tool panel if any, otherwise `null`. */\n GridApi.prototype.getOpenedToolPanel = function () {\n return this.sideBarComp ? this.sideBarComp.openedItem() : null;\n };\n /** Returns the current side bar configuration. If a shortcut was used, returns the detailed long form. */\n GridApi.prototype.getSideBar = function () {\n return this.gridOptionsWrapper.getSideBar();\n };\n /** Resets the side bar to the provided configuration. The parameter is the same as the sideBar grid property. The side bar is re-created from scratch with the new config. */\n GridApi.prototype.setSideBar = function (def) {\n this.gridOptionsWrapper.setProperty('sideBar', SideBarDefParser.parse(def));\n };\n GridApi.prototype.setSuppressClipboardPaste = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_CLIPBOARD_PASTE, value);\n };\n /** Returns `true` if the tool panel is showing, otherwise `false`. */\n GridApi.prototype.isToolPanelShowing = function () {\n return this.sideBarComp.isToolPanelShowing();\n };\n /** @deprecated AG Grid - since version 25.1, doLayout was taken out, as it's not needed. The grid responds to grid size changes automatically. */\n GridApi.prototype.doLayout = function () {\n var message = \"AG Grid - since version 25.1, doLayout was taken out, as it's not needed. The grid responds to grid size changes automatically\";\n doOnce(function () { return console.warn(message); }, 'doLayoutDeprecated');\n };\n /** Tells the grid to recalculate the row heights. */\n GridApi.prototype.resetRowHeights = function () {\n if (exists(this.clientSideRowModel)) {\n if (this.columnModel.isAutoRowHeightActive()) {\n console.warn('AG Grid: calling gridApi.resetRowHeights() makes no sense when using Auto Row Height.');\n return;\n }\n this.clientSideRowModel.resetRowHeights();\n }\n };\n GridApi.prototype.setGroupRemoveSingleChildren = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN, value);\n };\n GridApi.prototype.setGroupRemoveLowestSingleChildren = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN, value);\n };\n GridApi.prototype.setGroupDisplayType = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_DISPLAY_TYPE, value);\n };\n /** Tells the grid a row height has changed. To be used after calling `rowNode.setRowHeight(newHeight)`. */\n GridApi.prototype.onRowHeightChanged = function () {\n if (this.clientSideRowModel) {\n this.clientSideRowModel.onRowHeightChanged();\n }\n else if (this.serverSideRowModel) {\n this.serverSideRowModel.onRowHeightChanged();\n }\n };\n /**\n * Gets the value for a column for a particular `rowNode` (row).\n * This is useful if you want the raw value of a cell e.g. if implementing your own CSV export.\n */\n GridApi.prototype.getValue = function (colKey, rowNode) {\n var column = this.columnModel.getPrimaryColumn(colKey);\n if (missing(column)) {\n column = this.columnModel.getGridColumn(colKey);\n }\n if (missing(column)) {\n return null;\n }\n return this.valueService.getValue(column, rowNode);\n };\n /** Add an event listener for the specified `eventType`. Works similar to `addEventListener` for a browser DOM element. */\n GridApi.prototype.addEventListener = function (eventType, listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.addEventListener(eventType, listener, async);\n };\n /** Add an event listener for all event types coming from the grid. */\n GridApi.prototype.addGlobalListener = function (listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.addGlobalListener(listener, async);\n };\n /** Remove an event listener. */\n GridApi.prototype.removeEventListener = function (eventType, listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.removeEventListener(eventType, listener, async);\n };\n /** Remove a global event listener. */\n GridApi.prototype.removeGlobalListener = function (listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.removeGlobalListener(listener, async);\n };\n GridApi.prototype.dispatchEvent = function (event) {\n this.eventService.dispatchEvent(event);\n };\n /** Will destroy the grid and release resources. If you are using a framework you do not need to call this, as the grid links in with the framework lifecycle. However if you are using Web Components or native JavaScript, you do need to call this, to avoid a memory leak in your application. */\n GridApi.prototype.destroy = function () {\n // this is needed as GridAPI is a bean, and GridAPI.destroy() is called as part\n // of context.destroy(). so we need to stop the infinite loop.\n if (this.destroyCalled) {\n return;\n }\n this.destroyCalled = true;\n // destroy the UI first (as they use the services)\n var gridCtrl = this.ctrlsService.getGridCtrl();\n if (gridCtrl) {\n gridCtrl.destroyGridUi();\n }\n // destroy the services\n this.context.destroy();\n };\n GridApi.prototype.cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid = function () {\n // some users were raising support issues with regards memory leaks. the problem was the customers applications\n // were keeping references to the API. trying to educate them all would be difficult, easier to just remove\n // all references in the API so at least the core grid can be garbage collected.\n //\n // wait about 100ms before clearing down the references, in case user has some cleanup to do,\n // and needs to deference the API first\n setTimeout(removeAllReferences.bind(window, this, 'Grid API'), 100);\n };\n GridApi.prototype.warnIfDestroyed = function (methodName) {\n if (this.destroyCalled) {\n console.warn(\"AG Grid: Grid API method \" + methodName + \" was called on a grid that was destroyed.\");\n }\n return this.destroyCalled;\n };\n /** Reset the quick filter cache text on every rowNode. */\n GridApi.prototype.resetQuickFilter = function () {\n if (this.warnIfDestroyed('resetQuickFilter')) {\n return;\n }\n this.rowModel.forEachNode(function (node) { return node.quickFilterAggregateText = null; });\n };\n /** @deprecated AG Grid: in v20.1.x, api.getRangeSelections() is gone, please use getCellRanges() instead. */\n GridApi.prototype.getRangeSelections = function () {\n console.warn(\"AG Grid: in v20.1.x, api.getRangeSelections() is gone, please use getCellRanges() instead.\\n We had to change how cell selections works a small bit to allow charting to integrate. The return type of\\n getCellRanges() is a bit different, please check the AG Grid documentation.\");\n return null;\n };\n /** Returns the list of selected cell ranges. */\n GridApi.prototype.getCellRanges = function () {\n if (this.rangeService) {\n return this.rangeService.getCellRanges();\n }\n console.warn('AG Grid: cell range selection is only available in AG Grid Enterprise');\n return null;\n };\n GridApi.prototype.camelCaseToHumanReadable = function (camelCase) {\n return camelCaseToHumanText(camelCase);\n };\n /** @deprecated AG Grid: As of version 21.x, range selection changed slightly to allow charting integration. Please call api.addCellRange() instead of api.addRangeSelection() */\n GridApi.prototype.addRangeSelection = function (deprecatedNoLongerUsed) {\n console.warn('AG Grid: As of version 21.x, range selection changed slightly to allow charting integration. Please call api.addCellRange() instead of api.addRangeSelection()');\n };\n /** Adds the provided cell range to the selected ranges. */\n GridApi.prototype.addCellRange = function (params) {\n if (!this.rangeService) {\n console.warn('AG Grid: cell range selection is only available in AG Grid Enterprise');\n }\n this.rangeService.addCellRange(params);\n };\n /** Clears the selected ranges. */\n GridApi.prototype.clearRangeSelection = function () {\n if (!this.rangeService) {\n console.warn('AG Grid: cell range selection is only available in AG Grid Enterprise');\n }\n this.rangeService.removeAllCellRanges();\n };\n /** Reverts the last cell edit. */\n GridApi.prototype.undoCellEditing = function () {\n this.undoRedoService.undo();\n };\n /** Re-applies the most recently undone cell edit. */\n GridApi.prototype.redoCellEditing = function () {\n this.undoRedoService.redo();\n };\n /** Returns current number of available cell edit undo operations. */\n GridApi.prototype.getCurrentUndoSize = function () {\n return this.undoRedoService.getCurrentUndoStackSize();\n };\n /** Returns current number of available cell edit redo operations. */\n GridApi.prototype.getCurrentRedoSize = function () {\n return this.undoRedoService.getCurrentRedoStackSize();\n };\n /** Returns a list of models with information about the charts that are currently rendered from the grid. */\n GridApi.prototype.getChartModels = function () {\n if (ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'api.getChartModels') &&\n ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.getChartModels')) {\n return this.chartService.getChartModels();\n }\n };\n /** Returns the `ChartRef` using the supplied `chartId`. */\n GridApi.prototype.getChartRef = function (chartId) {\n if (ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'api.getChartRef') &&\n ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.getChartRef')) {\n return this.chartService.getChartRef(chartId);\n }\n };\n /** Returns a string containing the requested data URL which contains a representation of the chart image. */\n GridApi.prototype.getChartImageDataURL = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.getChartImageDataURL')) {\n return this.chartService.getChartImageDataURL(params);\n }\n };\n /** Downloads the chart image in the browser. */\n GridApi.prototype.downloadChart = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.downloadChart')) {\n return this.chartService.downloadChart(params);\n }\n };\n /** Open the Chart Tool Panel. */\n GridApi.prototype.openChartToolPanel = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.openChartToolPanel')) {\n return this.chartService.openChartToolPanel(params);\n }\n };\n /** Close the Chart Tool Panel. */\n GridApi.prototype.closeChartToolPanel = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.closeChartToolPanel')) {\n return this.chartService.closeChartToolPanel(params.chartId);\n }\n };\n /** Used to programmatically create charts from a range. */\n GridApi.prototype.createRangeChart = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'api.createRangeChart') &&\n ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.createRangeChart')) {\n return this.chartService.createRangeChart(params);\n }\n };\n /** Used to programmatically create cross filter charts from a range. */\n GridApi.prototype.createCrossFilterChart = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'api.createCrossFilterChart') &&\n ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.createCrossFilterChart')) {\n return this.chartService.createCrossFilterChart(params);\n }\n };\n /** Restores a chart using the `ChartModel` that was previously obtained from `getChartModels()`. */\n GridApi.prototype.restoreChart = function (chartModel, chartContainer) {\n if (ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'api.restoreChart') &&\n ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.restoreChart')) {\n return this.chartService.restoreChart(chartModel, chartContainer);\n }\n };\n /** Used to programmatically create pivot charts from a grid. */\n GridApi.prototype.createPivotChart = function (params) {\n if (ModuleRegistry.assertRegistered(ModuleNames.RangeSelectionModule, 'api.createPivotChart') &&\n ModuleRegistry.assertRegistered(ModuleNames.GridChartsModule, 'api.createPivotChart')) {\n return this.chartService.createPivotChart(params);\n }\n };\n /** Copies data to clipboard by following the same rules as pressing Ctrl+C. */\n GridApi.prototype.copyToClipboard = function (params) {\n if (!this.clipboardService) {\n console.warn('AG Grid: clipboard is only available in AG Grid Enterprise');\n }\n this.clipboardService.copyToClipboard(params);\n };\n /** Copies the selected rows to the clipboard. */\n GridApi.prototype.copySelectedRowsToClipboard = function (params) {\n if (!this.clipboardService) {\n console.warn('AG Grid: clipboard is only available in AG Grid Enterprise');\n }\n this.clipboardService.copySelectedRowsToClipboard(params);\n };\n /** Copies the selected ranges to the clipboard. */\n GridApi.prototype.copySelectedRangeToClipboard = function (params) {\n if (!this.clipboardService) {\n console.warn('AG Grid: clipboard is only available in AG Grid Enterprise');\n }\n this.clipboardService.copySelectedRangeToClipboard(params);\n };\n /** Copies the selected range down, similar to `Ctrl + D` in Excel. */\n GridApi.prototype.copySelectedRangeDown = function () {\n if (!this.clipboardService) {\n console.warn('AG Grid: clipboard is only available in AG Grid Enterprise');\n }\n this.clipboardService.copyRangeDown();\n };\n /** Shows the column menu after and positions it relative to the provided button element. Use in conjunction with your own header template. */\n GridApi.prototype.showColumnMenuAfterButtonClick = function (colKey, buttonElement) {\n // use grid column so works with pivot mode\n var column = this.columnModel.getGridColumn(colKey);\n this.menuFactory.showMenuAfterButtonClick(column, buttonElement, 'columnMenu');\n };\n /** Shows the column menu after and positions it relative to the mouse event. Use in conjunction with your own header template. */\n GridApi.prototype.showColumnMenuAfterMouseClick = function (colKey, mouseEvent) {\n // use grid column so works with pivot mode\n var column = this.columnModel.getGridColumn(colKey);\n if (!column) {\n column = this.columnModel.getPrimaryColumn(colKey);\n }\n if (!column) {\n console.error(\"AG Grid: column '\" + colKey + \"' not found\");\n return;\n }\n this.menuFactory.showMenuAfterMouseEvent(column, mouseEvent);\n };\n /** Hides any visible context menu or column menu. */\n GridApi.prototype.hidePopupMenu = function () {\n // hide the context menu if in enterprise\n if (this.contextMenuFactory) {\n this.contextMenuFactory.hideActiveMenu();\n }\n // and hide the column menu always\n this.menuFactory.hideActiveMenu();\n };\n /** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\n GridApi.prototype.setPopupParent = function (ePopupParent) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POPUP_PARENT, ePopupParent);\n };\n /** Navigates the grid focus to the next cell, as if tabbing. */\n GridApi.prototype.tabToNextCell = function (event) {\n return this.navigationService.tabToNextCell(false, event);\n };\n /** Navigates the grid focus to the previous cell, as if shift-tabbing. */\n GridApi.prototype.tabToPreviousCell = function (event) {\n return this.navigationService.tabToNextCell(true, event);\n };\n /** Returns the list of active cell renderer instances. */\n GridApi.prototype.getCellRendererInstances = function (params) {\n if (params === void 0) { params = {}; }\n var res = this.rowRenderer.getCellRendererInstances(params);\n var unwrapped = res.map(unwrapUserComp);\n return unwrapped;\n };\n /** Returns the list of active cell editor instances. Optionally provide parameters to restrict to certain columns / row nodes. */\n GridApi.prototype.getCellEditorInstances = function (params) {\n if (params === void 0) { params = {}; }\n var res = this.rowRenderer.getCellEditorInstances(params);\n var unwrapped = res.map(unwrapUserComp);\n return unwrapped;\n };\n /** If the grid is editing, returns back details of the editing cell(s). */\n GridApi.prototype.getEditingCells = function () {\n return this.rowRenderer.getEditingCells();\n };\n /** If a cell is editing, it stops the editing. Pass `true` if you want to cancel the editing (i.e. don't accept changes). */\n GridApi.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n this.rowRenderer.stopEditing(cancel);\n };\n /** Start editing the provided cell. If another cell is editing, the editing will be stopped in that other cell. */\n GridApi.prototype.startEditingCell = function (params) {\n var column = this.columnModel.getGridColumn(params.colKey);\n if (!column) {\n console.warn(\"AG Grid: no column found for \" + params.colKey);\n return;\n }\n var cellPosition = {\n rowIndex: params.rowIndex,\n rowPinned: params.rowPinned || null,\n column: column\n };\n var notPinned = params.rowPinned == null;\n if (notPinned) {\n this.gridBodyCtrl.getScrollFeature().ensureIndexVisible(params.rowIndex);\n }\n var cell = this.navigationService.getCellByPosition(cellPosition);\n if (!cell) {\n return;\n }\n cell.startRowOrCellEdit(params.key, params.charPress);\n };\n /** Add an aggregation function with the specified key. */\n GridApi.prototype.addAggFunc = function (key, aggFunc) {\n if (this.aggFuncService) {\n this.aggFuncService.addAggFunc(key, aggFunc);\n }\n };\n /** Add aggregations function with the specified keys. */\n GridApi.prototype.addAggFuncs = function (aggFuncs) {\n if (this.aggFuncService) {\n this.aggFuncService.addAggFuncs(aggFuncs);\n }\n };\n /** Clears all aggregation functions (including those provided by the grid). */\n GridApi.prototype.clearAggFuncs = function () {\n if (this.aggFuncService) {\n this.aggFuncService.clear();\n }\n };\n /** Apply transactions to the server side row model. */\n GridApi.prototype.applyServerSideTransaction = function (transaction) {\n if (!this.serverSideTransactionManager) {\n console.warn('AG Grid: Cannot apply Server Side Transaction if not using the Server Side Row Model.');\n return;\n }\n return this.serverSideTransactionManager.applyTransaction(transaction);\n };\n GridApi.prototype.applyServerSideTransactionAsync = function (transaction, callback) {\n if (!this.serverSideTransactionManager) {\n console.warn('AG Grid: Cannot apply Server Side Transaction if not using the Server Side Row Model.');\n return;\n }\n return this.serverSideTransactionManager.applyTransactionAsync(transaction, callback);\n };\n /** Gets all failed server side loads to retry. */\n GridApi.prototype.retryServerSideLoads = function () {\n if (!this.serverSideRowModel) {\n console.warn('AG Grid: API retryServerSideLoads() can only be used when using Server-Side Row Model.');\n return;\n }\n this.serverSideRowModel.retryLoads();\n };\n GridApi.prototype.flushServerSideAsyncTransactions = function () {\n if (!this.serverSideTransactionManager) {\n console.warn('AG Grid: Cannot flush Server Side Transaction if not using the Server Side Row Model.');\n return;\n }\n return this.serverSideTransactionManager.flushAsyncTransactions();\n };\n /** Update row data. Pass a transaction object with lists for `add`, `remove` and `update`. */\n GridApi.prototype.applyTransaction = function (rowDataTransaction) {\n if (!this.clientSideRowModel) {\n console.error('AG Grid: updateRowData() only works with ClientSideRowModel. Working with InfiniteRowModel was deprecated in v23.1 and removed in v24.1');\n return;\n }\n var res = this.clientSideRowModel.updateRowData(rowDataTransaction);\n // refresh all the full width rows\n this.rowRenderer.refreshFullWidthRows(res.update);\n // do change detection for all present cells\n if (!this.gridOptionsWrapper.isSuppressChangeDetection()) {\n this.rowRenderer.refreshCells();\n }\n return res;\n };\n /** Sets the `deltaSort` property */\n GridApi.prototype.setDeltaSort = function (enable) {\n this.gridOptionsWrapper.setProperty('deltaSort', enable);\n };\n /** @deprecated AG Grid: as of v23.1, grid API updateRowData(transaction) is now called applyTransaction(transaction). */\n GridApi.prototype.updateRowData = function (rowDataTransaction) {\n var message = 'AG Grid: as of v23.1, grid API updateRowData(transaction) is now called applyTransaction(transaction). updateRowData is deprecated and will be removed in a future major release.';\n doOnce(function () { return console.warn(message); }, 'updateRowData deprecated');\n return this.applyTransaction(rowDataTransaction);\n };\n /** Same as `applyTransaction` except executes asynchronously for efficiency. */\n GridApi.prototype.applyTransactionAsync = function (rowDataTransaction, callback) {\n if (!this.clientSideRowModel) {\n console.error('AG Grid: api.applyTransactionAsync() only works with ClientSideRowModel.');\n return;\n }\n this.clientSideRowModel.batchUpdateRowData(rowDataTransaction, callback);\n };\n /** Executes any remaining asynchronous grid transactions, if any are waiting to be executed. */\n GridApi.prototype.flushAsyncTransactions = function () {\n if (!this.clientSideRowModel) {\n console.error('AG Grid: api.applyTransactionAsync() only works with ClientSideRowModel.');\n return;\n }\n this.clientSideRowModel.flushAsyncTransactions();\n };\n /** @deprecated AG Grid: as of v23.1, grid API batchUpdateRowData(transaction, callback) is now called applyTransactionAsync(transaction, callback). */\n GridApi.prototype.batchUpdateRowData = function (rowDataTransaction, callback) {\n var message = 'AG Grid: as of v23.1, grid API batchUpdateRowData(transaction, callback) is now called applyTransactionAsync(transaction, callback). batchUpdateRowData is deprecated and will be removed in a future major release.';\n doOnce(function () { return console.warn(message); }, 'batchUpdateRowData deprecated');\n this.applyTransactionAsync(rowDataTransaction, callback);\n };\n /** @deprecated AG Grid: insertItemsAtIndex() is deprecated, use updateRowData(transaction) instead.*/\n GridApi.prototype.insertItemsAtIndex = function (index, items, skipRefresh) {\n console.warn('AG Grid: insertItemsAtIndex() is deprecated, use updateRowData(transaction) instead.');\n this.updateRowData({ add: items, addIndex: index, update: null, remove: null });\n };\n /** @deprecated AG Grid: removeItems() is deprecated, use updateRowData(transaction) instead. */\n GridApi.prototype.removeItems = function (rowNodes, skipRefresh) {\n console.warn('AG Grid: removeItems() is deprecated, use updateRowData(transaction) instead.');\n var dataToRemove = rowNodes.map(function (rowNode) { return rowNode.data; });\n this.updateRowData({ add: null, addIndex: null, update: null, remove: dataToRemove });\n };\n /** @deprecated AG Grid: addItems() is deprecated, use updateRowData(transaction) instead. */\n GridApi.prototype.addItems = function (items, skipRefresh) {\n console.warn('AG Grid: addItems() is deprecated, use updateRowData(transaction) instead.');\n this.updateRowData({ add: items, addIndex: null, update: null, remove: null });\n };\n /** @deprecated AG Grid: refreshVirtualPageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead */\n GridApi.prototype.refreshVirtualPageCache = function () {\n console.warn('AG Grid: refreshVirtualPageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead');\n this.refreshInfiniteCache();\n };\n /** @deprecated AG Grid: refreshInfinitePageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead */\n GridApi.prototype.refreshInfinitePageCache = function () {\n console.warn('AG Grid: refreshInfinitePageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead');\n this.refreshInfiniteCache();\n };\n /**\n * Marks all the currently loaded blocks in the cache for reload.\n * If you have 10 blocks in the cache, all 10 will be marked for reload.\n * The old data will continue to be displayed until the new data is loaded.\n */\n GridApi.prototype.refreshInfiniteCache = function () {\n if (this.infiniteRowModel) {\n this.infiniteRowModel.refreshCache();\n }\n else {\n console.warn(\"AG Grid: api.refreshInfiniteCache is only available when rowModelType='infinite'.\");\n }\n };\n /** @deprecated AG Grid: purgeVirtualPageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead */\n GridApi.prototype.purgeVirtualPageCache = function () {\n console.warn('AG Grid: purgeVirtualPageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead');\n this.purgeInfinitePageCache();\n };\n /** @deprecated AG Grid: purgeInfinitePageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead */\n GridApi.prototype.purgeInfinitePageCache = function () {\n console.warn('AG Grid: purgeInfinitePageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead');\n this.purgeInfiniteCache();\n };\n /**\n * Purges the cache.\n * The grid is then told to refresh. Only the blocks required to display the current data on screen are fetched (typically no more than 2).\n * The grid will display nothing while the new blocks are loaded.\n * Use this to immediately remove the old data from the user.\n */\n GridApi.prototype.purgeInfiniteCache = function () {\n if (this.infiniteRowModel) {\n this.infiniteRowModel.purgeCache();\n }\n else {\n console.warn(\"AG Grid: api.purgeInfiniteCache is only available when rowModelType='infinite'.\");\n }\n };\n /** @deprecated AG Grid: since version 18.x, api.purgeEnterpriseCache() should be replaced with api.refreshServerSide({purge: true}) */\n GridApi.prototype.purgeEnterpriseCache = function (route) {\n console.warn(\"AG Grid: since version 18.x, api.purgeEnterpriseCache() should be replaced with api.refreshServerSide({purge: true})\");\n this.purgeServerSideCache(route);\n };\n /** @deprecated AG Grid: since v25.0, api.purgeServerSideCache is deprecated. Please use api.refreshServerSide({purge: true}) instead. */\n GridApi.prototype.purgeServerSideCache = function (route) {\n if (route === void 0) { route = []; }\n if (this.serverSideRowModel) {\n console.warn(\"AG Grid: since v25.0, api.purgeServerSideCache is deprecated. Please use api.refreshServerSide({purge: true}) instead.\");\n this.refreshServerSide({\n route: route,\n purge: true\n });\n }\n else {\n console.warn(\"AG Grid: api.purgeServerSideCache is only available when rowModelType='serverSide'.\");\n }\n };\n /**\n * Refresh a server-side level.\n * If you pass no parameters, then the top level store is purged.\n * To purge a child level, pass in the string of keys to get to the desired level.\n */\n GridApi.prototype.refreshServerSide = function (params) {\n if (!this.serverSideRowModel) {\n console.warn(\"AG Grid: api.refreshServerSide is only available when rowModelType='serverSide'.\");\n return;\n }\n this.serverSideRowModel.refreshStore(params);\n };\n /** @deprecated use `refreshServerSide` instead */\n GridApi.prototype.refreshServerSideStore = function (params) {\n var message = \"AG Grid: Grid API refreshServerSideStore() was renamed to refreshServerSide() in v28.0\";\n doOnce(function () { return console.warn(message); }, 'refreshServerSideStore-renamed');\n return this.refreshServerSide(params);\n };\n /** @deprecated use `getServerSideGroupLevelState` instead */\n GridApi.prototype.getServerSideStoreState = function () {\n var message = \"AG Grid: Grid API getServerSideStoreState() was renamed to getServerSideGroupLevelState() in v28.0\";\n doOnce(function () { return console.warn(message); }, 'getServerSideStoreState-renamed');\n return this.getServerSideGroupLevelState();\n };\n /** Returns info on all server side group levels. */\n GridApi.prototype.getServerSideGroupLevelState = function () {\n if (!this.serverSideRowModel) {\n console.warn(\"AG Grid: api.getServerSideGroupLevelState is only available when rowModelType='serverSide'.\");\n return [];\n }\n return this.serverSideRowModel.getStoreState();\n };\n /** @deprecated AG Grid: getVirtualRowCount() is now called getInfiniteRowCount(), please call getInfiniteRowCount() instead */\n GridApi.prototype.getVirtualRowCount = function () {\n console.warn('AG Grid: getVirtualRowCount() is now called getInfiniteRowCount(), please call getInfiniteRowCount() instead');\n return this.getInfiniteRowCount();\n };\n /** The row count defines how many rows the grid allows scrolling to. */\n GridApi.prototype.getInfiniteRowCount = function () {\n if (this.infiniteRowModel) {\n return this.infiniteRowModel.getRowCount();\n }\n else {\n console.warn(\"AG Grid: api.getVirtualRowCount is only available when rowModelType='virtual'.\");\n }\n };\n /** @deprecated AG Grid: api.isMaxRowFound is deprecated, please use api.isLastRowIndexKnown() */\n GridApi.prototype.isMaxRowFound = function () {\n console.warn(\"AG Grid: api.isMaxRowFound is deprecated, please use api.isLastRowIndexKnown()\");\n return this.isLastRowIndexKnown();\n };\n /** Returns `true` if grid allows for scrolling past the last row to load more rows, thus providing infinite scroll. */\n GridApi.prototype.isLastRowIndexKnown = function () {\n if (this.infiniteRowModel) {\n return this.infiniteRowModel.isLastRowIndexKnown();\n }\n else {\n console.warn(\"AG Grid: api.isMaxRowFound is only available when rowModelType='virtual'.\");\n }\n };\n /** @deprecated AG Grid: setVirtualRowCount() is now called setInfiniteRowCount(), please call setInfiniteRowCount() instead */\n GridApi.prototype.setVirtualRowCount = function (rowCount, maxRowFound) {\n console.warn('AG Grid: setVirtualRowCount() is now called setInfiniteRowCount(), please call setInfiniteRowCount() instead');\n this.setRowCount(rowCount, maxRowFound);\n };\n /** @deprecated AG Grid: setInfiniteRowCount() is now called setRowCount(), please call setRowCount() instead */\n GridApi.prototype.setInfiniteRowCount = function (rowCount, maxRowFound) {\n console.warn('AG Grid: setInfiniteRowCount() is now called setRowCount(), please call setRowCount() instead');\n this.setRowCount(rowCount, maxRowFound);\n };\n /**\n * Sets the `rowCount` and `lastRowIndexKnown` properties.\n * The second parameter, `lastRowIndexKnown`, is optional and if left out, only `rowCount` is set.\n * Set `rowCount` to adjust the height of the vertical scroll.\n * Set `lastRowIndexKnown` to enable / disable searching for more rows.\n * Use this method if you add or remove rows into the dataset and need to reset the number of rows or put the data back into 'look for data' mode.\n */\n GridApi.prototype.setRowCount = function (rowCount, maxRowFound) {\n if (this.infiniteRowModel) {\n this.infiniteRowModel.setRowCount(rowCount, maxRowFound);\n }\n else {\n console.warn(\"AG Grid: api.setRowCount is only available for Infinite Row Model.\");\n }\n };\n /** @deprecated AG Grid: getVirtualPageState() is now called getCacheBlockState(), please call getCacheBlockState() instead */\n GridApi.prototype.getVirtualPageState = function () {\n console.warn('AG Grid: getVirtualPageState() is now called getCacheBlockState(), please call getCacheBlockState() instead');\n return this.getCacheBlockState();\n };\n /** @deprecated getInfinitePageState() is now called getCacheBlockState(), please call getCacheBlockState() instead */\n GridApi.prototype.getInfinitePageState = function () {\n console.warn('AG Grid: getInfinitePageState() is now called getCacheBlockState(), please call getCacheBlockState() instead');\n return this.getCacheBlockState();\n };\n /**\n * Returns an object representing the state of the cache. This is useful for debugging and understanding how the cache is working.\n */\n GridApi.prototype.getCacheBlockState = function () {\n return this.rowNodeBlockLoader.getBlockState();\n };\n /** @deprecated In AG Grid v25.2.0, checkGridSize() was removed, as it was legacy and didn't do anything useful. */\n GridApi.prototype.checkGridSize = function () {\n console.warn(\"In AG Grid v25.2.0, checkGridSize() was removed, as it was legacy and didn't do anything useful.\");\n };\n /** @deprecated In AG Grid v12, getFirstRenderedRow() was renamed to getFirstDisplayedRow() */\n GridApi.prototype.getFirstRenderedRow = function () {\n console.warn('In AG Grid v12, getFirstRenderedRow() was renamed to getFirstDisplayedRow()');\n return this.getFirstDisplayedRow();\n };\n /** Get the index of the first displayed row due to scrolling (includes invisible rendered rows in the buffer). */\n GridApi.prototype.getFirstDisplayedRow = function () {\n return this.rowRenderer.getFirstVirtualRenderedRow();\n };\n /** @deprecated In AG Grid v12, getLastRenderedRow() was renamed to getLastDisplayedRow() */\n GridApi.prototype.getLastRenderedRow = function () {\n console.warn('in AG Grid v12, getLastRenderedRow() was renamed to getLastDisplayedRow()');\n return this.getLastDisplayedRow();\n };\n /** Get the index of the last displayed row due to scrolling (includes invisible rendered rows in the buffer). */\n GridApi.prototype.getLastDisplayedRow = function () {\n return this.rowRenderer.getLastVirtualRenderedRow();\n };\n /** Returns the displayed `RowNode` at the given `index`. */\n GridApi.prototype.getDisplayedRowAtIndex = function (index) {\n return this.rowModel.getRow(index);\n };\n /** Returns the total number of displayed rows. */\n GridApi.prototype.getDisplayedRowCount = function () {\n return this.rowModel.getRowCount();\n };\n /**\n * Returns `true` when the last page is known.\n * This will always be `true` if you are using the Client-Side Row Model for pagination.\n * Returns `false` when the last page is not known; this only happens when using Infinite Row Model.\n */\n GridApi.prototype.paginationIsLastPageFound = function () {\n return this.paginationProxy.isLastPageFound();\n };\n /** Returns how many rows are being shown per page. */\n GridApi.prototype.paginationGetPageSize = function () {\n return this.paginationProxy.getPageSize();\n };\n /** Sets the `paginationPageSize`, then re-paginates the grid so the changes are applied immediately. */\n GridApi.prototype.paginationSetPageSize = function (size) {\n this.gridOptionsWrapper.setProperty('paginationPageSize', size);\n };\n /** Returns the 0-based index of the page which is showing. */\n GridApi.prototype.paginationGetCurrentPage = function () {\n return this.paginationProxy.getCurrentPage();\n };\n /** Returns the total number of pages. Returns `null` if `paginationIsLastPageFound() === false`. */\n GridApi.prototype.paginationGetTotalPages = function () {\n return this.paginationProxy.getTotalPages();\n };\n /** The total number of rows. Returns `null` if `paginationIsLastPageFound() === false`. */\n GridApi.prototype.paginationGetRowCount = function () {\n return this.paginationProxy.getMasterRowCount();\n };\n /** Navigates to the next page. */\n GridApi.prototype.paginationGoToNextPage = function () {\n this.paginationProxy.goToNextPage();\n };\n /** Navigates to the previous page. */\n GridApi.prototype.paginationGoToPreviousPage = function () {\n this.paginationProxy.goToPreviousPage();\n };\n /** Navigates to the first page. */\n GridApi.prototype.paginationGoToFirstPage = function () {\n this.paginationProxy.goToFirstPage();\n };\n /** Navigates to the last page. */\n GridApi.prototype.paginationGoToLastPage = function () {\n this.paginationProxy.goToLastPage();\n };\n /** Goes to the specified page. If the page requested doesn't exist, it will go to the last page. */\n GridApi.prototype.paginationGoToPage = function (page) {\n this.paginationProxy.goToPage(page);\n };\n GridApi.prototype.setRowClass = function (className) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_ROW_CLASS, className);\n };\n __decorate$1r([\n Optional('immutableService')\n ], GridApi.prototype, \"immutableService\", void 0);\n __decorate$1r([\n Optional('csvCreator')\n ], GridApi.prototype, \"csvCreator\", void 0);\n __decorate$1r([\n Optional('excelCreator')\n ], GridApi.prototype, \"excelCreator\", void 0);\n __decorate$1r([\n Autowired('rowRenderer')\n ], GridApi.prototype, \"rowRenderer\", void 0);\n __decorate$1r([\n Autowired('navigationService')\n ], GridApi.prototype, \"navigationService\", void 0);\n __decorate$1r([\n Autowired('filterManager')\n ], GridApi.prototype, \"filterManager\", void 0);\n __decorate$1r([\n Autowired('columnModel')\n ], GridApi.prototype, \"columnModel\", void 0);\n __decorate$1r([\n Autowired('selectionService')\n ], GridApi.prototype, \"selectionService\", void 0);\n __decorate$1r([\n Autowired('gridOptionsWrapper')\n ], GridApi.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$1r([\n Autowired('valueService')\n ], GridApi.prototype, \"valueService\", void 0);\n __decorate$1r([\n Autowired('alignedGridsService')\n ], GridApi.prototype, \"alignedGridsService\", void 0);\n __decorate$1r([\n Autowired('eventService')\n ], GridApi.prototype, \"eventService\", void 0);\n __decorate$1r([\n Autowired('pinnedRowModel')\n ], GridApi.prototype, \"pinnedRowModel\", void 0);\n __decorate$1r([\n Autowired('context')\n ], GridApi.prototype, \"context\", void 0);\n __decorate$1r([\n Autowired('rowModel')\n ], GridApi.prototype, \"rowModel\", void 0);\n __decorate$1r([\n Autowired('sortController')\n ], GridApi.prototype, \"sortController\", void 0);\n __decorate$1r([\n Autowired('paginationProxy')\n ], GridApi.prototype, \"paginationProxy\", void 0);\n __decorate$1r([\n Autowired('focusService')\n ], GridApi.prototype, \"focusService\", void 0);\n __decorate$1r([\n Autowired('dragAndDropService')\n ], GridApi.prototype, \"dragAndDropService\", void 0);\n __decorate$1r([\n Optional('rangeService')\n ], GridApi.prototype, \"rangeService\", void 0);\n __decorate$1r([\n Optional('clipboardService')\n ], GridApi.prototype, \"clipboardService\", void 0);\n __decorate$1r([\n Optional('aggFuncService')\n ], GridApi.prototype, \"aggFuncService\", void 0);\n __decorate$1r([\n Autowired('menuFactory')\n ], GridApi.prototype, \"menuFactory\", void 0);\n __decorate$1r([\n Optional('contextMenuFactory')\n ], GridApi.prototype, \"contextMenuFactory\", void 0);\n __decorate$1r([\n Autowired('valueCache')\n ], GridApi.prototype, \"valueCache\", void 0);\n __decorate$1r([\n Autowired('animationFrameService')\n ], GridApi.prototype, \"animationFrameService\", void 0);\n __decorate$1r([\n Optional('statusBarService')\n ], GridApi.prototype, \"statusBarService\", void 0);\n __decorate$1r([\n Optional('chartService')\n ], GridApi.prototype, \"chartService\", void 0);\n __decorate$1r([\n Optional('undoRedoService')\n ], GridApi.prototype, \"undoRedoService\", void 0);\n __decorate$1r([\n Optional('rowNodeBlockLoader')\n ], GridApi.prototype, \"rowNodeBlockLoader\", void 0);\n __decorate$1r([\n Optional('ssrmTransactionManager')\n ], GridApi.prototype, \"serverSideTransactionManager\", void 0);\n __decorate$1r([\n Autowired('ctrlsService')\n ], GridApi.prototype, \"ctrlsService\", void 0);\n __decorate$1r([\n Optional('frameworkComponentWrapper')\n ], GridApi.prototype, \"frameworkComponentWrapper\", void 0);\n __decorate$1r([\n PostConstruct\n ], GridApi.prototype, \"init\", null);\n __decorate$1r([\n PreDestroy\n ], GridApi.prototype, \"cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid\", null);\n GridApi = __decorate$1r([\n Bean('gridApi')\n ], GridApi);\n return GridApi;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetLeftFeature = /** @class */ (function (_super) {\n __extends$1y(SetLeftFeature, _super);\n function SetLeftFeature(columnOrGroup, eCell, beans, colsSpanning) {\n var _this = _super.call(this) || this;\n _this.columnOrGroup = columnOrGroup;\n _this.eCell = eCell;\n _this.ariaEl = _this.eCell.querySelector('[role=columnheader]') || _this.eCell;\n _this.colsSpanning = colsSpanning;\n _this.beans = beans;\n return _this;\n }\n SetLeftFeature.prototype.setColsSpanning = function (colsSpanning) {\n this.colsSpanning = colsSpanning;\n this.onLeftChanged();\n };\n SetLeftFeature.prototype.getColumnOrGroup = function () {\n if (this.beans.gridOptionsWrapper.isEnableRtl() && this.colsSpanning) {\n return last(this.colsSpanning);\n }\n return this.columnOrGroup;\n };\n SetLeftFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.columnOrGroup, Column.EVENT_LEFT_CHANGED, this.onLeftChanged.bind(this));\n this.setLeftFirstTime();\n // when in print layout, the left position is also dependent on the width of the pinned sections.\n // so additionally update left if any column width changes.\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onLeftChanged.bind(this));\n // setting left has a dependency on print layout\n this.addManagedListener(this.beans.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.onLeftChanged.bind(this));\n };\n SetLeftFeature.prototype.setLeftFirstTime = function () {\n var suppressMoveAnimation = this.beans.gridOptionsWrapper.isSuppressColumnMoveAnimation();\n var oldLeftExists = exists(this.columnOrGroup.getOldLeft());\n var animateColumnMove = this.beans.columnAnimationService.isActive() && oldLeftExists && !suppressMoveAnimation;\n if (animateColumnMove) {\n this.animateInLeft();\n }\n else {\n this.onLeftChanged();\n }\n };\n SetLeftFeature.prototype.animateInLeft = function () {\n var _this = this;\n var colOrGroup = this.getColumnOrGroup();\n var left = colOrGroup.getLeft();\n var oldLeft = colOrGroup.getOldLeft();\n var oldActualLeft = this.modifyLeftForPrintLayout(colOrGroup, oldLeft);\n var actualLeft = this.modifyLeftForPrintLayout(colOrGroup, left);\n this.setLeft(oldActualLeft);\n // we must keep track of the left we want to set to, as this would otherwise lead to a race\n // condition, if the user changed the left value many times in one VM turn, then we want to make\n // make sure the actualLeft we set in the timeout below (in the next VM turn) is the correct left\n // position. eg if user changes column position twice, then setLeft() below executes twice in next\n // VM turn, but only one (the correct one) should get applied.\n this.actualLeft = actualLeft;\n this.beans.columnAnimationService.executeNextVMTurn(function () {\n // test this left value is the latest one to be applied, and if not, do nothing\n if (_this.actualLeft === actualLeft) {\n _this.setLeft(actualLeft);\n }\n });\n };\n SetLeftFeature.prototype.onLeftChanged = function () {\n var colOrGroup = this.getColumnOrGroup();\n var left = colOrGroup.getLeft();\n this.actualLeft = this.modifyLeftForPrintLayout(colOrGroup, left);\n this.setLeft(this.actualLeft);\n };\n SetLeftFeature.prototype.modifyLeftForPrintLayout = function (colOrGroup, leftPosition) {\n var printLayout = this.beans.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n if (!printLayout) {\n return leftPosition;\n }\n if (colOrGroup.getPinned() === Constants.PINNED_LEFT) {\n return leftPosition;\n }\n var leftWidth = this.beans.columnModel.getDisplayedColumnsLeftWidth();\n if (colOrGroup.getPinned() === Constants.PINNED_RIGHT) {\n var bodyWidth = this.beans.columnModel.getBodyContainerWidth();\n return leftWidth + bodyWidth + leftPosition;\n }\n // is in body\n return leftWidth + leftPosition;\n };\n SetLeftFeature.prototype.setLeft = function (value) {\n // if the value is null, then that means the column is no longer\n // displayed. there is logic in the rendering to fade these columns\n // out, so we don't try and change their left positions.\n if (exists(value)) {\n this.eCell.style.left = value + \"px\";\n }\n var indexColumn;\n if (this.columnOrGroup instanceof Column) {\n indexColumn = this.columnOrGroup;\n }\n else {\n var columnGroup = this.columnOrGroup;\n var children = columnGroup.getLeafColumns();\n if (!children.length) {\n return;\n }\n if (children.length > 1) {\n setAriaColSpan(this.ariaEl, children.length);\n }\n indexColumn = children[0];\n }\n var index = this.beans.columnModel.getAriaColumnIndex(indexColumn);\n setAriaColIndex(this.ariaEl, index);\n };\n __decorate$1q([\n PostConstruct\n ], SetLeftFeature.prototype, \"postConstruct\", null);\n return SetLeftFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1x = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HoverFeature = /** @class */ (function (_super) {\n __extends$1x(HoverFeature, _super);\n function HoverFeature(columns, element) {\n var _this = _super.call(this) || this;\n _this.columns = columns;\n _this.element = element;\n return _this;\n }\n HoverFeature.prototype.postConstruct = function () {\n if (this.gridOptionsWrapper.isColumnHoverHighlight()) {\n this.addMouseHoverListeners();\n }\n };\n HoverFeature.prototype.addMouseHoverListeners = function () {\n this.addManagedListener(this.element, 'mouseout', this.onMouseOut.bind(this));\n this.addManagedListener(this.element, 'mouseover', this.onMouseOver.bind(this));\n };\n HoverFeature.prototype.onMouseOut = function () {\n this.columnHoverService.clearMouseOver();\n };\n HoverFeature.prototype.onMouseOver = function () {\n this.columnHoverService.setMouseOver(this.columns);\n };\n __decorate$1p([\n Autowired('columnHoverService')\n ], HoverFeature.prototype, \"columnHoverService\", void 0);\n __decorate$1p([\n PostConstruct\n ], HoverFeature.prototype, \"postConstruct\", null);\n return HoverFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1w = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderFilterCellCtrl = /** @class */ (function (_super) {\n __extends$1w(HeaderFilterCellCtrl, _super);\n function HeaderFilterCellCtrl(column, parentRowCtrl) {\n var _this = _super.call(this, column, parentRowCtrl) || this;\n _this.column = column;\n return _this;\n }\n HeaderFilterCellCtrl.prototype.setComp = function (comp, eGui, eButtonShowMainFilter, eFloatingFilterBody) {\n _super.prototype.setGui.call(this, eGui);\n this.comp = comp;\n this.eButtonShowMainFilter = eButtonShowMainFilter;\n this.eFloatingFilterBody = eFloatingFilterBody;\n var colDef = this.column.getColDef();\n var filterExists = !!colDef.filter || !!colDef.filterFramework;\n var floatingFilterExists = !!colDef.floatingFilter;\n this.active = filterExists && floatingFilterExists;\n this.setupWidth();\n this.setupLeft();\n this.setupHover();\n this.setupFocus();\n this.setupUserComp();\n this.setupSyncWithFilter();\n this.setupUi();\n this.addManagedListener(this.eButtonShowMainFilter, 'click', this.showParentFilter.bind(this));\n };\n HeaderFilterCellCtrl.prototype.setupUi = function () {\n this.comp.addOrRemoveButtonWrapperCssClass('ag-hidden', !this.active || this.suppressFilterButton);\n if (!this.active) {\n return;\n }\n this.comp.addOrRemoveBodyCssClass('ag-floating-filter-full-body', this.suppressFilterButton);\n this.comp.addOrRemoveBodyCssClass('ag-floating-filter-body', !this.suppressFilterButton);\n var eMenuIcon = createIconNoSpan('filter', this.gridOptionsWrapper, this.column);\n if (eMenuIcon) {\n this.eButtonShowMainFilter.appendChild(eMenuIcon);\n }\n };\n HeaderFilterCellCtrl.prototype.setupFocus = function () {\n this.createManagedBean(new ManagedFocusFeature(this.eGui, {\n shouldStopEventPropagation: this.shouldStopEventPropagation.bind(this),\n onTabKeyDown: this.onTabKeyDown.bind(this),\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusIn: this.onFocusIn.bind(this)\n }));\n };\n HeaderFilterCellCtrl.prototype.onTabKeyDown = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeEl = eDocument.activeElement;\n var wrapperHasFocus = activeEl === this.eGui;\n if (wrapperHasFocus) {\n return;\n }\n var nextFocusableEl = this.focusService.findNextFocusableElement(this.eGui, null, e.shiftKey);\n if (nextFocusableEl) {\n this.beans.headerNavigationService.scrollToColumn(this.column);\n e.preventDefault();\n nextFocusableEl.focus();\n return;\n }\n var nextFocusableColumn = this.findNextColumnWithFloatingFilter(e.shiftKey);\n if (!nextFocusableColumn) {\n return;\n }\n if (this.focusService.focusHeaderPosition({\n headerPosition: {\n headerRowIndex: this.getParentRowCtrl().getRowIndex(),\n column: nextFocusableColumn\n },\n event: e\n })) {\n e.preventDefault();\n }\n };\n HeaderFilterCellCtrl.prototype.findNextColumnWithFloatingFilter = function (backwards) {\n var columModel = this.beans.columnModel;\n var nextCol = this.column;\n do {\n nextCol = backwards\n ? columModel.getDisplayedColBefore(nextCol)\n : columModel.getDisplayedColAfter(nextCol);\n if (!nextCol) {\n break;\n }\n } while (!nextCol.getColDef().filter || !nextCol.getColDef().floatingFilter);\n return nextCol;\n };\n HeaderFilterCellCtrl.prototype.handleKeyDown = function (e) {\n _super.prototype.handleKeyDown.call(this, e);\n var wrapperHasFocus = this.getWrapperHasFocus();\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n if (!wrapperHasFocus) {\n e.preventDefault();\n }\n case KeyCode.LEFT:\n case KeyCode.RIGHT:\n if (wrapperHasFocus) {\n return;\n }\n e.stopPropagation();\n case KeyCode.ENTER:\n if (wrapperHasFocus) {\n if (this.focusService.focusInto(this.eGui)) {\n e.preventDefault();\n }\n }\n break;\n case KeyCode.ESCAPE:\n if (!wrapperHasFocus) {\n this.eGui.focus();\n }\n }\n };\n HeaderFilterCellCtrl.prototype.onFocusIn = function (e) {\n var isRelatedWithin = this.eGui.contains(e.relatedTarget);\n // when the focus is already within the component,\n // we default to the browser's behavior\n if (isRelatedWithin) {\n return;\n }\n var notFromHeaderWrapper = !!e.relatedTarget && !e.relatedTarget.classList.contains('ag-floating-filter');\n var fromWithinHeader = !!e.relatedTarget && isElementChildOfClass(e.relatedTarget, 'ag-floating-filter');\n if (notFromHeaderWrapper && fromWithinHeader && e.target === this.eGui) {\n var lastFocusEvent = this.lastFocusEvent;\n var fromTab = !!(lastFocusEvent && lastFocusEvent.key === KeyCode.TAB);\n if (lastFocusEvent && fromTab) {\n var shouldFocusLast = lastFocusEvent.shiftKey;\n this.focusService.focusInto(this.eGui, shouldFocusLast);\n }\n }\n var rowIndex = this.getRowIndex();\n this.beans.focusService.setFocusedHeader(rowIndex, this.column);\n };\n HeaderFilterCellCtrl.prototype.setupHover = function () {\n var _this = this;\n this.createManagedBean(new HoverFeature([this.column], this.eGui));\n var listener = function () {\n if (!_this.gridOptionsWrapper.isColumnHoverHighlight()) {\n return;\n }\n var hovered = _this.columnHoverService.isHovered(_this.column);\n _this.comp.addOrRemoveCssClass('ag-column-hover', hovered);\n };\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HOVER_CHANGED, listener);\n listener();\n };\n HeaderFilterCellCtrl.prototype.setupLeft = function () {\n var setLeftFeature = new SetLeftFeature(this.column, this.eGui, this.beans);\n this.createManagedBean(setLeftFeature);\n };\n HeaderFilterCellCtrl.prototype.setupUserComp = function () {\n var _this = this;\n if (!this.active) {\n return;\n }\n var colDef = this.column.getColDef();\n var filterParams = this.filterManager.createFilterParams(this.column, colDef);\n var finalFilterParams = this.userComponentFactory.mergeParamsWithApplicationProvidedParams(colDef, FilterComponent, filterParams);\n var defaultFloatingFilterType = this.userComponentFactory.getDefaultFloatingFilterType(colDef);\n if (defaultFloatingFilterType == null) {\n defaultFloatingFilterType = 'agReadOnlyFloatingFilter';\n }\n var params = {\n column: this.column,\n filterParams: finalFilterParams,\n currentParentModel: function () { return _this.currentParentModel(); },\n parentFilterInstance: function (cb) { return _this.parentFilterInstance(cb); },\n showParentFilter: function () { return _this.showParentFilter(); },\n suppressFilterButton: false // This one might be overridden from the colDef\n };\n // this is unusual - we need a params value OUTSIDE the component the params are for.\n // the params are for the floating filter component, but this property is actually for the wrapper.\n this.suppressFilterButton = colDef.floatingFilterComponentParams ? !!colDef.floatingFilterComponentParams.suppressFilterButton : false;\n var compDetails = this.userComponentFactory.getFloatingFilterCompDetails(colDef, params, defaultFloatingFilterType);\n if (compDetails) {\n this.comp.setCompDetails(compDetails);\n }\n };\n HeaderFilterCellCtrl.prototype.currentParentModel = function () {\n var filterComponent = this.getFilterComponent(false);\n return filterComponent ? filterComponent.resolveNow(null, function (filter) { return filter && filter.getModel(); }) : null;\n };\n HeaderFilterCellCtrl.prototype.getFilterComponent = function (createIfDoesNotExist) {\n if (createIfDoesNotExist === void 0) { createIfDoesNotExist = true; }\n return this.filterManager.getFilterComponent(this.column, 'NO_UI', createIfDoesNotExist);\n };\n HeaderFilterCellCtrl.prototype.parentFilterInstance = function (callback) {\n var filterComponent = this.getFilterComponent();\n if (filterComponent == null) {\n return;\n }\n filterComponent.then(function (instance) {\n callback(unwrapUserComp(instance));\n });\n };\n HeaderFilterCellCtrl.prototype.showParentFilter = function () {\n var eventSource = this.suppressFilterButton ? this.eFloatingFilterBody : this.eButtonShowMainFilter;\n this.menuFactory.showMenuAfterButtonClick(this.column, eventSource, 'floatingFilter', 'filterMenuTab', ['filterMenuTab']);\n };\n HeaderFilterCellCtrl.prototype.setupSyncWithFilter = function () {\n var _this = this;\n if (!this.active) {\n return;\n }\n var syncWithFilter = function (filterChangedEvent) {\n var compPromise = _this.comp.getFloatingFilterComp();\n if (!compPromise) {\n return;\n }\n var parentModel = _this.currentParentModel();\n compPromise.then(function (comp) {\n if (comp) {\n comp.onParentModelChanged(parentModel, filterChangedEvent);\n }\n });\n };\n this.addManagedListener(this.column, Column.EVENT_FILTER_CHANGED, syncWithFilter);\n if (this.filterManager.isFilterActive(this.column)) {\n syncWithFilter(null);\n }\n };\n HeaderFilterCellCtrl.prototype.setupWidth = function () {\n var _this = this;\n var listener = function () {\n var width = _this.column.getActualWidth() + \"px\";\n _this.comp.setWidth(width);\n };\n this.addManagedListener(this.column, Column.EVENT_WIDTH_CHANGED, listener);\n listener();\n };\n __decorate$1o([\n Autowired('filterManager')\n ], HeaderFilterCellCtrl.prototype, \"filterManager\", void 0);\n __decorate$1o([\n Autowired('columnHoverService')\n ], HeaderFilterCellCtrl.prototype, \"columnHoverService\", void 0);\n __decorate$1o([\n Autowired('menuFactory')\n ], HeaderFilterCellCtrl.prototype, \"menuFactory\", void 0);\n return HeaderFilterCellCtrl;\n}(AbstractHeaderCellCtrl));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1v = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ResizeFeature = /** @class */ (function (_super) {\n __extends$1v(ResizeFeature, _super);\n function ResizeFeature(pinned, column, eResize, comp, ctrl) {\n var _this = _super.call(this) || this;\n _this.pinned = pinned;\n _this.column = column;\n _this.eResize = eResize;\n _this.comp = comp;\n _this.ctrl = ctrl;\n return _this;\n }\n ResizeFeature.prototype.postConstruct = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var destroyResizeFuncs = [];\n var canResize;\n var canAutosize;\n var addResize = function () {\n setDisplayed(_this.eResize, canResize);\n if (!canResize) {\n return;\n }\n var finishedWithResizeFunc = _this.horizontalResizeService.addResizeBar({\n eResizeBar: _this.eResize,\n onResizeStart: _this.onResizeStart.bind(_this),\n onResizing: _this.onResizing.bind(_this, false),\n onResizeEnd: _this.onResizing.bind(_this, true)\n });\n destroyResizeFuncs.push(finishedWithResizeFunc);\n if (canAutosize) {\n var skipHeaderOnAutoSize_1 = _this.gridOptionsWrapper.isSkipHeaderOnAutoSize();\n var autoSizeColListener_1 = function () {\n _this.columnModel.autoSizeColumn(_this.column, skipHeaderOnAutoSize_1, \"uiColumnResized\");\n };\n _this.eResize.addEventListener('dblclick', autoSizeColListener_1);\n var touchListener_1 = new TouchListener(_this.eResize);\n touchListener_1.addEventListener(TouchListener.EVENT_DOUBLE_TAP, autoSizeColListener_1);\n _this.addDestroyFunc(function () {\n _this.eResize.removeEventListener('dblclick', autoSizeColListener_1);\n touchListener_1.removeEventListener(TouchListener.EVENT_DOUBLE_TAP, autoSizeColListener_1);\n touchListener_1.destroy();\n });\n }\n };\n var removeResize = function () {\n destroyResizeFuncs.forEach(function (f) { return f(); });\n destroyResizeFuncs.length = 0;\n };\n var refresh = function () {\n var resize = _this.column.isResizable();\n var autoSize = !_this.gridOptionsWrapper.isSuppressAutoSize() && !colDef.suppressAutoSize;\n var propertyChange = resize !== canResize || autoSize !== canAutosize;\n if (propertyChange) {\n canResize = resize;\n canAutosize = autoSize;\n removeResize();\n addResize();\n }\n };\n refresh();\n this.addDestroyFunc(removeResize);\n this.ctrl.addRefreshFunction(refresh);\n };\n ResizeFeature.prototype.onResizing = function (finished, resizeAmount) {\n var resizeAmountNormalised = this.normaliseResizeAmount(resizeAmount);\n var columnWidths = [{ key: this.column, newWidth: this.resizeStartWidth + resizeAmountNormalised }];\n this.columnModel.setColumnWidths(columnWidths, this.resizeWithShiftKey, finished, \"uiColumnDragged\");\n if (finished) {\n this.comp.addOrRemoveCssClass('ag-column-resizing', false);\n }\n };\n ResizeFeature.prototype.onResizeStart = function (shiftKey) {\n this.resizeStartWidth = this.column.getActualWidth();\n this.resizeWithShiftKey = shiftKey;\n this.comp.addOrRemoveCssClass('ag-column-resizing', true);\n };\n // optionally inverts the drag, depending on pinned and RTL\n // note - this method is duplicated in RenderedHeaderGroupCell - should refactor out?\n ResizeFeature.prototype.normaliseResizeAmount = function (dragChange) {\n var result = dragChange;\n var notPinningLeft = this.pinned !== Constants.PINNED_LEFT;\n var pinningRight = this.pinned === Constants.PINNED_RIGHT;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n // for RTL, dragging left makes the col bigger, except when pinning left\n if (notPinningLeft) {\n result *= -1;\n }\n }\n else {\n // for LTR (ie normal), dragging left makes the col smaller, except when pinning right\n if (pinningRight) {\n result *= -1;\n }\n }\n return result;\n };\n __decorate$1n([\n Autowired('horizontalResizeService')\n ], ResizeFeature.prototype, \"horizontalResizeService\", void 0);\n __decorate$1n([\n Autowired('columnModel')\n ], ResizeFeature.prototype, \"columnModel\", void 0);\n __decorate$1n([\n PostConstruct\n ], ResizeFeature.prototype, \"postConstruct\", null);\n return ResizeFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1u = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgCheckbox = /** @class */ (function (_super) {\n __extends$1u(AgCheckbox, _super);\n function AgCheckbox(config, className, inputType) {\n if (className === void 0) { className = 'ag-checkbox'; }\n if (inputType === void 0) { inputType = 'checkbox'; }\n var _this = _super.call(this, config, className, inputType) || this;\n _this.labelAlignment = 'right';\n _this.selected = false;\n _this.readOnly = false;\n _this.passive = false;\n return _this;\n }\n AgCheckbox.prototype.addInputListeners = function () {\n this.addManagedListener(this.eInput, 'click', this.onCheckboxClick.bind(this));\n this.addManagedListener(this.eLabel, 'click', this.toggle.bind(this));\n };\n AgCheckbox.prototype.getNextValue = function () {\n return this.selected === undefined ? true : !this.selected;\n };\n AgCheckbox.prototype.setPassive = function (passive) {\n this.passive = passive;\n };\n AgCheckbox.prototype.isReadOnly = function () {\n return this.readOnly;\n };\n AgCheckbox.prototype.setReadOnly = function (readOnly) {\n this.eWrapper.classList.toggle('ag-disabled', readOnly);\n this.eInput.disabled = readOnly;\n this.readOnly = readOnly;\n };\n AgCheckbox.prototype.setDisabled = function (disabled) {\n this.eWrapper.classList.toggle('ag-disabled', disabled);\n return _super.prototype.setDisabled.call(this, disabled);\n };\n AgCheckbox.prototype.toggle = function () {\n if (this.eInput.disabled) {\n return;\n }\n var previousValue = this.isSelected();\n var nextValue = this.getNextValue();\n if (this.passive) {\n this.dispatchChange(nextValue, previousValue);\n }\n else {\n this.setValue(nextValue);\n }\n };\n AgCheckbox.prototype.getValue = function () {\n return this.isSelected();\n };\n AgCheckbox.prototype.setValue = function (value, silent) {\n this.refreshSelectedClass(value);\n this.setSelected(value, silent);\n return this;\n };\n AgCheckbox.prototype.setName = function (name) {\n var input = this.getInputElement();\n input.name = name;\n return this;\n };\n AgCheckbox.prototype.isSelected = function () {\n return this.selected;\n };\n AgCheckbox.prototype.setSelected = function (selected, silent) {\n if (this.isSelected() === selected) {\n return;\n }\n this.previousValue = this.isSelected();\n selected = this.selected = typeof selected === 'boolean' ? selected : undefined;\n this.eInput.checked = selected;\n this.eInput.indeterminate = selected === undefined;\n if (!silent) {\n this.dispatchChange(this.selected, this.previousValue);\n }\n };\n AgCheckbox.prototype.dispatchChange = function (selected, previousValue, event) {\n this.dispatchEvent({ type: AgCheckbox.EVENT_CHANGED, selected: selected, previousValue: previousValue, event: event });\n var input = this.getInputElement();\n var checkboxChangedEvent = {\n type: Events.EVENT_CHECKBOX_CHANGED,\n id: input.id,\n name: input.name,\n selected: selected,\n previousValue: previousValue\n };\n this.eventService.dispatchEvent(checkboxChangedEvent);\n };\n AgCheckbox.prototype.onCheckboxClick = function (e) {\n if (this.passive || this.eInput.disabled) {\n return;\n }\n var previousValue = this.isSelected();\n var selected = this.selected = e.target.checked;\n this.refreshSelectedClass(selected);\n this.dispatchChange(selected, previousValue, e);\n };\n AgCheckbox.prototype.refreshSelectedClass = function (value) {\n this.eWrapper.classList.toggle('ag-checked', value === true);\n this.eWrapper.classList.toggle('ag-indeterminate', value == null);\n };\n return AgCheckbox;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1t = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SelectAllFeature = /** @class */ (function (_super) {\n __extends$1t(SelectAllFeature, _super);\n function SelectAllFeature(column) {\n var _this = _super.call(this) || this;\n _this.cbSelectAllVisible = false;\n _this.processingEventFromCheckbox = false;\n _this.column = column;\n var colDef = column.getColDef();\n _this.filteredOnly = colDef ? !!colDef.headerCheckboxSelectionFilteredOnly : false;\n return _this;\n }\n SelectAllFeature.prototype.onSpaceKeyPressed = function (e) {\n var checkbox = this.cbSelectAll;\n var eDocument = this.gridOptionsWrapper.getDocument();\n if (checkbox.isDisplayed() && !checkbox.getGui().contains(eDocument.activeElement)) {\n e.preventDefault();\n checkbox.setValue(!checkbox.getValue());\n }\n };\n SelectAllFeature.prototype.getCheckboxGui = function () {\n return this.cbSelectAll.getGui();\n };\n SelectAllFeature.prototype.setComp = function (ctrl) {\n this.headerCellCtrl = ctrl;\n this.cbSelectAll = this.createManagedBean(new AgCheckbox());\n this.cbSelectAll.addCssClass('ag-header-select-all');\n setAriaRole(this.cbSelectAll.getGui(), 'presentation');\n this.showOrHideSelectAll();\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.showOrHideSelectAll.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.showOrHideSelectAll.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SELECTION_CHANGED, this.onSelectionChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, this.onModelChanged.bind(this));\n this.addManagedListener(this.cbSelectAll, AgCheckbox.EVENT_CHANGED, this.onCbSelectAll.bind(this));\n setAriaHidden(this.cbSelectAll.getGui(), true);\n this.cbSelectAll.getInputElement().setAttribute('tabindex', '-1');\n this.refreshSelectAllLabel();\n };\n SelectAllFeature.prototype.showOrHideSelectAll = function () {\n this.cbSelectAllVisible = this.isCheckboxSelection();\n this.cbSelectAll.setDisplayed(this.cbSelectAllVisible);\n if (this.cbSelectAllVisible) {\n // in case user is trying this feature with the wrong model type\n this.checkRightRowModelType();\n // make sure checkbox is showing the right state\n this.updateStateOfCheckbox();\n }\n this.refreshSelectAllLabel();\n };\n SelectAllFeature.prototype.onModelChanged = function () {\n if (!this.cbSelectAllVisible) {\n return;\n }\n this.updateStateOfCheckbox();\n };\n SelectAllFeature.prototype.onSelectionChanged = function () {\n if (!this.cbSelectAllVisible) {\n return;\n }\n this.updateStateOfCheckbox();\n };\n SelectAllFeature.prototype.getNextCheckboxState = function (selectionCount) {\n // if no rows, always have it unselected\n if (selectionCount.selected === 0 && selectionCount.notSelected === 0) {\n return false;\n }\n // if mix of selected and unselected, this is the tri-state\n if (selectionCount.selected > 0 && selectionCount.notSelected > 0) {\n return null;\n }\n // only selected\n if (selectionCount.selected > 0) {\n return true;\n }\n // nothing selected\n return false;\n };\n SelectAllFeature.prototype.updateStateOfCheckbox = function () {\n if (this.processingEventFromCheckbox) {\n return;\n }\n this.processingEventFromCheckbox = true;\n var selectionCount = this.getSelectionCount();\n var allSelected = this.getNextCheckboxState(selectionCount);\n this.cbSelectAll.setValue(allSelected);\n this.refreshSelectAllLabel();\n this.processingEventFromCheckbox = false;\n };\n SelectAllFeature.prototype.refreshSelectAllLabel = function () {\n if (!this.cbSelectAllVisible) {\n this.headerCellCtrl.setAriaDescriptionProperty('selectAll', null);\n this.cbSelectAll.setInputAriaLabel(null);\n }\n else {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var checked = this.cbSelectAll.getValue();\n var ariaStatus = checked ? translate('ariaChecked', 'checked') : translate('ariaUnchecked', 'unchecked');\n var ariaLabel = translate('ariaRowSelectAll', 'Press Space to toggle all rows selection');\n this.headerCellCtrl.setAriaDescriptionProperty('selectAll', ariaLabel + \" (\" + ariaStatus + \")\");\n this.cbSelectAll.setInputAriaLabel(ariaLabel + \" (\" + ariaStatus + \")\");\n }\n this.headerCellCtrl.refreshAriaDescription();\n };\n SelectAllFeature.prototype.getSelectionCount = function () {\n var _this = this;\n var selectedCount = 0;\n var notSelectedCount = 0;\n var callback = function (node) {\n if (_this.gridOptionsWrapper.isGroupSelectsChildren() && node.group) {\n return;\n }\n if (node.isSelected()) {\n selectedCount++;\n }\n else if (!node.selectable) ;\n else {\n notSelectedCount++;\n }\n };\n if (this.filteredOnly) {\n this.gridApi.forEachNodeAfterFilter(callback);\n }\n else {\n this.gridApi.forEachNode(callback);\n }\n return {\n notSelected: notSelectedCount,\n selected: selectedCount\n };\n };\n SelectAllFeature.prototype.checkRightRowModelType = function () {\n var rowModelType = this.rowModel.getType();\n var rowModelMatches = rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n if (!rowModelMatches) {\n console.warn(\"AG Grid: selectAllCheckbox is only available if using normal row model, you are using \" + rowModelType);\n }\n };\n SelectAllFeature.prototype.onCbSelectAll = function () {\n if (this.processingEventFromCheckbox) {\n return;\n }\n if (!this.cbSelectAllVisible) {\n return;\n }\n var value = this.cbSelectAll.getValue();\n if (value) {\n this.selectionService.selectAllRowNodes(this.filteredOnly);\n }\n else {\n this.selectionService.deselectAllRowNodes(this.filteredOnly);\n }\n };\n SelectAllFeature.prototype.isCheckboxSelection = function () {\n var result = this.column.getColDef().headerCheckboxSelection;\n if (typeof result === 'function') {\n var func = result;\n var params = {\n column: this.column,\n colDef: this.column.getColDef(),\n columnApi: this.columnApi,\n api: this.gridApi,\n context: this.gridOptionsWrapper.getContext()\n };\n result = func(params);\n }\n if (result) {\n if (this.gridOptionsWrapper.isRowModelServerSide()) {\n console.warn('AG Grid: headerCheckboxSelection is not supported for Server Side Row Model');\n return false;\n }\n if (this.gridOptionsWrapper.isRowModelInfinite()) {\n console.warn('AG Grid: headerCheckboxSelection is not supported for Infinite Row Model');\n return false;\n }\n if (this.gridOptionsWrapper.isRowModelViewport()) {\n console.warn('AG Grid: headerCheckboxSelection is not supported for Viewport Row Model');\n return false;\n }\n // otherwise the row model is compatible, so return true\n return true;\n }\n return false;\n };\n __decorate$1m([\n Autowired('gridApi')\n ], SelectAllFeature.prototype, \"gridApi\", void 0);\n __decorate$1m([\n Autowired('columnApi')\n ], SelectAllFeature.prototype, \"columnApi\", void 0);\n __decorate$1m([\n Autowired('rowModel')\n ], SelectAllFeature.prototype, \"rowModel\", void 0);\n __decorate$1m([\n Autowired('selectionService')\n ], SelectAllFeature.prototype, \"selectionService\", void 0);\n return SelectAllFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1s = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderCellCtrl = /** @class */ (function (_super) {\n __extends$1s(HeaderCellCtrl, _super);\n function HeaderCellCtrl(column, parentRowCtrl) {\n var _this = _super.call(this, column, parentRowCtrl) || this;\n _this.refreshFunctions = [];\n _this.userHeaderClasses = new Set();\n _this.ariaDescriptionProperties = new Map();\n _this.column = column;\n return _this;\n }\n HeaderCellCtrl.prototype.setComp = function (comp, eGui, eResize, eHeaderCompWrapper) {\n var _this = this;\n _super.prototype.setGui.call(this, eGui);\n this.comp = comp;\n this.updateState();\n this.setupWidth();\n this.setupMovingCss();\n this.setupMenuClass();\n this.setupSortableClass();\n this.setupWrapTextClass();\n this.setupAutoHeight(eHeaderCompWrapper);\n this.addColumnHoverListener();\n this.setupFilterCss();\n this.setupColId();\n this.setupClassesFromColDef();\n this.setupTooltip();\n this.addActiveHeaderMouseListeners();\n this.setupSelectAll();\n this.setupUserComp();\n this.refreshAria();\n this.createManagedBean(new ResizeFeature(this.getPinned(), this.column, eResize, comp, this));\n this.createManagedBean(new HoverFeature([this.column], eGui));\n this.createManagedBean(new SetLeftFeature(this.column, eGui, this.beans));\n this.createManagedBean(new ManagedFocusFeature(eGui, {\n shouldStopEventPropagation: function (e) { return _this.shouldStopEventPropagation(e); },\n onTabKeyDown: function () { return null; },\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusIn: this.onFocusIn.bind(this),\n onFocusOut: this.onFocusOut.bind(this)\n }));\n this.addManagedListener(this.column, Column.EVENT_COL_DEF_CHANGED, this.onColDefChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VALUE_CHANGED, this.onColumnValueChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.onColumnRowGroupChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_CHANGED, this.onColumnPivotChanged.bind(this));\n };\n HeaderCellCtrl.prototype.setupUserComp = function () {\n var compDetails = this.lookupUserCompDetails();\n this.setCompDetails(compDetails);\n };\n HeaderCellCtrl.prototype.setCompDetails = function (compDetails) {\n this.userCompDetails = compDetails;\n this.comp.setUserCompDetails(compDetails);\n };\n HeaderCellCtrl.prototype.lookupUserCompDetails = function () {\n var params = this.createParams();\n var colDef = this.column.getColDef();\n return this.userComponentFactory.getHeaderCompDetails(colDef, params);\n };\n HeaderCellCtrl.prototype.createParams = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var params = {\n column: this.column,\n displayName: this.displayName,\n enableSorting: colDef.sortable,\n enableMenu: this.menuEnabled,\n showColumnMenu: function (source) {\n _this.gridApi.showColumnMenuAfterButtonClick(_this.column, source);\n },\n progressSort: function (multiSort) {\n _this.sortController.progressSort(_this.column, !!multiSort, \"uiColumnSorted\");\n },\n setSort: function (sort, multiSort) {\n _this.sortController.setSortForColumn(_this.column, sort, !!multiSort, \"uiColumnSorted\");\n },\n api: this.gridApi,\n columnApi: this.columnApi,\n context: this.gridOptionsWrapper.getContext(),\n eGridHeader: this.getGui()\n };\n return params;\n };\n HeaderCellCtrl.prototype.setupSelectAll = function () {\n this.selectAllFeature = this.createManagedBean(new SelectAllFeature(this.column));\n this.selectAllFeature.setComp(this);\n };\n HeaderCellCtrl.prototype.getSelectAllGui = function () {\n return this.selectAllFeature.getCheckboxGui();\n };\n HeaderCellCtrl.prototype.handleKeyDown = function (e) {\n _super.prototype.handleKeyDown.call(this, e);\n if (e.key === KeyCode.SPACE) {\n this.selectAllFeature.onSpaceKeyPressed(e);\n }\n if (e.key === KeyCode.ENTER) {\n this.onEnterKeyPressed(e);\n }\n };\n HeaderCellCtrl.prototype.onEnterKeyPressed = function (e) {\n /// THIS IS BAD - we are assuming the header is not a user provided comp\n var headerComp = this.comp.getUserCompInstance();\n if (!headerComp) {\n return;\n }\n if (e.ctrlKey || e.metaKey) {\n if (this.menuEnabled && headerComp.showMenu) {\n e.preventDefault();\n headerComp.showMenu();\n }\n }\n else if (this.sortable) {\n var multiSort = e.shiftKey;\n this.sortController.progressSort(this.column, multiSort, \"uiColumnSorted\");\n }\n };\n HeaderCellCtrl.prototype.isMenuEnabled = function () {\n return this.menuEnabled;\n };\n HeaderCellCtrl.prototype.onFocusIn = function (e) {\n if (!this.getGui().contains(e.relatedTarget)) {\n var rowIndex = this.getRowIndex();\n this.focusService.setFocusedHeader(rowIndex, this.column);\n }\n this.setActiveHeader(true);\n };\n HeaderCellCtrl.prototype.onFocusOut = function (e) {\n if (this.getGui().contains(e.relatedTarget)) {\n return;\n }\n this.setActiveHeader(false);\n };\n HeaderCellCtrl.prototype.setupTooltip = function () {\n var _this = this;\n var tooltipCtrl = {\n getColumn: function () { return _this.column; },\n getColDef: function () { return _this.column.getColDef(); },\n getGui: function () { return _this.eGui; },\n getLocation: function () { return 'header'; },\n getTooltipValue: function () {\n var res = _this.column.getColDef().headerTooltip;\n return res;\n },\n };\n var tooltipFeature = this.createManagedBean(new TooltipFeature(tooltipCtrl, this.beans));\n tooltipFeature.setComp(this.comp);\n this.refreshFunctions.push(function () { return tooltipFeature.refreshToolTip(); });\n };\n HeaderCellCtrl.prototype.setupClassesFromColDef = function () {\n var _this = this;\n var refreshHeaderClasses = function () {\n var colDef = _this.column.getColDef();\n var goa = _this.gridOptionsWrapper;\n var classes = CssClassApplier.getHeaderClassesFromColDef(colDef, goa, _this.column, null);\n var oldClasses = _this.userHeaderClasses;\n _this.userHeaderClasses = new Set(classes);\n classes.forEach(function (c) {\n if (oldClasses.has(c)) {\n // class already added, no need to apply it, but remove from old set\n oldClasses.delete(c);\n }\n else {\n // class new since last time, so apply it\n _this.comp.addOrRemoveCssClass(c, true);\n }\n });\n // now old set only has classes that were applied last time, but not this time, so remove them\n oldClasses.forEach(function (c) { return _this.comp.addOrRemoveCssClass(c, false); });\n };\n this.refreshFunctions.push(refreshHeaderClasses);\n refreshHeaderClasses();\n };\n HeaderCellCtrl.prototype.setDragSource = function (eSource) {\n var _this = this;\n this.dragSourceElement = eSource;\n this.removeDragSource();\n if (!eSource) {\n return;\n }\n if (!this.draggable) {\n return;\n }\n var hideColumnOnExit = !this.gridOptionsWrapper.isSuppressDragLeaveHidesColumns();\n this.moveDragSource = {\n type: DragSourceType.HeaderCell,\n eElement: eSource,\n defaultIconName: hideColumnOnExit ? DragAndDropService.ICON_HIDE : DragAndDropService.ICON_NOT_ALLOWED,\n getDragItem: function () { return _this.createDragItem(); },\n dragItemName: this.displayName,\n onDragStarted: function () { return _this.column.setMoving(true, \"uiColumnMoved\"); },\n onDragStopped: function () { return _this.column.setMoving(false, \"uiColumnMoved\"); },\n onGridEnter: function (dragItem) {\n var _a, _b;\n if (hideColumnOnExit) {\n var unlockedColumns = ((_b = (_a = dragItem) === null || _a === void 0 ? void 0 : _a.columns) === null || _b === void 0 ? void 0 : _b.filter(function (col) { return !col.getColDef().lockVisible; })) || [];\n _this.columnModel.setColumnsVisible(unlockedColumns, true, \"uiColumnMoved\");\n }\n },\n onGridExit: function (dragItem) {\n var _a, _b;\n if (hideColumnOnExit) {\n var unlockedColumns = ((_b = (_a = dragItem) === null || _a === void 0 ? void 0 : _a.columns) === null || _b === void 0 ? void 0 : _b.filter(function (col) { return !col.getColDef().lockVisible; })) || [];\n _this.columnModel.setColumnsVisible(unlockedColumns, false, \"uiColumnMoved\");\n }\n },\n };\n this.dragAndDropService.addDragSource(this.moveDragSource, true);\n };\n HeaderCellCtrl.prototype.createDragItem = function () {\n var visibleState = {};\n visibleState[this.column.getId()] = this.column.isVisible();\n return {\n columns: [this.column],\n visibleState: visibleState\n };\n };\n HeaderCellCtrl.prototype.removeDragSource = function () {\n if (this.moveDragSource) {\n this.dragAndDropService.removeDragSource(this.moveDragSource);\n this.moveDragSource = undefined;\n }\n };\n HeaderCellCtrl.prototype.onColDefChanged = function () {\n this.refresh();\n };\n HeaderCellCtrl.prototype.updateState = function () {\n var colDef = this.column.getColDef();\n this.menuEnabled = this.menuFactory.isMenuEnabled(this.column) && !colDef.suppressMenu;\n this.sortable = colDef.sortable;\n this.displayName = this.calculateDisplayName();\n this.draggable = this.workOutDraggable();\n };\n HeaderCellCtrl.prototype.addRefreshFunction = function (func) {\n this.refreshFunctions.push(func);\n };\n HeaderCellCtrl.prototype.refresh = function () {\n this.updateState();\n this.refreshHeaderComp();\n this.refreshAria();\n this.refreshFunctions.forEach(function (f) { return f(); });\n };\n HeaderCellCtrl.prototype.refreshHeaderComp = function () {\n var newCompDetails = this.lookupUserCompDetails();\n var compInstance = this.comp.getUserCompInstance();\n // only try refresh if old comp exists adn it is the correct type\n var attemptRefresh = compInstance != null && this.userCompDetails.componentClass == newCompDetails.componentClass;\n var headerCompRefreshed = attemptRefresh ? this.attemptHeaderCompRefresh(newCompDetails.params) : false;\n if (headerCompRefreshed) {\n // we do this as a refresh happens after colDefs change, and it's possible the column has had it's\n // draggable property toggled. no need to call this if not refreshing, as setDragSource is done\n // as part of appendHeaderComp\n this.setDragSource(this.dragSourceElement);\n }\n else {\n this.setCompDetails(newCompDetails);\n }\n };\n HeaderCellCtrl.prototype.attemptHeaderCompRefresh = function (params) {\n var headerComp = this.comp.getUserCompInstance();\n if (!headerComp) {\n return false;\n }\n // if no refresh method, then we want to replace the headerComp\n if (!headerComp.refresh) {\n return false;\n }\n var res = headerComp.refresh(params);\n return res;\n };\n HeaderCellCtrl.prototype.calculateDisplayName = function () {\n return this.columnModel.getDisplayNameForColumn(this.column, 'header', true);\n };\n HeaderCellCtrl.prototype.checkDisplayName = function () {\n // display name can change if aggFunc different, eg sum(Gold) is now max(Gold)\n if (this.displayName !== this.calculateDisplayName()) {\n this.refresh();\n }\n };\n HeaderCellCtrl.prototype.workOutDraggable = function () {\n var colDef = this.column.getColDef();\n var isSuppressMovableColumns = this.gridOptionsWrapper.isSuppressMovableColumns();\n var colCanMove = !isSuppressMovableColumns && !colDef.suppressMovable && !colDef.lockPosition;\n // we should still be allowed drag the column, even if it can't be moved, if the column\n // can be dragged to a rowGroup or pivot drop zone\n return !!colCanMove || !!colDef.enableRowGroup || !!colDef.enablePivot;\n };\n HeaderCellCtrl.prototype.onColumnRowGroupChanged = function () {\n this.checkDisplayName();\n };\n HeaderCellCtrl.prototype.onColumnPivotChanged = function () {\n this.checkDisplayName();\n };\n HeaderCellCtrl.prototype.onColumnValueChanged = function () {\n this.checkDisplayName();\n };\n HeaderCellCtrl.prototype.setupWidth = function () {\n var _this = this;\n var listener = function () {\n _this.comp.setWidth(_this.column.getActualWidth() + 'px');\n };\n this.addManagedListener(this.column, Column.EVENT_WIDTH_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupMovingCss = function () {\n var _this = this;\n var listener = function () {\n // this is what makes the header go dark when it is been moved (gives impression to\n // user that the column was picked up).\n _this.comp.addOrRemoveCssClass('ag-header-cell-moving', _this.column.isMoving());\n };\n this.addManagedListener(this.column, Column.EVENT_MOVING_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupMenuClass = function () {\n var _this = this;\n var listener = function () {\n _this.comp.addOrRemoveCssClass('ag-column-menu-visible', _this.column.isMenuVisible());\n };\n this.addManagedListener(this.column, Column.EVENT_MENU_VISIBLE_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupSortableClass = function () {\n var _this = this;\n var updateSortableCssClass = function () {\n _this.comp.addOrRemoveCssClass('ag-header-cell-sortable', !!_this.sortable);\n };\n updateSortableCssClass();\n this.addRefreshFunction(updateSortableCssClass);\n this.addManagedListener(this.column, Column.EVENT_SORT_CHANGED, this.refreshAriaSort.bind(this));\n };\n HeaderCellCtrl.prototype.setupWrapTextClass = function () {\n var _this = this;\n var listener = function () {\n var wrapText = !!_this.column.getColDef().wrapHeaderText;\n _this.comp.addOrRemoveCssClass('ag-header-cell-wrap-text', wrapText);\n };\n listener();\n this.addRefreshFunction(listener);\n };\n HeaderCellCtrl.prototype.setupAutoHeight = function (wrapperElement) {\n var _this = this;\n var measureHeight = function (timesCalled) {\n if (!_this.isAlive()) {\n return;\n }\n var _a = getElementSize(_this.getGui()), paddingTop = _a.paddingTop, paddingBottom = _a.paddingBottom;\n var wrapperHeight = wrapperElement.offsetHeight;\n var autoHeight = wrapperHeight + paddingTop + paddingBottom;\n if (timesCalled < 5) {\n // if not in doc yet, means framework not yet inserted, so wait for next VM turn,\n // maybe it will be ready next VM turn\n var doc = _this.beans.gridOptionsWrapper.getDocument();\n var notYetInDom = !doc || !doc.contains(wrapperElement);\n // this happens in React, where React hasn't put any content in. we say 'possibly'\n // as a) may not be React and b) the cell could be empty anyway\n var possiblyNoContentYet = autoHeight == 0;\n if (notYetInDom || possiblyNoContentYet) {\n _this.beans.frameworkOverrides.setTimeout(function () { return measureHeight(timesCalled + 1); }, 0);\n return;\n }\n }\n _this.columnModel.setColumnHeaderHeight(_this.column, autoHeight);\n };\n var isMeasuring = false;\n var stopResizeObserver;\n var checkMeasuring = function () {\n var newValue = _this.column.isAutoHeaderHeight();\n if (newValue && !isMeasuring) {\n startMeasuring();\n }\n if (!newValue && isMeasuring) {\n stopMeasuring();\n }\n };\n var startMeasuring = function () {\n isMeasuring = true;\n measureHeight(0);\n _this.comp.addOrRemoveCssClass('ag-header-cell-auto-height', true);\n stopResizeObserver = _this.resizeObserverService.observeResize(wrapperElement, function () { return measureHeight(0); });\n };\n var stopMeasuring = function () {\n isMeasuring = false;\n if (stopResizeObserver) {\n stopResizeObserver();\n }\n _this.comp.addOrRemoveCssClass('ag-header-cell-auto-height', false);\n stopResizeObserver = undefined;\n };\n checkMeasuring();\n this.addDestroyFunc(function () { return stopMeasuring(); });\n // In theory we could rely on the resize observer for everything - but since it's debounced\n // it can be a little janky for smooth movement. in this case its better to react to our own events\n // And unfortunately we cant _just_ rely on our own events, since custom components can change whenever\n this.addManagedListener(this.column, Column.EVENT_WIDTH_CHANGED, function () { return isMeasuring && measureHeight(0); });\n // Displaying the sort icon changes the available area for text, so sort changes can affect height\n this.addManagedListener(this.column, Column.EVENT_SORT_CHANGED, function () {\n // Rendering changes for sort, happen after the event... not ideal\n if (isMeasuring) {\n _this.beans.frameworkOverrides.setTimeout(function () { return measureHeight(0); });\n }\n });\n this.addRefreshFunction(checkMeasuring);\n };\n HeaderCellCtrl.prototype.refreshAriaSort = function () {\n if (this.sortable) {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.comp.setAriaSort(getAriaSortState(this.column));\n this.setAriaDescriptionProperty('sort', translate('ariaSortableColumn', 'Press ENTER to sort.'));\n }\n else {\n this.comp.setAriaSort();\n this.setAriaDescriptionProperty('sort', null);\n }\n };\n HeaderCellCtrl.prototype.refreshAriaMenu = function () {\n if (this.menuEnabled) {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.setAriaDescriptionProperty('menu', translate('ariaMenuColumn', 'Press CTRL ENTER to open column menu.'));\n }\n else {\n this.setAriaDescriptionProperty('menu', null);\n }\n };\n HeaderCellCtrl.prototype.setAriaDescriptionProperty = function (property, value) {\n if (value != null) {\n this.ariaDescriptionProperties.set(property, value);\n }\n else {\n this.ariaDescriptionProperties.delete(property);\n }\n };\n HeaderCellCtrl.prototype.refreshAriaDescription = function () {\n var descriptionArray = Array.from(this.ariaDescriptionProperties.values());\n this.comp.setAriaDescription(descriptionArray.length ? descriptionArray.join(' ') : undefined);\n };\n HeaderCellCtrl.prototype.refreshAria = function () {\n this.refreshAriaSort();\n this.refreshAriaMenu();\n this.refreshAriaDescription();\n };\n HeaderCellCtrl.prototype.addColumnHoverListener = function () {\n var _this = this;\n var listener = function () {\n if (!_this.gridOptionsWrapper.isColumnHoverHighlight()) {\n return;\n }\n var isHovered = _this.columnHoverService.isHovered(_this.column);\n _this.comp.addOrRemoveCssClass('ag-column-hover', isHovered);\n };\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HOVER_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupFilterCss = function () {\n var _this = this;\n var listener = function () {\n _this.comp.addOrRemoveCssClass('ag-header-cell-filtered', _this.column.isFilterActive());\n };\n this.addManagedListener(this.column, Column.EVENT_FILTER_ACTIVE_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupColId = function () {\n this.comp.setColId(this.column.getColId());\n };\n HeaderCellCtrl.prototype.addActiveHeaderMouseListeners = function () {\n var _this = this;\n var listener = function (e) { return _this.setActiveHeader(e.type === 'mouseenter'); };\n this.addManagedListener(this.getGui(), 'mouseenter', listener);\n this.addManagedListener(this.getGui(), 'mouseleave', listener);\n };\n HeaderCellCtrl.prototype.setActiveHeader = function (active) {\n this.comp.addOrRemoveCssClass('ag-header-active', active);\n };\n __decorate$1l([\n Autowired('columnModel')\n ], HeaderCellCtrl.prototype, \"columnModel\", void 0);\n __decorate$1l([\n Autowired('columnHoverService')\n ], HeaderCellCtrl.prototype, \"columnHoverService\", void 0);\n __decorate$1l([\n Autowired('sortController')\n ], HeaderCellCtrl.prototype, \"sortController\", void 0);\n __decorate$1l([\n Autowired('menuFactory')\n ], HeaderCellCtrl.prototype, \"menuFactory\", void 0);\n __decorate$1l([\n Autowired('dragAndDropService')\n ], HeaderCellCtrl.prototype, \"dragAndDropService\", void 0);\n __decorate$1l([\n Autowired('resizeObserverService')\n ], HeaderCellCtrl.prototype, \"resizeObserverService\", void 0);\n __decorate$1l([\n Autowired('gridApi')\n ], HeaderCellCtrl.prototype, \"gridApi\", void 0);\n __decorate$1l([\n Autowired('columnApi')\n ], HeaderCellCtrl.prototype, \"columnApi\", void 0);\n __decorate$1l([\n PreDestroy\n ], HeaderCellCtrl.prototype, \"removeDragSource\", null);\n return HeaderCellCtrl;\n}(AbstractHeaderCellCtrl));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1r = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupResizeFeature = /** @class */ (function (_super) {\n __extends$1r(GroupResizeFeature, _super);\n function GroupResizeFeature(comp, eResize, pinned, columnGroup) {\n var _this = _super.call(this) || this;\n _this.eResize = eResize;\n _this.comp = comp;\n _this.pinned = pinned;\n _this.columnGroup = columnGroup;\n return _this;\n }\n GroupResizeFeature.prototype.postConstruct = function () {\n var _this = this;\n if (!this.columnGroup.isResizable()) {\n this.comp.addOrRemoveResizableCssClass('ag-hidden', true);\n return;\n }\n var finishedWithResizeFunc = this.horizontalResizeService.addResizeBar({\n eResizeBar: this.eResize,\n onResizeStart: this.onResizeStart.bind(this),\n onResizing: this.onResizing.bind(this, false),\n onResizeEnd: this.onResizing.bind(this, true)\n });\n this.addDestroyFunc(finishedWithResizeFunc);\n if (!this.gridOptionsWrapper.isSuppressAutoSize()) {\n var skipHeaderOnAutoSize_1 = this.gridOptionsWrapper.isSkipHeaderOnAutoSize();\n this.eResize.addEventListener('dblclick', function () {\n // get list of all the column keys we are responsible for\n var keys = [];\n var leafCols = _this.columnGroup.getDisplayedLeafColumns();\n leafCols.forEach(function (column) {\n // not all cols in the group may be participating with auto-resize\n if (!column.getColDef().suppressAutoSize) {\n keys.push(column.getColId());\n }\n });\n if (keys.length > 0) {\n _this.columnModel.autoSizeColumns({\n columns: keys,\n skipHeader: skipHeaderOnAutoSize_1,\n stopAtGroup: _this.columnGroup,\n source: 'uiColumnResized'\n });\n }\n _this.resizeLeafColumnsToFit();\n });\n }\n };\n GroupResizeFeature.prototype.onResizeStart = function (shiftKey) {\n var _this = this;\n this.calculateInitialValues();\n var takeFromGroup = null;\n if (shiftKey) {\n takeFromGroup = this.columnModel.getDisplayedGroupAfter(this.columnGroup);\n }\n if (takeFromGroup) {\n var takeFromLeafCols = takeFromGroup.getDisplayedLeafColumns();\n this.resizeTakeFromCols = takeFromLeafCols.filter(function (col) { return col.isResizable(); });\n this.resizeTakeFromStartWidth = 0;\n this.resizeTakeFromCols.forEach(function (col) { return _this.resizeTakeFromStartWidth += col.getActualWidth(); });\n this.resizeTakeFromRatios = [];\n this.resizeTakeFromCols.forEach(function (col) { return _this.resizeTakeFromRatios.push(col.getActualWidth() / _this.resizeTakeFromStartWidth); });\n }\n else {\n this.resizeTakeFromCols = null;\n this.resizeTakeFromStartWidth = null;\n this.resizeTakeFromRatios = null;\n }\n this.comp.addOrRemoveCssClass('ag-column-resizing', true);\n };\n GroupResizeFeature.prototype.onResizing = function (finished, resizeAmount) {\n var resizeAmountNormalised = this.normaliseDragChange(resizeAmount);\n var width = this.resizeStartWidth + resizeAmountNormalised;\n this.resizeColumns(width, finished);\n };\n GroupResizeFeature.prototype.resizeLeafColumnsToFit = function () {\n var preferredSize = this.autoWidthCalculator.getPreferredWidthForColumnGroup(this.columnGroup);\n this.calculateInitialValues();\n if (preferredSize > this.resizeStartWidth) {\n this.resizeColumns(preferredSize, true);\n }\n };\n GroupResizeFeature.prototype.resizeColumns = function (totalWidth, finished) {\n if (finished === void 0) { finished = true; }\n var resizeSets = [];\n resizeSets.push({\n columns: this.resizeCols,\n ratios: this.resizeRatios,\n width: totalWidth\n });\n if (this.resizeTakeFromCols) {\n var diff = totalWidth - this.resizeStartWidth;\n resizeSets.push({\n columns: this.resizeTakeFromCols,\n ratios: this.resizeTakeFromRatios,\n width: this.resizeTakeFromStartWidth - diff\n });\n }\n this.columnModel.resizeColumnSets({\n resizeSets: resizeSets,\n finished: finished,\n source: 'uiColumnDragged'\n });\n if (finished) {\n this.comp.addOrRemoveCssClass('ag-column-resizing', false);\n }\n };\n GroupResizeFeature.prototype.calculateInitialValues = function () {\n var _this = this;\n var leafCols = this.columnGroup.getDisplayedLeafColumns();\n this.resizeCols = leafCols.filter(function (col) { return col.isResizable(); });\n this.resizeStartWidth = 0;\n this.resizeCols.forEach(function (col) { return _this.resizeStartWidth += col.getActualWidth(); });\n this.resizeRatios = [];\n this.resizeCols.forEach(function (col) { return _this.resizeRatios.push(col.getActualWidth() / _this.resizeStartWidth); });\n };\n // optionally inverts the drag, depending on pinned and RTL\n // note - this method is duplicated in RenderedHeaderCell - should refactor out?\n GroupResizeFeature.prototype.normaliseDragChange = function (dragChange) {\n var result = dragChange;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n // for RTL, dragging left makes the col bigger, except when pinning left\n if (this.pinned !== Constants.PINNED_LEFT) {\n result *= -1;\n }\n }\n else if (this.pinned === Constants.PINNED_RIGHT) {\n // for LTR (ie normal), dragging left makes the col smaller, except when pinning right\n result *= -1;\n }\n return result;\n };\n __decorate$1k([\n Autowired('horizontalResizeService')\n ], GroupResizeFeature.prototype, \"horizontalResizeService\", void 0);\n __decorate$1k([\n Autowired('autoWidthCalculator')\n ], GroupResizeFeature.prototype, \"autoWidthCalculator\", void 0);\n __decorate$1k([\n Autowired('columnModel')\n ], GroupResizeFeature.prototype, \"columnModel\", void 0);\n __decorate$1k([\n PostConstruct\n ], GroupResizeFeature.prototype, \"postConstruct\", null);\n return GroupResizeFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupWidthFeature = /** @class */ (function (_super) {\n __extends$1q(GroupWidthFeature, _super);\n function GroupWidthFeature(comp, columnGroup) {\n var _this = _super.call(this) || this;\n // the children can change, we keep destroy functions related to listening to the children here\n _this.removeChildListenersFuncs = [];\n _this.columnGroup = columnGroup;\n _this.comp = comp;\n return _this;\n }\n GroupWidthFeature.prototype.postConstruct = function () {\n // we need to listen to changes in child columns, as they impact our width\n this.addListenersToChildrenColumns();\n // the children belonging to this group can change, so we need to add and remove listeners as they change\n this.addManagedListener(this.columnGroup, ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED, this.onDisplayedChildrenChanged.bind(this));\n this.onWidthChanged();\n // the child listeners are not tied to this components life-cycle, as children can get added and removed\n // to the group - hence they are on a different life-cycle. so we must make sure the existing children\n // listeners are removed when we finally get destroyed\n this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this));\n };\n GroupWidthFeature.prototype.addListenersToChildrenColumns = function () {\n var _this = this;\n // first destroy any old listeners\n this.removeListenersOnChildrenColumns();\n // now add new listeners to the new set of children\n var widthChangedListener = this.onWidthChanged.bind(this);\n this.columnGroup.getLeafColumns().forEach(function (column) {\n column.addEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n column.addEventListener(Column.EVENT_VISIBLE_CHANGED, widthChangedListener);\n _this.removeChildListenersFuncs.push(function () {\n column.removeEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n column.removeEventListener(Column.EVENT_VISIBLE_CHANGED, widthChangedListener);\n });\n });\n };\n GroupWidthFeature.prototype.removeListenersOnChildrenColumns = function () {\n this.removeChildListenersFuncs.forEach(function (func) { return func(); });\n this.removeChildListenersFuncs = [];\n };\n GroupWidthFeature.prototype.onDisplayedChildrenChanged = function () {\n this.addListenersToChildrenColumns();\n this.onWidthChanged();\n };\n GroupWidthFeature.prototype.onWidthChanged = function () {\n this.comp.setWidth(this.columnGroup.getActualWidth() + 'px');\n };\n __decorate$1j([\n PostConstruct\n ], GroupWidthFeature.prototype, \"postConstruct\", null);\n return GroupWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1p = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderGroupCellCtrl = /** @class */ (function (_super) {\n __extends$1p(HeaderGroupCellCtrl, _super);\n function HeaderGroupCellCtrl(columnGroup, parentRowCtrl) {\n var _this = _super.call(this, columnGroup, parentRowCtrl) || this;\n _this.columnGroup = columnGroup;\n return _this;\n }\n HeaderGroupCellCtrl.prototype.setComp = function (comp, eGui, eResize) {\n _super.prototype.setGui.call(this, eGui);\n this.comp = comp;\n this.displayName = this.columnModel.getDisplayNameForColumnGroup(this.columnGroup, 'header');\n this.addClasses();\n this.addAttributes();\n this.setupMovingCss();\n this.setupExpandable();\n this.setupTooltip();\n this.setupUserComp();\n var pinned = this.getParentRowCtrl().getPinned();\n var leafCols = this.columnGroup.getProvidedColumnGroup().getLeafColumns();\n this.createManagedBean(new HoverFeature(leafCols, eGui));\n this.createManagedBean(new SetLeftFeature(this.columnGroup, eGui, this.beans));\n this.createManagedBean(new GroupWidthFeature(comp, this.columnGroup));\n this.groupResizeFeature = this.createManagedBean(new GroupResizeFeature(comp, eResize, pinned, this.columnGroup));\n this.createManagedBean(new ManagedFocusFeature(eGui, {\n shouldStopEventPropagation: this.shouldStopEventPropagation.bind(this),\n onTabKeyDown: function () { return undefined; },\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusIn: this.onFocusIn.bind(this)\n }));\n };\n HeaderGroupCellCtrl.prototype.resizeLeafColumnsToFit = function () {\n this.groupResizeFeature.onResizeStart(false);\n this.groupResizeFeature.resizeLeafColumnsToFit();\n };\n HeaderGroupCellCtrl.prototype.setupUserComp = function () {\n var _this = this;\n var displayName = this.displayName;\n var params = {\n displayName: this.displayName,\n columnGroup: this.columnGroup,\n setExpanded: function (expanded) {\n _this.columnModel.setColumnGroupOpened(_this.columnGroup.getProvidedColumnGroup(), expanded, \"gridInitializing\");\n },\n api: this.gridApi,\n columnApi: this.columnApi,\n context: this.gridOptionsWrapper.getContext()\n };\n if (!displayName) {\n var columnGroup = this.columnGroup;\n var leafCols = columnGroup.getLeafColumns();\n // find the top most column group that represents the same columns. so if we are dragging a group, we also\n // want to visually show the parent groups dragging for the same column set. for example imaging 5 levels\n // of grouping, with each group only containing the next group, and the last group containing three columns,\n // then when you move any group (even the lowest level group) you are in-fact moving all the groups, as all\n // the groups represent the same column set.\n while (columnGroup.getParent() && columnGroup.getParent().getLeafColumns().length === leafCols.length) {\n columnGroup = columnGroup.getParent();\n }\n var colGroupDef = columnGroup.getColGroupDef();\n if (colGroupDef) {\n displayName = colGroupDef.headerName;\n }\n if (!displayName) {\n displayName = leafCols ? this.columnModel.getDisplayNameForColumn(leafCols[0], 'header', true) : '';\n }\n }\n var compDetails = this.userComponentFactory.getHeaderGroupCompDetails(params);\n this.comp.setUserCompDetails(compDetails);\n };\n HeaderGroupCellCtrl.prototype.setupTooltip = function () {\n var _this = this;\n var colGroupDef = this.columnGroup.getColGroupDef();\n var tooltipCtrl = {\n getColumn: function () { return _this.columnGroup; },\n getGui: function () { return _this.eGui; },\n getLocation: function () { return 'headerGroup'; },\n getTooltipValue: function () { return colGroupDef && colGroupDef.headerTooltip; }\n };\n if (colGroupDef) {\n tooltipCtrl.getColDef = function () { return colGroupDef; };\n }\n var tooltipFeature = this.createManagedBean(new TooltipFeature(tooltipCtrl, this.beans));\n tooltipFeature.setComp(this.comp);\n };\n HeaderGroupCellCtrl.prototype.setupExpandable = function () {\n var providedColGroup = this.columnGroup.getProvidedColumnGroup();\n this.refreshExpanded();\n this.addManagedListener(providedColGroup, ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED, this.refreshExpanded.bind(this));\n this.addManagedListener(providedColGroup, ProvidedColumnGroup.EVENT_EXPANDED_CHANGED, this.refreshExpanded.bind(this));\n };\n HeaderGroupCellCtrl.prototype.refreshExpanded = function () {\n var column = this.columnGroup;\n this.expandable = column.isExpandable();\n var expanded = column.isExpanded();\n if (this.expandable) {\n this.comp.setAriaExpanded(expanded ? 'true' : 'false');\n }\n else {\n this.comp.setAriaExpanded(undefined);\n }\n };\n HeaderGroupCellCtrl.prototype.addAttributes = function () {\n this.comp.setColId(this.columnGroup.getUniqueId());\n };\n HeaderGroupCellCtrl.prototype.addClasses = function () {\n var _this = this;\n var colGroupDef = this.columnGroup.getColGroupDef();\n var classes = CssClassApplier.getHeaderClassesFromColDef(colGroupDef, this.gridOptionsWrapper, null, this.columnGroup);\n // having different classes below allows the style to not have a bottom border\n // on the group header, if no group is specified\n classes.push(this.columnGroup.isPadding() ? \"ag-header-group-cell-no-group\" : \"ag-header-group-cell-with-group\");\n classes.forEach(function (c) { return _this.comp.addOrRemoveCssClass(c, true); });\n };\n HeaderGroupCellCtrl.prototype.setupMovingCss = function () {\n var _this = this;\n var providedColumnGroup = this.columnGroup.getProvidedColumnGroup();\n var leafColumns = providedColumnGroup.getLeafColumns();\n // this function adds or removes the moving css, based on if the col is moving.\n // this is what makes the header go dark when it is been moved (gives impression to\n // user that the column was picked up).\n var listener = function () { return _this.comp.addOrRemoveCssClass('ag-header-cell-moving', _this.columnGroup.isMoving()); };\n leafColumns.forEach(function (col) {\n _this.addManagedListener(col, Column.EVENT_MOVING_CHANGED, listener);\n });\n listener();\n };\n HeaderGroupCellCtrl.prototype.onFocusIn = function (e) {\n if (!this.eGui.contains(e.relatedTarget)) {\n var rowIndex = this.getRowIndex();\n this.beans.focusService.setFocusedHeader(rowIndex, this.columnGroup);\n }\n };\n HeaderGroupCellCtrl.prototype.handleKeyDown = function (e) {\n _super.prototype.handleKeyDown.call(this, e);\n var wrapperHasFocus = this.getWrapperHasFocus();\n if (!this.expandable || !wrapperHasFocus) {\n return;\n }\n if (e.key === KeyCode.ENTER) {\n var column = this.columnGroup;\n var newExpandedValue = !column.isExpanded();\n this.columnModel.setColumnGroupOpened(column.getProvidedColumnGroup(), newExpandedValue, \"uiColumnExpanded\");\n }\n };\n // unlike columns, this will only get called once, as we don't react on props on column groups\n // (we will always destroy and recreate this comp if something changes)\n HeaderGroupCellCtrl.prototype.setDragSource = function (eHeaderGroup) {\n var _this = this;\n if (this.isSuppressMoving()) {\n return;\n }\n var allLeafColumns = this.columnGroup.getProvidedColumnGroup().getLeafColumns();\n var hideColumnOnExit = !this.gridOptionsWrapper.isSuppressDragLeaveHidesColumns();\n var dragSource = {\n type: DragSourceType.HeaderCell,\n eElement: eHeaderGroup,\n defaultIconName: hideColumnOnExit ? DragAndDropService.ICON_HIDE : DragAndDropService.ICON_NOT_ALLOWED,\n dragItemName: this.displayName,\n // we add in the original group leaf columns, so we move both visible and non-visible items\n getDragItem: this.getDragItemForGroup.bind(this),\n onDragStarted: function () { return allLeafColumns.forEach(function (col) { return col.setMoving(true, \"uiColumnDragged\"); }); },\n onDragStopped: function () { return allLeafColumns.forEach(function (col) { return col.setMoving(false, \"uiColumnDragged\"); }); },\n onGridEnter: function (dragItem) {\n var _a, _b;\n if (hideColumnOnExit) {\n var unlockedColumns = ((_b = (_a = dragItem) === null || _a === void 0 ? void 0 : _a.columns) === null || _b === void 0 ? void 0 : _b.filter(function (col) { return !col.getColDef().lockVisible; })) || [];\n _this.columnModel.setColumnsVisible(unlockedColumns, true, \"uiColumnMoved\");\n }\n },\n onGridExit: function (dragItem) {\n var _a, _b;\n if (hideColumnOnExit) {\n var unlockedColumns = ((_b = (_a = dragItem) === null || _a === void 0 ? void 0 : _a.columns) === null || _b === void 0 ? void 0 : _b.filter(function (col) { return !col.getColDef().lockVisible; })) || [];\n _this.columnModel.setColumnsVisible(unlockedColumns, false, \"uiColumnMoved\");\n }\n },\n };\n this.dragAndDropService.addDragSource(dragSource, true);\n this.addDestroyFunc(function () { return _this.dragAndDropService.removeDragSource(dragSource); });\n };\n // when moving the columns, we want to move all the columns (contained within the DragItem) in this group in one go,\n // and in the order they are currently in the screen.\n HeaderGroupCellCtrl.prototype.getDragItemForGroup = function () {\n var allColumnsOriginalOrder = this.columnGroup.getProvidedColumnGroup().getLeafColumns();\n // capture visible state, used when re-entering grid to dictate which columns should be visible\n var visibleState = {};\n allColumnsOriginalOrder.forEach(function (column) { return visibleState[column.getId()] = column.isVisible(); });\n var allColumnsCurrentOrder = [];\n this.columnModel.getAllDisplayedColumns().forEach(function (column) {\n if (allColumnsOriginalOrder.indexOf(column) >= 0) {\n allColumnsCurrentOrder.push(column);\n removeFromArray(allColumnsOriginalOrder, column);\n }\n });\n // we are left with non-visible columns, stick these in at the end\n allColumnsOriginalOrder.forEach(function (column) { return allColumnsCurrentOrder.push(column); });\n // create and return dragItem\n return {\n columns: allColumnsCurrentOrder,\n visibleState: visibleState\n };\n };\n HeaderGroupCellCtrl.prototype.isSuppressMoving = function () {\n // if any child is fixed, then don't allow moving\n var childSuppressesMoving = false;\n this.columnGroup.getLeafColumns().forEach(function (column) {\n if (column.getColDef().suppressMovable || column.getColDef().lockPosition) {\n childSuppressesMoving = true;\n }\n });\n var result = childSuppressesMoving || this.gridOptionsWrapper.isSuppressMovableColumns();\n return result;\n };\n __decorate$1i([\n Autowired('columnModel')\n ], HeaderGroupCellCtrl.prototype, \"columnModel\", void 0);\n __decorate$1i([\n Autowired('dragAndDropService')\n ], HeaderGroupCellCtrl.prototype, \"dragAndDropService\", void 0);\n __decorate$1i([\n Autowired('gridApi')\n ], HeaderGroupCellCtrl.prototype, \"gridApi\", void 0);\n __decorate$1i([\n Autowired('columnApi')\n ], HeaderGroupCellCtrl.prototype, \"columnApi\", void 0);\n return HeaderGroupCellCtrl;\n}(AbstractHeaderCellCtrl));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1o = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar instanceIdSequence = 0;\nvar HeaderRowCtrl = /** @class */ (function (_super) {\n __extends$1o(HeaderRowCtrl, _super);\n function HeaderRowCtrl(rowIndex, pinned, type) {\n var _this = _super.call(this) || this;\n _this.instanceId = instanceIdSequence++;\n _this.headerCellCtrls = {};\n _this.rowIndex = rowIndex;\n _this.pinned = pinned;\n _this.type = type;\n return _this;\n }\n HeaderRowCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n HeaderRowCtrl.prototype.setComp = function (comp) {\n this.comp = comp;\n this.onRowHeightChanged();\n this.onVirtualColumnsChanged();\n this.setWidth();\n this.addEventListeners();\n if (isBrowserSafari()) {\n // fix for a Safari rendering bug that caused the header to flicker above chart panels\n // as you move the mouse over the header\n this.comp.setTransform('translateZ(0)');\n }\n comp.setAriaRowIndex(this.rowIndex + 1);\n };\n HeaderRowCtrl.prototype.addEventListeners = function () {\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_RESIZED, this.onColumnResized.bind(this));\n // when print layout changes, it changes what columns are in what section\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_VIRTUAL_COLUMNS_CHANGED, this.onVirtualColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HEADER_HEIGHT_CHANGED, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, this.onRowHeightChanged.bind(this));\n };\n HeaderRowCtrl.prototype.getHeaderCellCtrl = function (column) {\n return values(this.headerCellCtrls).find(function (cellCtrl) { return cellCtrl.getColumnGroupChild() === column; });\n };\n HeaderRowCtrl.prototype.onDisplayedColumnsChanged = function () {\n this.onVirtualColumnsChanged();\n this.setWidth();\n this.onRowHeightChanged();\n };\n HeaderRowCtrl.prototype.getType = function () {\n return this.type;\n };\n HeaderRowCtrl.prototype.onColumnResized = function () {\n this.setWidth();\n };\n HeaderRowCtrl.prototype.setWidth = function () {\n var width = this.getWidthForRow();\n this.comp.setWidth(width + \"px\");\n };\n HeaderRowCtrl.prototype.getWidthForRow = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n if (printLayout) {\n var pinned = this.pinned != null;\n if (pinned) {\n return 0;\n }\n return this.columnModel.getContainerWidth(Constants.PINNED_RIGHT)\n + this.columnModel.getContainerWidth(Constants.PINNED_LEFT)\n + this.columnModel.getContainerWidth(null);\n }\n // if not printing, just return the width as normal\n return this.columnModel.getContainerWidth(this.pinned);\n };\n HeaderRowCtrl.prototype.onRowHeightChanged = function () {\n var headerRowCount = this.columnModel.getHeaderRowCount();\n var sizes = [];\n var numberOfFloating = 0;\n if (this.columnModel.hasFloatingFilters()) {\n headerRowCount++;\n numberOfFloating = 1;\n }\n var groupHeight = this.columnModel.getColumnGroupHeaderRowHeight();\n var headerHeight = this.columnModel.getColumnHeaderRowHeight();\n var numberOfNonGroups = 1 + numberOfFloating;\n var numberOfGroups = headerRowCount - numberOfNonGroups;\n for (var i = 0; i < numberOfGroups; i++) {\n sizes.push(groupHeight);\n }\n sizes.push(headerHeight);\n for (var i = 0; i < numberOfFloating; i++) {\n sizes.push(this.gridOptionsWrapper.getFloatingFiltersHeight());\n }\n var topOffset = 0;\n for (var i = 0; i < this.rowIndex; i++) {\n topOffset += sizes[i];\n }\n var thisRowHeight = sizes[this.rowIndex] + 'px';\n this.comp.setTop(topOffset + 'px');\n this.comp.setHeight(thisRowHeight);\n };\n HeaderRowCtrl.prototype.getPinned = function () {\n return this.pinned;\n };\n HeaderRowCtrl.prototype.getRowIndex = function () {\n return this.rowIndex;\n };\n HeaderRowCtrl.prototype.onVirtualColumnsChanged = function () {\n var _this = this;\n var oldCtrls = this.headerCellCtrls;\n this.headerCellCtrls = {};\n var columns = this.getColumnsInViewport();\n columns.forEach(function (child) {\n // skip groups that have no displayed children. this can happen when the group is broken,\n // and this section happens to have nothing to display for the open / closed state.\n // (a broken group is one that is split, ie columns in the group have a non-group column\n // in between them)\n if (child.isEmptyGroup()) {\n return;\n }\n var idOfChild = child.getUniqueId();\n // if we already have this cell rendered, do nothing\n var headerCtrl = oldCtrls[idOfChild];\n delete oldCtrls[idOfChild];\n // it's possible there is a new Column with the same ID, but it's for a different Column.\n // this is common with pivoting, where the pivot cols change, but the id's are still pivot_0,\n // pivot_1 etc. so if new col but same ID, need to remove the old col here first as we are\n // about to replace it in the this.headerComps map.\n var forOldColumn = headerCtrl && headerCtrl.getColumnGroupChild() != child;\n if (forOldColumn) {\n _this.destroyBean(headerCtrl);\n headerCtrl = undefined;\n }\n if (headerCtrl == null) {\n switch (_this.type) {\n case HeaderRowType.FLOATING_FILTER:\n headerCtrl = _this.createBean(new HeaderFilterCellCtrl(child, _this));\n break;\n case HeaderRowType.COLUMN_GROUP:\n headerCtrl = _this.createBean(new HeaderGroupCellCtrl(child, _this));\n break;\n default:\n headerCtrl = _this.createBean(new HeaderCellCtrl(child, _this));\n break;\n }\n }\n _this.headerCellCtrls[idOfChild] = headerCtrl;\n });\n // we want to keep columns that are focused, otherwise keyboard navigation breaks\n var isFocusedAndDisplayed = function (ctrl) {\n var isFocused = _this.focusService.isHeaderWrapperFocused(ctrl);\n if (!isFocused) {\n return false;\n }\n var isDisplayed = _this.columnModel.isDisplayed(ctrl.getColumnGroupChild());\n return isDisplayed;\n };\n iterateObject(oldCtrls, function (id, oldCtrl) {\n var keepCtrl = isFocusedAndDisplayed(oldCtrl);\n if (keepCtrl) {\n _this.headerCellCtrls[id] = oldCtrl;\n }\n else {\n _this.destroyBean(oldCtrl);\n }\n });\n var ctrlsToDisplay = getAllValuesInObject(this.headerCellCtrls);\n this.comp.setHeaderCtrls(ctrlsToDisplay);\n };\n HeaderRowCtrl.prototype.destroyCtrls = function () {\n var _this = this;\n iterateObject(this.headerCellCtrls, function (key, ctrl) {\n _this.destroyBean(ctrl);\n });\n this.headerCellCtrls = {};\n };\n HeaderRowCtrl.prototype.getColumnsInViewport = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n return printLayout ? this.getColumnsInViewportPrintLayout() : this.getColumnsInViewportNormalLayout();\n };\n HeaderRowCtrl.prototype.getColumnsInViewportPrintLayout = function () {\n var _this = this;\n // for print layout, we add all columns into the center\n if (this.pinned != null) {\n return [];\n }\n var viewportColumns = [];\n var actualDepth = this.getActualDepth();\n [Constants.PINNED_LEFT, null, Constants.PINNED_RIGHT].forEach(function (pinned) {\n var items = _this.columnModel.getVirtualHeaderGroupRow(pinned, actualDepth);\n viewportColumns = viewportColumns.concat(items);\n });\n return viewportColumns;\n };\n HeaderRowCtrl.prototype.getActualDepth = function () {\n return this.type == HeaderRowType.FLOATING_FILTER ? this.rowIndex - 1 : this.rowIndex;\n };\n HeaderRowCtrl.prototype.getColumnsInViewportNormalLayout = function () {\n // when in normal layout, we add the columns for that container only\n return this.columnModel.getVirtualHeaderGroupRow(this.pinned, this.getActualDepth());\n };\n HeaderRowCtrl.prototype.focusHeader = function (column, event) {\n var allCtrls = getAllValuesInObject(this.headerCellCtrls);\n var ctrl = allCtrls.find(function (ctrl) { return ctrl.getColumnGroupChild() == column; });\n if (!ctrl) {\n return false;\n }\n ctrl.focus(event);\n return true;\n };\n __decorate$1h([\n Autowired('columnModel')\n ], HeaderRowCtrl.prototype, \"columnModel\", void 0);\n __decorate$1h([\n Autowired('focusService')\n ], HeaderRowCtrl.prototype, \"focusService\", void 0);\n __decorate$1h([\n PreDestroy\n ], HeaderRowCtrl.prototype, \"destroyCtrls\", null);\n return HeaderRowCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1n = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$c = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$a = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$c(arguments[i]));\n return ar;\n};\nvar HeaderRowContainerCtrl = /** @class */ (function (_super) {\n __extends$1n(HeaderRowContainerCtrl, _super);\n function HeaderRowContainerCtrl(pinned) {\n var _this = _super.call(this) || this;\n _this.groupsRowCtrls = [];\n _this.pinned = pinned;\n return _this;\n }\n HeaderRowContainerCtrl.prototype.setComp = function (comp, eGui) {\n this.comp = comp;\n this.eViewport = eGui;\n this.setupCenterWidth();\n this.setupPinnedWidth();\n this.setupDragAndDrop(this.eViewport);\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, this.onGridColumnsChanged.bind(this));\n this.addManagedListener(this.eViewport, 'scroll', this.resetScrollLeft.bind(this));\n this.ctrlsService.registerHeaderContainer(this, this.pinned);\n if (this.columnModel.isReady()) {\n this.refresh();\n }\n };\n HeaderRowContainerCtrl.prototype.setupDragAndDrop = function (dropContainer) {\n var bodyDropTarget = new BodyDropTarget(this.pinned, dropContainer);\n this.createManagedBean(bodyDropTarget);\n };\n HeaderRowContainerCtrl.prototype.refresh = function (keepColumns) {\n var _this = this;\n if (keepColumns === void 0) { keepColumns = false; }\n var sequence = new NumberSequence();\n var focusedHeaderPosition = this.focusService.getFocusHeaderToUseAfterRefresh();\n var refreshColumnGroups = function () {\n var groupRowCount = _this.columnModel.getHeaderRowCount() - 1;\n _this.groupsRowCtrls = _this.destroyBeans(_this.groupsRowCtrls);\n for (var i = 0; i < groupRowCount; i++) {\n var ctrl = _this.createBean(new HeaderRowCtrl(sequence.next(), _this.pinned, HeaderRowType.COLUMN_GROUP));\n _this.groupsRowCtrls.push(ctrl);\n }\n };\n var refreshColumns = function () {\n var rowIndex = sequence.next();\n var needNewInstance = _this.columnsRowCtrl == null || !keepColumns || _this.columnsRowCtrl.getRowIndex() !== rowIndex;\n if (needNewInstance) {\n _this.destroyBean(_this.columnsRowCtrl);\n _this.columnsRowCtrl = _this.createBean(new HeaderRowCtrl(rowIndex, _this.pinned, HeaderRowType.COLUMN));\n }\n };\n var refreshFilters = function () {\n var includeFloatingFilter = _this.columnModel.hasFloatingFilters();\n var destroyPreviousComp = function () {\n _this.filtersRowCtrl = _this.destroyBean(_this.filtersRowCtrl);\n };\n if (!includeFloatingFilter) {\n destroyPreviousComp();\n return;\n }\n var rowIndex = sequence.next();\n if (_this.filtersRowCtrl) {\n var rowIndexMismatch = _this.filtersRowCtrl.getRowIndex() !== rowIndex;\n if (!keepColumns || rowIndexMismatch) {\n destroyPreviousComp();\n }\n }\n if (!_this.filtersRowCtrl) {\n _this.filtersRowCtrl = _this.createBean(new HeaderRowCtrl(rowIndex, _this.pinned, HeaderRowType.FLOATING_FILTER));\n }\n };\n refreshColumnGroups();\n refreshColumns();\n refreshFilters();\n var allCtrls = this.getAllCtrls();\n this.comp.setCtrls(allCtrls);\n this.restoreFocusOnHeader(focusedHeaderPosition);\n };\n HeaderRowContainerCtrl.prototype.restoreFocusOnHeader = function (position) {\n if (position == null || position.column.getPinned() != this.pinned) {\n return;\n }\n this.focusService.focusHeaderPosition({ headerPosition: position });\n };\n HeaderRowContainerCtrl.prototype.getAllCtrls = function () {\n var res = __spread$a(this.groupsRowCtrls, [this.columnsRowCtrl]);\n if (this.filtersRowCtrl) {\n res.push(this.filtersRowCtrl);\n }\n return res;\n };\n // grid cols have changed - this also means the number of rows in the header can have\n // changed. so we remove all the old rows and insert new ones for a complete refresh\n HeaderRowContainerCtrl.prototype.onGridColumnsChanged = function () {\n this.refresh(true);\n };\n HeaderRowContainerCtrl.prototype.setupCenterWidth = function () {\n var _this = this;\n if (this.pinned != null) {\n return;\n }\n this.createManagedBean(new CenterWidthFeature(function (width) { return _this.comp.setCenterWidth(width + \"px\"); }));\n };\n HeaderRowContainerCtrl.prototype.setHorizontalScroll = function (offset) {\n this.comp.setContainerTransform(\"translateX(\" + offset + \"px)\");\n };\n HeaderRowContainerCtrl.prototype.resetScrollLeft = function () {\n this.eViewport.scrollLeft = 0;\n };\n HeaderRowContainerCtrl.prototype.setupPinnedWidth = function () {\n var _this = this;\n if (this.pinned == null) {\n return;\n }\n var pinningLeft = this.pinned === Constants.PINNED_LEFT;\n var pinningRight = this.pinned === Constants.PINNED_RIGHT;\n var listener = function () {\n var width = pinningLeft ? _this.pinnedWidthService.getPinnedLeftWidth() : _this.pinnedWidthService.getPinnedRightWidth();\n if (width == null) {\n return;\n } // can happen at initialisation, width not yet set\n var hidden = width == 0;\n var isRtl = _this.gridOptionsWrapper.isEnableRtl();\n var scrollbarWidth = _this.gridOptionsWrapper.getScrollbarWidth();\n // if there is a scroll showing (and taking up space, so Windows, and not iOS)\n // in the body, then we add extra space to keep header aligned with the body,\n // as body width fits the cols and the scrollbar\n var addPaddingForScrollbar = _this.scrollVisibleService.isVerticalScrollShowing() && ((isRtl && pinningLeft) || (!isRtl && pinningRight));\n var widthWithPadding = addPaddingForScrollbar ? width + scrollbarWidth : width;\n _this.comp.setPinnedContainerWidth(widthWithPadding + 'px');\n _this.comp.addOrRemoveCssClass('ag-hidden', hidden);\n };\n this.addManagedListener(this.eventService, Events.EVENT_LEFT_PINNED_WIDTH_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_SCROLLBAR_WIDTH_CHANGED, listener);\n };\n HeaderRowContainerCtrl.prototype.getHeaderCtrlForColumn = function (column) {\n if (column instanceof Column) {\n if (!this.columnsRowCtrl) {\n return;\n }\n return this.columnsRowCtrl.getHeaderCellCtrl(column);\n }\n if (this.groupsRowCtrls.length === 0) {\n return;\n }\n for (var i = 0; i < this.groupsRowCtrls.length; i++) {\n var ctrl = this.groupsRowCtrls[i].getHeaderCellCtrl(column);\n if (ctrl) {\n return ctrl;\n }\n }\n };\n HeaderRowContainerCtrl.prototype.getHtmlElementForColumnHeader = function (column) {\n /* tslint:enable */\n var cellCtrl = this.getHeaderCtrlForColumn(column);\n if (!cellCtrl) {\n return null;\n }\n return cellCtrl.getGui();\n };\n HeaderRowContainerCtrl.prototype.getRowType = function (rowIndex) {\n var allCtrls = this.getAllCtrls();\n var ctrl = allCtrls[rowIndex];\n return ctrl ? ctrl.getType() : undefined;\n };\n HeaderRowContainerCtrl.prototype.focusHeader = function (rowIndex, column, event) {\n var allCtrls = this.getAllCtrls();\n var ctrl = allCtrls[rowIndex];\n if (!ctrl) {\n return false;\n }\n return ctrl.focusHeader(column, event);\n };\n HeaderRowContainerCtrl.prototype.getRowCount = function () {\n return this.getAllCtrls().length;\n };\n __decorate$1g([\n Autowired('ctrlsService')\n ], HeaderRowContainerCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$1g([\n Autowired('scrollVisibleService')\n ], HeaderRowContainerCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$1g([\n Autowired('pinnedWidthService')\n ], HeaderRowContainerCtrl.prototype, \"pinnedWidthService\", void 0);\n __decorate$1g([\n Autowired('columnModel')\n ], HeaderRowContainerCtrl.prototype, \"columnModel\", void 0);\n __decorate$1g([\n Autowired('focusService')\n ], HeaderRowContainerCtrl.prototype, \"focusService\", void 0);\n return HeaderRowContainerCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1m = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderRowContainerComp = /** @class */ (function (_super) {\n __extends$1m(HeaderRowContainerComp, _super);\n function HeaderRowContainerComp(pinned) {\n var _this = _super.call(this) || this;\n _this.headerRowComps = {};\n _this.rowCompsList = [];\n _this.pinned = pinned;\n return _this;\n }\n HeaderRowContainerComp.prototype.init = function () {\n var _this = this;\n this.selectAndSetTemplate();\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setCtrls: function (ctrls) { return _this.setCtrls(ctrls); },\n // only gets called for center section\n setCenterWidth: function (width) { return _this.eCenterContainer.style.width = width; },\n setContainerTransform: function (transform) { return _this.eCenterContainer.style.transform = transform; },\n // only gets called for pinned sections\n setPinnedContainerWidth: function (width) {\n var eGui = _this.getGui();\n eGui.style.width = width;\n eGui.style.maxWidth = width;\n eGui.style.minWidth = width;\n }\n };\n var ctrl = this.createManagedBean(new HeaderRowContainerCtrl(this.pinned));\n ctrl.setComp(compProxy, this.getGui());\n };\n HeaderRowContainerComp.prototype.selectAndSetTemplate = function () {\n var pinnedLeft = this.pinned == Constants.PINNED_LEFT;\n var pinnedRight = this.pinned == Constants.PINNED_RIGHT;\n var template = pinnedLeft ? HeaderRowContainerComp.PINNED_LEFT_TEMPLATE :\n pinnedRight ? HeaderRowContainerComp.PINNED_RIGHT_TEMPLATE : HeaderRowContainerComp.CENTER_TEMPLATE;\n this.setTemplate(template);\n // for left and right, we add rows directly to the root element,\n // but for center container we add elements to the child container.\n this.eRowContainer = this.eCenterContainer ? this.eCenterContainer : this.getGui();\n };\n HeaderRowContainerComp.prototype.destroyRowComps = function () {\n this.setCtrls([]);\n };\n HeaderRowContainerComp.prototype.destroyRowComp = function (rowComp) {\n this.destroyBean(rowComp);\n this.eRowContainer.removeChild(rowComp.getGui());\n };\n HeaderRowContainerComp.prototype.setCtrls = function (ctrls) {\n var _this = this;\n var oldRowComps = this.headerRowComps;\n this.headerRowComps = {};\n this.rowCompsList = [];\n var prevGui;\n var appendEnsuringDomOrder = function (rowComp) {\n var eGui = rowComp.getGui();\n var notAlreadyIn = eGui.parentElement != _this.eRowContainer;\n if (notAlreadyIn) {\n _this.eRowContainer.appendChild(eGui);\n }\n if (prevGui) {\n ensureDomOrder(_this.eRowContainer, eGui, prevGui);\n }\n prevGui = eGui;\n };\n ctrls.forEach(function (ctrl) {\n var ctrlId = ctrl.getInstanceId();\n var existingComp = oldRowComps[ctrlId];\n delete oldRowComps[ctrlId];\n var rowComp = existingComp ? existingComp : _this.createBean(new HeaderRowComp(ctrl));\n _this.headerRowComps[ctrlId] = rowComp;\n _this.rowCompsList.push(rowComp);\n appendEnsuringDomOrder(rowComp);\n });\n getAllValuesInObject(oldRowComps).forEach(function (c) { return _this.destroyRowComp(c); });\n };\n HeaderRowContainerComp.PINNED_LEFT_TEMPLATE = \"
\";\n HeaderRowContainerComp.PINNED_RIGHT_TEMPLATE = \"
\";\n HeaderRowContainerComp.CENTER_TEMPLATE = \"
\\n
\\n
\";\n __decorate$1f([\n RefSelector('eCenterContainer')\n ], HeaderRowContainerComp.prototype, \"eCenterContainer\", void 0);\n __decorate$1f([\n PostConstruct\n ], HeaderRowContainerComp.prototype, \"init\", null);\n __decorate$1f([\n PreDestroy\n ], HeaderRowContainerComp.prototype, \"destroyRowComps\", null);\n return HeaderRowContainerComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1l = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderNavigationDirection;\n(function (HeaderNavigationDirection) {\n HeaderNavigationDirection[HeaderNavigationDirection[\"UP\"] = 0] = \"UP\";\n HeaderNavigationDirection[HeaderNavigationDirection[\"DOWN\"] = 1] = \"DOWN\";\n HeaderNavigationDirection[HeaderNavigationDirection[\"LEFT\"] = 2] = \"LEFT\";\n HeaderNavigationDirection[HeaderNavigationDirection[\"RIGHT\"] = 3] = \"RIGHT\";\n})(HeaderNavigationDirection || (HeaderNavigationDirection = {}));\nvar HeaderNavigationService = /** @class */ (function (_super) {\n __extends$1l(HeaderNavigationService, _super);\n function HeaderNavigationService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderNavigationService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.gridBodyCon = p.gridBodyCtrl;\n });\n };\n HeaderNavigationService.prototype.getHeaderRowCount = function () {\n var centerHeaderContainer = this.ctrlsService.getHeaderRowContainerCtrl();\n return centerHeaderContainer ? centerHeaderContainer.getRowCount() : 0;\n };\n HeaderNavigationService.prototype.getHeaderRowType = function (rowIndex) {\n var centerHeaderContainer = this.ctrlsService.getHeaderRowContainerCtrl();\n if (centerHeaderContainer) {\n return centerHeaderContainer.getRowType(rowIndex);\n }\n };\n /*\n * This method navigates grid header vertically\n * @return {boolean} true to preventDefault on the event that caused this navigation.\n */\n HeaderNavigationService.prototype.navigateVertically = function (direction, fromHeader, event) {\n if (!fromHeader) {\n fromHeader = this.focusService.getFocusedHeader();\n }\n if (!fromHeader) {\n return false;\n }\n var headerRowIndex = fromHeader.headerRowIndex, column = fromHeader.column;\n var rowLen = this.getHeaderRowCount();\n var isUp = direction === HeaderNavigationDirection.UP;\n var nextRow = isUp ? headerRowIndex - 1 : headerRowIndex + 1;\n var nextFocusColumn = null;\n var skipColumn = false;\n if (nextRow < 0) {\n nextRow = 0;\n nextFocusColumn = column;\n skipColumn = true;\n }\n if (nextRow >= rowLen) {\n nextRow = -1; // -1 indicates the focus should move to grid rows.\n }\n var currentRowType = this.getHeaderRowType(headerRowIndex);\n if (!skipColumn) {\n if (currentRowType === HeaderRowType.COLUMN_GROUP) {\n var currentColumn = column;\n nextFocusColumn = isUp ? column.getParent() : currentColumn.getDisplayedChildren()[0];\n }\n else if (currentRowType === HeaderRowType.FLOATING_FILTER) {\n nextFocusColumn = column;\n }\n else {\n var currentColumn = column;\n nextFocusColumn = isUp ? currentColumn.getParent() : currentColumn;\n }\n if (!nextFocusColumn) {\n return false;\n }\n }\n return this.focusService.focusHeaderPosition({\n headerPosition: { headerRowIndex: nextRow, column: nextFocusColumn },\n allowUserOverride: true,\n event: event\n });\n };\n /*\n * This method navigates grid header horizontally\n * @return {boolean} true to preventDefault on the event that caused this navigation.\n */\n HeaderNavigationService.prototype.navigateHorizontally = function (direction, fromTab, event) {\n if (fromTab === void 0) { fromTab = false; }\n var focusedHeader = this.focusService.getFocusedHeader();\n var isLeft = direction === HeaderNavigationDirection.LEFT;\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var nextHeader;\n var normalisedDirection;\n // either navigating to the left or isRtl (cannot be both)\n if (isLeft !== isRtl) {\n normalisedDirection = 'Before';\n nextHeader = this.headerPositionUtils.findHeader(focusedHeader, normalisedDirection);\n }\n else {\n normalisedDirection = 'After';\n nextHeader = this.headerPositionUtils.findHeader(focusedHeader, normalisedDirection);\n }\n if (nextHeader || !fromTab) {\n return this.focusService.focusHeaderPosition({\n headerPosition: nextHeader,\n direction: normalisedDirection,\n fromTab: fromTab,\n allowUserOverride: true,\n event: event\n });\n }\n return this.focusNextHeaderRow(focusedHeader, normalisedDirection, event);\n };\n HeaderNavigationService.prototype.focusNextHeaderRow = function (focusedHeader, direction, event) {\n var currentIndex = focusedHeader.headerRowIndex;\n var nextPosition = null;\n var nextRowIndex;\n if (direction === 'Before') {\n if (currentIndex > 0) {\n nextRowIndex = currentIndex - 1;\n nextPosition = this.headerPositionUtils.findColAtEdgeForHeaderRow(nextRowIndex, 'end');\n }\n }\n else {\n nextRowIndex = currentIndex + 1;\n nextPosition = this.headerPositionUtils.findColAtEdgeForHeaderRow(nextRowIndex, 'start');\n }\n return this.focusService.focusHeaderPosition({\n headerPosition: nextPosition,\n direction: direction,\n fromTab: true,\n allowUserOverride: true,\n event: event\n });\n };\n HeaderNavigationService.prototype.scrollToColumn = function (column, direction) {\n if (direction === void 0) { direction = 'After'; }\n if (column.getPinned()) {\n return;\n }\n var columnToScrollTo;\n if (column instanceof ColumnGroup) {\n var columns = column.getDisplayedLeafColumns();\n columnToScrollTo = direction === 'Before' ? last(columns) : columns[0];\n }\n else {\n columnToScrollTo = column;\n }\n this.gridBodyCon.getScrollFeature().ensureColumnVisible(columnToScrollTo);\n };\n __decorate$1e([\n Autowired('focusService')\n ], HeaderNavigationService.prototype, \"focusService\", void 0);\n __decorate$1e([\n Autowired('headerPositionUtils')\n ], HeaderNavigationService.prototype, \"headerPositionUtils\", void 0);\n __decorate$1e([\n Autowired('animationFrameService')\n ], HeaderNavigationService.prototype, \"animationFrameService\", void 0);\n __decorate$1e([\n Autowired('ctrlsService')\n ], HeaderNavigationService.prototype, \"ctrlsService\", void 0);\n __decorate$1e([\n PostConstruct\n ], HeaderNavigationService.prototype, \"postConstruct\", null);\n HeaderNavigationService = __decorate$1e([\n Bean('headerNavigationService')\n ], HeaderNavigationService);\n return HeaderNavigationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1k = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridHeaderCtrl = /** @class */ (function (_super) {\n __extends$1k(GridHeaderCtrl, _super);\n function GridHeaderCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridHeaderCtrl.prototype.setComp = function (comp, eGui, eFocusableElement) {\n this.comp = comp;\n this.eGui = eGui;\n this.createManagedBean(new ManagedFocusFeature(eFocusableElement, {\n onTabKeyDown: this.onTabKeyDown.bind(this),\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusOut: this.onFocusOut.bind(this)\n }));\n // for setting ag-pivot-on / ag-pivot-off CSS classes\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, this.onPivotModeChanged.bind(this));\n this.onPivotModeChanged();\n this.setupHeaderHeight();\n this.ctrlsService.registerGridHeaderCtrl(this);\n };\n GridHeaderCtrl.prototype.setupHeaderHeight = function () {\n var listener = this.setHeaderHeight.bind(this);\n listener();\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HEADER_HEIGHT_CHANGED, listener);\n };\n GridHeaderCtrl.prototype.getHeaderHeight = function () {\n return this.headerHeight;\n };\n GridHeaderCtrl.prototype.setHeaderHeight = function () {\n var _a = this, columnModel = _a.columnModel, gridOptionsWrapper = _a.gridOptionsWrapper;\n var numberOfFloating = 0;\n var headerRowCount = columnModel.getHeaderRowCount();\n var totalHeaderHeight;\n var hasFloatingFilters = columnModel.hasFloatingFilters();\n if (hasFloatingFilters) {\n headerRowCount++;\n numberOfFloating = 1;\n }\n var groupHeight = this.columnModel.getColumnGroupHeaderRowHeight();\n var headerHeight = this.columnModel.getColumnHeaderRowHeight();\n var numberOfNonGroups = 1 + numberOfFloating;\n var numberOfGroups = headerRowCount - numberOfNonGroups;\n totalHeaderHeight = numberOfFloating * gridOptionsWrapper.getFloatingFiltersHeight();\n totalHeaderHeight += numberOfGroups * groupHeight;\n totalHeaderHeight += headerHeight;\n if (this.headerHeight === totalHeaderHeight) {\n return;\n }\n this.headerHeight = totalHeaderHeight;\n // one extra pixel is needed here to account for the\n // height of the border\n var px = totalHeaderHeight + 1 + \"px\";\n this.comp.setHeightAndMinHeight(px);\n this.eventService.dispatchEvent({\n type: Events.EVENT_HEADER_HEIGHT_CHANGED\n });\n };\n GridHeaderCtrl.prototype.onPivotModeChanged = function () {\n var pivotMode = this.columnModel.isPivotMode();\n this.comp.addOrRemoveCssClass('ag-pivot-on', pivotMode);\n this.comp.addOrRemoveCssClass('ag-pivot-off', !pivotMode);\n };\n GridHeaderCtrl.prototype.onTabKeyDown = function (e) {\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var direction = e.shiftKey !== isRtl\n ? HeaderNavigationDirection.LEFT\n : HeaderNavigationDirection.RIGHT;\n if (this.headerNavigationService.navigateHorizontally(direction, true, e) ||\n this.focusService.focusNextGridCoreContainer(e.shiftKey)) {\n e.preventDefault();\n }\n };\n GridHeaderCtrl.prototype.handleKeyDown = function (e) {\n var direction = null;\n switch (e.key) {\n case KeyCode.LEFT:\n direction = HeaderNavigationDirection.LEFT;\n case KeyCode.RIGHT:\n if (!exists(direction)) {\n direction = HeaderNavigationDirection.RIGHT;\n }\n this.headerNavigationService.navigateHorizontally(direction, false, e);\n break;\n case KeyCode.UP:\n direction = HeaderNavigationDirection.UP;\n case KeyCode.DOWN:\n if (!exists(direction)) {\n direction = HeaderNavigationDirection.DOWN;\n }\n if (this.headerNavigationService.navigateVertically(direction, null, e)) {\n e.preventDefault();\n }\n break;\n default:\n return;\n }\n };\n GridHeaderCtrl.prototype.onFocusOut = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var relatedTarget = e.relatedTarget;\n if (!relatedTarget && this.eGui.contains(eDocument.activeElement)) {\n return;\n }\n if (!this.eGui.contains(relatedTarget)) {\n this.focusService.clearFocusedHeader();\n }\n };\n __decorate$1d([\n Autowired('headerNavigationService')\n ], GridHeaderCtrl.prototype, \"headerNavigationService\", void 0);\n __decorate$1d([\n Autowired('focusService')\n ], GridHeaderCtrl.prototype, \"focusService\", void 0);\n __decorate$1d([\n Autowired('columnModel')\n ], GridHeaderCtrl.prototype, \"columnModel\", void 0);\n __decorate$1d([\n Autowired('ctrlsService')\n ], GridHeaderCtrl.prototype, \"ctrlsService\", void 0);\n return GridHeaderCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1j = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridHeaderComp = /** @class */ (function (_super) {\n __extends$1j(GridHeaderComp, _super);\n function GridHeaderComp() {\n return _super.call(this, GridHeaderComp.TEMPLATE) || this;\n }\n GridHeaderComp.prototype.postConstruct = function () {\n var _this = this;\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setHeightAndMinHeight: function (height) {\n _this.getGui().style.height = height;\n _this.getGui().style.minHeight = height;\n }\n };\n var ctrl = this.createManagedBean(new GridHeaderCtrl());\n ctrl.setComp(compProxy, this.getGui(), this.getFocusableElement());\n var addContainer = function (container) {\n _this.createManagedBean(container);\n _this.appendChild(container);\n };\n addContainer(new HeaderRowContainerComp(Constants.PINNED_LEFT));\n addContainer(new HeaderRowContainerComp(null));\n addContainer(new HeaderRowContainerComp(Constants.PINNED_RIGHT));\n };\n GridHeaderComp.TEMPLATE = \"
\";\n __decorate$1c([\n PostConstruct\n ], GridHeaderComp.prototype, \"postConstruct\", null);\n return GridHeaderComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1i = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HorizontalResizeService = /** @class */ (function (_super) {\n __extends$1i(HorizontalResizeService, _super);\n function HorizontalResizeService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HorizontalResizeService.prototype.addResizeBar = function (params) {\n var _this = this;\n var dragSource = {\n dragStartPixels: params.dragStartPixels || 0,\n eElement: params.eResizeBar,\n onDragStart: this.onDragStart.bind(this, params),\n onDragStop: this.onDragStop.bind(this, params),\n onDragging: this.onDragging.bind(this, params)\n };\n this.dragService.addDragSource(dragSource, true);\n // we pass remove func back to the caller, so call can tell us when they\n // are finished, and then we remove the listener from the drag source\n var finishedWithResizeFunc = function () { return _this.dragService.removeDragSource(dragSource); };\n return finishedWithResizeFunc;\n };\n HorizontalResizeService.prototype.onDragStart = function (params, mouseEvent) {\n this.dragStartX = mouseEvent.clientX;\n this.setResizeIcons();\n var shiftKey = mouseEvent instanceof MouseEvent && mouseEvent.shiftKey === true;\n params.onResizeStart(shiftKey);\n };\n HorizontalResizeService.prototype.setResizeIcons = function () {\n var ctrl = this.ctrlsService.getGridCtrl();\n // change the body cursor, so when drag moves out of the drag bar, the cursor is still 'resize' (or 'move'\n ctrl.setResizeCursor(true);\n // we don't want text selection outside the grid (otherwise it looks weird as text highlights when we move)\n ctrl.disableUserSelect(true);\n };\n HorizontalResizeService.prototype.onDragStop = function (params, mouseEvent) {\n params.onResizeEnd(this.resizeAmount);\n this.resetIcons();\n };\n HorizontalResizeService.prototype.resetIcons = function () {\n var ctrl = this.ctrlsService.getGridCtrl();\n ctrl.setResizeCursor(false);\n ctrl.disableUserSelect(false);\n };\n HorizontalResizeService.prototype.onDragging = function (params, mouseEvent) {\n this.resizeAmount = mouseEvent.clientX - this.dragStartX;\n params.onResizing(this.resizeAmount);\n };\n __decorate$1b([\n Autowired('dragService')\n ], HorizontalResizeService.prototype, \"dragService\", void 0);\n __decorate$1b([\n Autowired('ctrlsService')\n ], HorizontalResizeService.prototype, \"ctrlsService\", void 0);\n HorizontalResizeService = __decorate$1b([\n Bean('horizontalResizeService')\n ], HorizontalResizeService);\n return HorizontalResizeService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1h = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar StandardMenuFactory = /** @class */ (function (_super) {\n __extends$1h(StandardMenuFactory, _super);\n function StandardMenuFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StandardMenuFactory.prototype.hideActiveMenu = function () {\n if (this.hidePopup) {\n this.hidePopup();\n }\n };\n StandardMenuFactory.prototype.showMenuAfterMouseEvent = function (column, mouseEvent) {\n var _this = this;\n this.showPopup(column, function (eMenu) {\n _this.popupService.positionPopupUnderMouseEvent({\n column: column,\n type: 'columnMenu',\n mouseEvent: mouseEvent,\n ePopup: eMenu\n });\n }, mouseEvent.target);\n };\n StandardMenuFactory.prototype.showMenuAfterButtonClick = function (column, eventSource, containerType) {\n var _this = this;\n this.showPopup(column, function (eMenu) {\n _this.popupService.positionPopupUnderComponent({\n type: containerType,\n eventSource: eventSource,\n ePopup: eMenu,\n keepWithinBounds: true,\n column: column\n });\n }, eventSource);\n };\n StandardMenuFactory.prototype.showPopup = function (column, positionCallback, eventSource) {\n var _this = this;\n var filterWrapper = this.filterManager.getOrCreateFilterWrapper(column, 'COLUMN_MENU');\n if (!filterWrapper) {\n throw new Error('AG Grid - unable to show popup filter, filter instantiation failed');\n }\n var eMenu = document.createElement('div');\n setAriaRole(eMenu, 'presentation');\n eMenu.classList.add('ag-menu');\n this.tabListener = this.addManagedListener(eMenu, 'keydown', function (e) { return _this.trapFocusWithin(e, eMenu); });\n filterWrapper.guiPromise.then(function (gui) { return eMenu.appendChild(gui); });\n var hidePopup;\n var anchorToElement = eventSource || this.ctrlsService.getGridBodyCtrl().getGui();\n var closedCallback = function (e) {\n column.setMenuVisible(false, 'contextMenu');\n var isKeyboardEvent = e instanceof KeyboardEvent;\n if (_this.tabListener) {\n _this.tabListener = _this.tabListener();\n }\n if (isKeyboardEvent && eventSource && isVisible(eventSource)) {\n var focusableEl = _this.focusService.findTabbableParent(eventSource);\n if (focusableEl) {\n focusableEl.focus();\n }\n }\n };\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: true,\n eChild: eMenu,\n closeOnEsc: true,\n closedCallback: closedCallback,\n positionCallback: function () { return positionCallback(eMenu); },\n anchorToElement: anchorToElement,\n ariaLabel: translate('ariaLabelColumnMenu', 'Column Menu')\n });\n if (addPopupRes) {\n this.hidePopup = hidePopup = addPopupRes.hideFunc;\n }\n filterWrapper.filterPromise.then(function (filter) {\n // need to make sure the filter is present before positioning, as only\n // after filter it is visible can we find out what the width of it is\n positionCallback(eMenu);\n if (filter.afterGuiAttached) {\n filter.afterGuiAttached({ container: 'columnMenu', hidePopup: hidePopup });\n }\n });\n column.setMenuVisible(true, 'contextMenu');\n };\n StandardMenuFactory.prototype.trapFocusWithin = function (e, menu) {\n if (e.key !== KeyCode.TAB ||\n e.defaultPrevented ||\n this.focusService.findNextFocusableElement(menu, false, e.shiftKey)) {\n return;\n }\n e.preventDefault();\n this.focusService.focusInto(menu, e.shiftKey);\n };\n StandardMenuFactory.prototype.isMenuEnabled = function (column) {\n // for standard, we show menu if filter is enabled, and the menu is not suppressed\n return column.isFilterAllowed();\n };\n __decorate$1a([\n Autowired('filterManager')\n ], StandardMenuFactory.prototype, \"filterManager\", void 0);\n __decorate$1a([\n Autowired('popupService')\n ], StandardMenuFactory.prototype, \"popupService\", void 0);\n __decorate$1a([\n Autowired('focusService')\n ], StandardMenuFactory.prototype, \"focusService\", void 0);\n __decorate$1a([\n Autowired('ctrlsService')\n ], StandardMenuFactory.prototype, \"ctrlsService\", void 0);\n StandardMenuFactory = __decorate$1a([\n Bean('menuFactory')\n ], StandardMenuFactory);\n return StandardMenuFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1g = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$19 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TabbedLayout = /** @class */ (function (_super) {\n __extends$1g(TabbedLayout, _super);\n function TabbedLayout(params) {\n var _this = _super.call(this, TabbedLayout.getTemplate(params.cssClass)) || this;\n _this.items = [];\n _this.tabbedItemScrollMap = new Map();\n _this.params = params;\n if (params.items) {\n params.items.forEach(function (item) { return _this.addItem(item); });\n }\n return _this;\n }\n TabbedLayout.prototype.postConstruct = function () {\n this.createManagedBean(new ManagedFocusFeature(this.getFocusableElement(), {\n onTabKeyDown: this.onTabKeyDown.bind(this),\n handleKeyDown: this.handleKeyDown.bind(this)\n }));\n };\n TabbedLayout.getTemplate = function (cssClass) {\n return /* html */ \"
\\n
\\n
\\n
\";\n };\n TabbedLayout.prototype.handleKeyDown = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n switch (e.key) {\n case KeyCode.RIGHT:\n case KeyCode.LEFT:\n if (!this.eHeader.contains(eDocument.activeElement)) {\n return;\n }\n var isRightKey = e.key === KeyCode.RIGHT;\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var currentPosition = this.items.indexOf(this.activeItem);\n var nextPosition = isRightKey !== isRtl ? Math.min(currentPosition + 1, this.items.length - 1) : Math.max(currentPosition - 1, 0);\n if (currentPosition === nextPosition) {\n return;\n }\n e.preventDefault();\n var nextItem = this.items[nextPosition];\n this.showItemWrapper(nextItem);\n nextItem.eHeaderButton.focus();\n break;\n case KeyCode.UP:\n case KeyCode.DOWN:\n e.stopPropagation();\n break;\n }\n };\n TabbedLayout.prototype.onTabKeyDown = function (e) {\n if (e.defaultPrevented) {\n return;\n }\n var _a = this, focusService = _a.focusService, eHeader = _a.eHeader, eBody = _a.eBody, activeItem = _a.activeItem;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeElement = eDocument.activeElement;\n e.preventDefault();\n if (eHeader.contains(activeElement)) {\n // focus is in header, move into body of popup\n focusService.focusInto(eBody, e.shiftKey);\n }\n else {\n // focus is in body, establish if it should return to header\n if (focusService.isFocusUnderManagedComponent(eBody)) {\n // focus was in a managed focus component and has now left, so we can return to the header\n activeItem.eHeaderButton.focus();\n }\n else {\n var nextEl = focusService.findNextFocusableElement(eBody, false, e.shiftKey);\n if (nextEl) {\n // if another element exists in the body that can be focussed, go to that\n nextEl.focus();\n }\n else {\n // otherwise return to the header\n activeItem.eHeaderButton.focus();\n }\n }\n }\n };\n TabbedLayout.prototype.setAfterAttachedParams = function (params) {\n this.afterAttachedParams = params;\n };\n TabbedLayout.prototype.showFirstItem = function () {\n if (this.items.length > 0) {\n this.showItemWrapper(this.items[0]);\n }\n };\n TabbedLayout.prototype.addItem = function (item) {\n var eHeaderButton = document.createElement('span');\n setAriaRole(eHeaderButton, 'tab');\n eHeaderButton.setAttribute('tabIndex', '-1');\n eHeaderButton.appendChild(item.title);\n eHeaderButton.classList.add('ag-tab');\n this.eHeader.appendChild(eHeaderButton);\n setAriaLabel(eHeaderButton, item.titleLabel);\n var wrapper = {\n tabbedItem: item,\n eHeaderButton: eHeaderButton\n };\n this.items.push(wrapper);\n eHeaderButton.addEventListener('click', this.showItemWrapper.bind(this, wrapper));\n };\n TabbedLayout.prototype.showItem = function (tabbedItem) {\n var itemWrapper = this.items.find(function (wrapper) { return wrapper.tabbedItem === tabbedItem; });\n if (itemWrapper) {\n this.showItemWrapper(itemWrapper);\n }\n };\n TabbedLayout.prototype.showItemWrapper = function (wrapper) {\n var _this = this;\n var tabbedItem = wrapper.tabbedItem, eHeaderButton = wrapper.eHeaderButton;\n if (this.params.onItemClicked) {\n this.params.onItemClicked({ item: tabbedItem });\n }\n if (this.activeItem === wrapper) {\n callIfPresent(this.params.onActiveItemClicked);\n return;\n }\n if (this.lastScrollListener) {\n this.lastScrollListener = this.lastScrollListener();\n }\n clearElement(this.eBody);\n tabbedItem.bodyPromise.then(function (body) {\n _this.eBody.appendChild(body);\n var onlyUnmanaged = !_this.focusService.isKeyboardMode();\n _this.focusService.focusInto(_this.eBody, false, onlyUnmanaged);\n if (tabbedItem.afterAttachedCallback) {\n tabbedItem.afterAttachedCallback(_this.afterAttachedParams);\n }\n if (_this.params.keepScrollPosition) {\n var scrollableContainer_1 = (tabbedItem.getScrollableContainer && tabbedItem.getScrollableContainer()) || body;\n _this.lastScrollListener = _this.addManagedListener(scrollableContainer_1, 'scroll', function () {\n _this.tabbedItemScrollMap.set(tabbedItem.name, scrollableContainer_1.scrollTop);\n });\n var scrollPosition_1 = _this.tabbedItemScrollMap.get(tabbedItem.name);\n if (scrollPosition_1 !== undefined) {\n // Safari needs a small timeout or it will fire a scroll event to position 0\n setTimeout(function () {\n scrollableContainer_1.scrollTop = scrollPosition_1;\n }, 0);\n }\n }\n });\n if (this.activeItem) {\n this.activeItem.eHeaderButton.classList.remove('ag-tab-selected');\n }\n eHeaderButton.classList.add('ag-tab-selected');\n this.activeItem = wrapper;\n };\n __decorate$19([\n Autowired('focusService')\n ], TabbedLayout.prototype, \"focusService\", void 0);\n __decorate$19([\n RefSelector('eHeader')\n ], TabbedLayout.prototype, \"eHeader\", void 0);\n __decorate$19([\n RefSelector('eBody')\n ], TabbedLayout.prototype, \"eBody\", void 0);\n __decorate$19([\n PostConstruct\n ], TabbedLayout.prototype, \"postConstruct\", null);\n return TabbedLayout;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * @deprecated\n */\nfunction simpleHttpRequest(params) {\n return new AgPromise(function (resolve) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.open('GET', params.url);\n httpRequest.send();\n httpRequest.onreadystatechange = function () {\n if (httpRequest.readyState === 4 && httpRequest.status === 200) {\n resolve(JSON.parse(httpRequest.responseText));\n }\n };\n });\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1f = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$18 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DEBOUNCE_DELAY = 50;\nvar ResizeObserverService = /** @class */ (function (_super) {\n __extends$1f(ResizeObserverService, _super);\n function ResizeObserverService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.polyfillFunctions = [];\n return _this;\n }\n ResizeObserverService.prototype.observeResize = function (element, callback) {\n var _this = this;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var win = (eDocument.defaultView || window);\n // this gets fired too often and might cause some relayout issues\n // so we add a debounce to the callback here to avoid the flashing effect.\n var debouncedCallback = debounce(callback, DEBOUNCE_DELAY);\n var useBrowserResizeObserver = function () {\n var resizeObserver = new win.ResizeObserver(debouncedCallback);\n resizeObserver.observe(element);\n return function () { return resizeObserver.disconnect(); };\n };\n var usePolyfill = function () {\n // initialise to the current width and height, so first call will have no changes\n var widthLastTime = offsetWidth(element);\n var heightLastTime = offsetHeight(element);\n // when finished, this gets turned to false.\n var running = true;\n var periodicallyCheckWidthAndHeight = function () {\n if (running) {\n var newWidth = offsetWidth(element);\n var newHeight = offsetHeight(element);\n var changed = newWidth !== widthLastTime || newHeight !== heightLastTime;\n if (changed) {\n widthLastTime = newWidth;\n heightLastTime = newHeight;\n callback();\n }\n _this.doNextPolyfillTurn(periodicallyCheckWidthAndHeight);\n }\n };\n periodicallyCheckWidthAndHeight();\n // the callback function we return sets running to false\n return function () { return running = false; };\n };\n var suppressResize = this.gridOptionsWrapper.isSuppressBrowserResizeObserver();\n var resizeObserverExists = !!win.ResizeObserver;\n if (resizeObserverExists && !suppressResize) {\n return useBrowserResizeObserver();\n }\n return usePolyfill();\n };\n ResizeObserverService.prototype.doNextPolyfillTurn = function (func) {\n this.polyfillFunctions.push(func);\n this.schedulePolyfill();\n };\n ResizeObserverService.prototype.schedulePolyfill = function () {\n var _this = this;\n if (this.polyfillScheduled) {\n return;\n }\n var executeAllFuncs = function () {\n var funcs = _this.polyfillFunctions;\n // make sure set scheduled to false and clear clear array\n // before executing the funcs, as the funcs could add more funcs\n _this.polyfillScheduled = false;\n _this.polyfillFunctions = [];\n funcs.forEach(function (f) { return f(); });\n };\n this.polyfillScheduled = true;\n this.getFrameworkOverrides().setTimeout(executeAllFuncs, DEBOUNCE_DELAY);\n };\n ResizeObserverService = __decorate$18([\n Bean('resizeObserverService')\n ], ResizeObserverService);\n return ResizeObserverService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1e = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$17 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AnimationFrameService = /** @class */ (function (_super) {\n __extends$1e(AnimationFrameService, _super);\n function AnimationFrameService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // p1 and p2 are create tasks are to do with row and cell creation.\n // for them we want to execute according to row order, so we use\n // TaskItem so we know what index the item is for.\n _this.createTasksP1 = { list: [], sorted: false }; // eg drawing back-ground of rows\n _this.createTasksP2 = { list: [], sorted: false }; // eg cell renderers, adding hover functionality\n // destroy tasks are to do with row removal. they are done after row creation as the user will need to see new\n // rows first (as blank is scrolled into view), when we remove the old rows (no longer in view) is not as\n // important.\n _this.destroyTasks = [];\n _this.ticking = false;\n // we need to know direction of scroll, to build up rows in the direction of\n // the scroll. eg if user scrolls down, we extend the rows by building down.\n _this.scrollGoingDown = true;\n _this.lastScrollTop = 0;\n _this.taskCount = 0;\n _this.cancelledTasks = new Set();\n return _this;\n }\n AnimationFrameService.prototype.setScrollTop = function (scrollTop) {\n this.scrollGoingDown = scrollTop > this.lastScrollTop;\n this.lastScrollTop = scrollTop;\n };\n AnimationFrameService.prototype.init = function () {\n this.useAnimationFrame = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n };\n AnimationFrameService.prototype.isOn = function () {\n return this.useAnimationFrame;\n };\n // this method is for our AG Grid sanity only - if animation frames are turned off,\n // then no place in the code should be looking to add any work to be done in animation\n // frames. this stops bugs - where some code is asking for a frame to be executed\n // when it should not.\n AnimationFrameService.prototype.verifyAnimationFrameOn = function (methodName) {\n if (this.useAnimationFrame === false) {\n console.warn(\"AG Grid: AnimationFrameService.\" + methodName + \" called but animation frames are off\");\n }\n };\n AnimationFrameService.prototype.createTask = function (task, index, list) {\n this.verifyAnimationFrameOn(list);\n var taskItem = { task: task, index: index, createOrder: ++this.taskCount };\n this.addTaskToList(this[list], taskItem);\n this.schedule();\n };\n AnimationFrameService.prototype.cancelTask = function (task) {\n this.cancelledTasks.add(task);\n };\n AnimationFrameService.prototype.addTaskToList = function (taskList, task) {\n taskList.list.push(task);\n taskList.sorted = false;\n };\n AnimationFrameService.prototype.sortTaskList = function (taskList) {\n if (taskList.sorted) {\n return;\n }\n var sortDirection = this.scrollGoingDown ? 1 : -1;\n // sort first by row index (taking into account scroll direction), then by\n // order of task creation (always ascending, so cells will render left-to-right)\n taskList.list.sort(function (a, b) { return a.index !== b.index ? sortDirection * (b.index - a.index) : b.createOrder - a.createOrder; });\n taskList.sorted = true;\n };\n AnimationFrameService.prototype.addDestroyTask = function (task) {\n this.verifyAnimationFrameOn('createTasksP3');\n this.destroyTasks.push(task);\n this.schedule();\n };\n AnimationFrameService.prototype.executeFrame = function (millis) {\n this.verifyAnimationFrameOn('executeFrame');\n var p1TaskList = this.createTasksP1;\n var p1Tasks = p1TaskList.list;\n var p2TaskList = this.createTasksP2;\n var p2Tasks = p2TaskList.list;\n var destroyTasks = this.destroyTasks;\n var frameStart = new Date().getTime();\n var duration = (new Date().getTime()) - frameStart;\n // 16ms is 60 fps\n var noMaxMillis = millis <= 0;\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n while (noMaxMillis || duration < millis) {\n var gridBodyDidSomething = gridBodyCon.getScrollFeature().executeAnimationFrameScroll();\n if (!gridBodyDidSomething) {\n var task = void 0;\n if (p1Tasks.length) {\n this.sortTaskList(p1TaskList);\n task = p1Tasks.pop().task;\n }\n else if (p2Tasks.length) {\n this.sortTaskList(p2TaskList);\n task = p2Tasks.pop().task;\n }\n else if (destroyTasks.length) {\n task = destroyTasks.pop();\n }\n else {\n this.cancelledTasks.clear();\n break;\n }\n if (!this.cancelledTasks.has(task)) {\n task();\n }\n }\n duration = (new Date().getTime()) - frameStart;\n }\n if (p1Tasks.length || p2Tasks.length || destroyTasks.length) {\n this.requestFrame();\n }\n else {\n this.stopTicking();\n }\n };\n AnimationFrameService.prototype.stopTicking = function () {\n this.ticking = false;\n };\n AnimationFrameService.prototype.flushAllFrames = function () {\n if (!this.useAnimationFrame) {\n return;\n }\n this.executeFrame(-1);\n };\n AnimationFrameService.prototype.schedule = function () {\n if (!this.useAnimationFrame) {\n return;\n }\n if (!this.ticking) {\n this.ticking = true;\n this.requestFrame();\n }\n };\n AnimationFrameService.prototype.requestFrame = function () {\n // check for the existence of requestAnimationFrame, and if\n // it's missing, then we polyfill it with setTimeout()\n var callback = this.executeFrame.bind(this, 60);\n var eDocument = this.gridOptionsWrapper.getDocument();\n var win = (eDocument.defaultView || window);\n if (win.requestAnimationFrame) {\n win.requestAnimationFrame(callback);\n }\n else if (win.webkitRequestAnimationFrame) {\n win.webkitRequestAnimationFrame(callback);\n }\n else {\n win.setTimeout(callback, 0);\n }\n };\n AnimationFrameService.prototype.isQueueEmpty = function () {\n return !this.ticking;\n };\n // a debounce utility used for parts of the app involved with rendering.\n // the advantage over normal debounce is the client can call flushAllFrames()\n // to make sure all rendering is complete. we don't wait any milliseconds,\n // as this is intended to batch calls in one VM turn.\n AnimationFrameService.prototype.debounce = function (func) {\n var _this = this;\n var pending = false;\n return function () {\n if (!_this.isOn()) {\n _this.getFrameworkOverrides().setTimeout(func, 0);\n return;\n }\n if (pending) {\n return;\n }\n pending = true;\n _this.addDestroyTask(function () {\n pending = false;\n func();\n });\n };\n };\n __decorate$17([\n Autowired('ctrlsService')\n ], AnimationFrameService.prototype, \"ctrlsService\", void 0);\n __decorate$17([\n PostConstruct\n ], AnimationFrameService.prototype, \"init\", null);\n AnimationFrameService = __decorate$17([\n Bean('animationFrameService')\n ], AnimationFrameService);\n return AnimationFrameService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1d = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$16 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RESIZE_CONTAINER_STYLE = 'ag-resizer-wrapper';\nvar RESIZE_TEMPLATE = /* html */ \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\";\nvar PositionableFeature = /** @class */ (function (_super) {\n __extends$1d(PositionableFeature, _super);\n function PositionableFeature(element, config) {\n var _this = _super.call(this) || this;\n _this.element = element;\n _this.dragStartPosition = {\n x: 0,\n y: 0\n };\n _this.position = {\n x: 0,\n y: 0\n };\n _this.lastSize = {\n width: -1,\n height: -1\n };\n _this.positioned = false;\n _this.resizersAdded = false;\n _this.resizeListeners = [];\n _this.boundaryEl = null;\n _this.isResizing = false;\n _this.isMoving = false;\n _this.resizable = {};\n _this.movable = false;\n _this.currentResizer = null;\n _this.config = Object.assign({}, { popup: false }, config);\n return _this;\n }\n PositionableFeature.prototype.center = function () {\n var _a = this.offsetParent, clientHeight = _a.clientHeight, clientWidth = _a.clientWidth;\n var x = (clientWidth / 2) - (this.getWidth() / 2);\n var y = (clientHeight / 2) - (this.getHeight() / 2);\n this.offsetElement(x, y);\n };\n PositionableFeature.prototype.initialisePosition = function () {\n var _a = this.config, centered = _a.centered, forcePopupParentAsOffsetParent = _a.forcePopupParentAsOffsetParent, minWidth = _a.minWidth, width = _a.width, minHeight = _a.minHeight, height = _a.height, x = _a.x, y = _a.y;\n if (!this.offsetParent) {\n this.setOffsetParent();\n }\n var computedMinHeight = 0;\n var computedMinWidth = 0;\n // here we don't use the main offset parent but the element's offsetParent\n // in order to calculated the minWidth and minHeight correctly\n var isVisible = !!this.element.offsetParent;\n if (isVisible) {\n var boundaryEl = this.findBoundaryElement();\n var offsetParentComputedStyles = window.getComputedStyle(boundaryEl);\n if (offsetParentComputedStyles.minWidth != null) {\n var paddingWidth = boundaryEl.offsetWidth - this.element.offsetWidth;\n computedMinWidth = parseInt(offsetParentComputedStyles.minWidth, 10) - paddingWidth;\n }\n if (offsetParentComputedStyles.minHeight != null) {\n var paddingHeight = boundaryEl.offsetHeight - this.element.offsetHeight;\n computedMinHeight = parseInt(offsetParentComputedStyles.minHeight, 10) - paddingHeight;\n }\n }\n this.minHeight = minHeight || computedMinHeight;\n this.minWidth = minWidth || computedMinWidth;\n if (width) {\n this.setWidth(width);\n }\n if (height) {\n this.setHeight(height);\n }\n if (!width || !height) {\n this.refreshSize();\n }\n if (centered) {\n this.center();\n }\n else if (x || y) {\n this.offsetElement(x, y);\n }\n else if (isVisible && forcePopupParentAsOffsetParent && this.boundaryEl) {\n var top_1 = parseFloat(this.boundaryEl.style.top);\n var left = parseFloat(this.boundaryEl.style.left);\n this.offsetElement(isNaN(left) ? 0 : left, isNaN(top_1) ? 0 : top_1);\n }\n this.positioned = !!this.offsetParent;\n };\n PositionableFeature.prototype.isPositioned = function () {\n return this.positioned;\n };\n PositionableFeature.prototype.getPosition = function () {\n return this.position;\n };\n PositionableFeature.prototype.setMovable = function (movable, moveElement) {\n if (!this.config.popup || movable === this.movable) {\n return;\n }\n this.movable = movable;\n var params = this.moveElementDragListener || {\n eElement: moveElement,\n onDragStart: this.onMoveStart.bind(this),\n onDragging: this.onMove.bind(this),\n onDragStop: this.onMoveEnd.bind(this)\n };\n if (movable) {\n this.dragService.addDragSource(params);\n this.moveElementDragListener = params;\n }\n else {\n this.dragService.removeDragSource(params);\n this.moveElementDragListener = undefined;\n }\n };\n PositionableFeature.prototype.setResizable = function (resizable) {\n var _this = this;\n this.clearResizeListeners();\n if (resizable) {\n this.addResizers();\n }\n else {\n this.removeResizers();\n }\n if (typeof resizable === 'boolean') {\n if (resizable === false) {\n return;\n }\n resizable = {\n topLeft: resizable,\n top: resizable,\n topRight: resizable,\n right: resizable,\n bottomRight: resizable,\n bottom: resizable,\n bottomLeft: resizable,\n left: resizable\n };\n }\n Object.keys(resizable).forEach(function (side) {\n var resizableStructure = resizable;\n var val = !!resizableStructure[side];\n var resizerEl = _this.getResizerElement(side);\n var params = {\n dragStartPixels: 0,\n eElement: resizerEl,\n onDragStart: function (e) { return _this.onResizeStart(e, side); },\n onDragging: _this.onResize.bind(_this),\n onDragStop: function (e) { return _this.onResizeEnd(e, side); },\n };\n if (!!_this.resizable[side] !== val || (!_this.isAlive() && !val)) {\n if (val) {\n _this.dragService.addDragSource(params);\n _this.resizeListeners.push(params);\n resizerEl.style.pointerEvents = 'all';\n }\n else {\n resizerEl.style.pointerEvents = 'none';\n }\n _this.resizable[side] = val;\n }\n });\n };\n PositionableFeature.prototype.removeSizeFromEl = function () {\n this.element.style.removeProperty('height');\n this.element.style.removeProperty('width');\n this.element.style.removeProperty('flex');\n };\n PositionableFeature.prototype.restoreLastSize = function () {\n this.element.style.flex = '0 0 auto';\n var _a = this.lastSize, height = _a.height, width = _a.width;\n if (width !== -1) {\n this.element.style.width = width + \"px\";\n }\n if (height !== -1) {\n this.element.style.height = height + \"px\";\n }\n };\n PositionableFeature.prototype.getHeight = function () {\n return this.element.offsetHeight;\n };\n PositionableFeature.prototype.setHeight = function (height) {\n var popup = this.config.popup;\n var eGui = this.element;\n var isPercent = false;\n if (typeof height === 'string' && height.indexOf('%') !== -1) {\n setFixedHeight(eGui, height);\n height = getAbsoluteHeight(eGui);\n isPercent = true;\n }\n else if (this.positioned) {\n var elRect = this.element.getBoundingClientRect();\n var parentRect = this.offsetParent.getBoundingClientRect();\n height = Math.max(this.minHeight, height);\n var clientHeight = this.offsetParent.clientHeight;\n var yPosition = popup ? this.position.y : elRect.top;\n var parentTop = popup ? 0 : parentRect.top;\n if (clientHeight && (height + yPosition > clientHeight + parentTop)) {\n height = clientHeight - yPosition;\n }\n }\n if (this.getHeight() === height) {\n return;\n }\n if (!isPercent) {\n if (popup) {\n setFixedHeight(eGui, height);\n }\n else {\n eGui.style.height = height + \"px\";\n eGui.style.flex = '0 0 auto';\n this.lastSize.height = typeof height === 'number' ? height : parseFloat(height);\n }\n }\n else {\n eGui.style.maxHeight = 'unset';\n eGui.style.minHeight = 'unset';\n }\n };\n PositionableFeature.prototype.getWidth = function () {\n return this.element.offsetWidth;\n };\n PositionableFeature.prototype.setWidth = function (width) {\n var eGui = this.element;\n var popup = this.config.popup;\n var isPercent = false;\n if (typeof width === 'string' && width.indexOf('%') !== -1) {\n setFixedWidth(eGui, width);\n width = getAbsoluteWidth(eGui);\n isPercent = true;\n }\n else if (this.positioned) {\n width = Math.max(this.minWidth, width);\n var clientWidth = this.offsetParent.clientWidth;\n var xPosition = popup ? this.position.x : this.element.getBoundingClientRect().left;\n if (clientWidth && (width + xPosition > clientWidth)) {\n width = clientWidth - xPosition;\n }\n }\n if (this.getWidth() === width) {\n return;\n }\n if (!isPercent) {\n if (this.config.popup) {\n setFixedWidth(eGui, width);\n }\n else {\n eGui.style.width = width + \"px\";\n eGui.style.flex = ' unset';\n this.lastSize.width = typeof width === 'number' ? width : parseFloat(width);\n }\n }\n else {\n eGui.style.maxWidth = 'unset';\n eGui.style.minWidth = 'unset';\n }\n };\n PositionableFeature.prototype.offsetElement = function (x, y) {\n if (x === void 0) { x = 0; }\n if (y === void 0) { y = 0; }\n var ePopup = this.config.forcePopupParentAsOffsetParent ? this.boundaryEl : this.element;\n this.popupService.positionPopup({\n ePopup: ePopup,\n x: x,\n y: y,\n keepWithinBounds: true,\n skipObserver: this.movable || this.isResizable()\n });\n this.setPosition(parseFloat(ePopup.style.left), parseFloat(ePopup.style.top));\n };\n PositionableFeature.prototype.setPosition = function (x, y) {\n this.position.x = x;\n this.position.y = y;\n };\n PositionableFeature.prototype.updateDragStartPosition = function (x, y) {\n this.dragStartPosition = { x: x, y: y };\n };\n PositionableFeature.prototype.calculateMouseMovement = function (params) {\n var e = params.e, isLeft = params.isLeft, isTop = params.isTop, anywhereWithin = params.anywhereWithin, topBuffer = params.topBuffer;\n var xDiff = e.clientX - this.dragStartPosition.x;\n var yDiff = e.clientY - this.dragStartPosition.y;\n var movementX = this.shouldSkipX(e, !!isLeft, !!anywhereWithin, xDiff) ? 0 : xDiff;\n var movementY = this.shouldSkipY(e, !!isTop, topBuffer, yDiff) ? 0 : yDiff;\n return { movementX: movementX, movementY: movementY };\n };\n PositionableFeature.prototype.shouldSkipX = function (e, isLeft, anywhereWithin, diff) {\n var elRect = this.element.getBoundingClientRect();\n var parentRect = this.offsetParent.getBoundingClientRect();\n var boundaryElRect = this.boundaryEl.getBoundingClientRect();\n var xPosition = this.config.popup ? this.position.x : elRect.left;\n // skip if cursor is outside of popupParent horizontally\n var skipX = ((xPosition <= 0 && parentRect.left >= e.clientX) ||\n (parentRect.right <= e.clientX && parentRect.right <= boundaryElRect.right));\n if (skipX) {\n return true;\n }\n if (isLeft) {\n skipX = (\n // skip if we are moving to the left and the cursor\n // is positioned to the right of the left side anchor\n (diff < 0 && e.clientX > xPosition + parentRect.left) ||\n // skip if we are moving to the right and the cursor\n // is positioned to the left of the dialog\n (diff > 0 && e.clientX < xPosition + parentRect.left));\n }\n else {\n if (anywhereWithin) {\n // if anywhereWithin is true, we allow to move\n // as long as the cursor is within the dialog\n skipX = ((diff < 0 && e.clientX > boundaryElRect.right) ||\n (diff > 0 && e.clientX < xPosition + parentRect.left));\n }\n else {\n skipX = (\n // if the movement is bound to the right side of the dialog\n // we skip if we are moving to the left and the cursor\n // is to the right of the dialog\n (diff < 0 && e.clientX > boundaryElRect.right) ||\n // or skip if we are moving to the right and the cursor\n // is to the left of the right side anchor\n (diff > 0 && e.clientX < boundaryElRect.right));\n }\n }\n return skipX;\n };\n PositionableFeature.prototype.shouldSkipY = function (e, isTop, topBuffer, diff) {\n if (topBuffer === void 0) { topBuffer = 0; }\n var elRect = this.element.getBoundingClientRect();\n var parentRect = this.offsetParent.getBoundingClientRect();\n var boundaryElRect = this.boundaryEl.getBoundingClientRect();\n var yPosition = this.config.popup ? this.position.y : elRect.top;\n // skip if cursor is outside of popupParent vertically\n var skipY = ((yPosition <= 0 && parentRect.top >= e.clientY) ||\n (parentRect.bottom <= e.clientY && parentRect.bottom <= boundaryElRect.bottom));\n if (skipY) {\n return true;\n }\n if (isTop) {\n skipY = (\n // skip if we are moving to towards top and the cursor is\n // below the top anchor + topBuffer\n // note: topBuffer is used when moving the dialog using the title bar\n (diff < 0 && e.clientY > yPosition + parentRect.top + topBuffer) ||\n // skip if we are moving to the bottom and the cursor is\n // above the top anchor\n (diff > 0 && e.clientY < yPosition + parentRect.top));\n }\n else {\n skipY = (\n // skip if we are moving towards the top and the cursor\n // is below the bottom anchor\n (diff < 0 && e.clientY > boundaryElRect.bottom) ||\n // skip if we are moving towards the bottom and the cursor\n // is above the bottom anchor\n (diff > 0 && e.clientY < boundaryElRect.bottom));\n }\n return skipY;\n };\n PositionableFeature.prototype.createResizeMap = function () {\n var eGui = this.element;\n this.resizerMap = {\n topLeft: { element: eGui.querySelector('[ref=eTopLeftResizer]') },\n top: { element: eGui.querySelector('[ref=eTopResizer]') },\n topRight: { element: eGui.querySelector('[ref=eTopRightResizer]') },\n right: { element: eGui.querySelector('[ref=eRightResizer]') },\n bottomRight: { element: eGui.querySelector('[ref=eBottomRightResizer]') },\n bottom: { element: eGui.querySelector('[ref=eBottomResizer]') },\n bottomLeft: { element: eGui.querySelector('[ref=eBottomLeftResizer]') },\n left: { element: eGui.querySelector('[ref=eLeftResizer]') }\n };\n };\n PositionableFeature.prototype.addResizers = function () {\n if (this.resizersAdded) {\n return;\n }\n var eGui = this.element;\n if (!eGui) {\n return;\n }\n var parser = new DOMParser();\n var resizers = parser.parseFromString(RESIZE_TEMPLATE, 'text/html').body;\n eGui.appendChild(resizers.firstChild);\n this.createResizeMap();\n this.resizersAdded = true;\n };\n PositionableFeature.prototype.removeResizers = function () {\n this.resizerMap = undefined;\n var resizerEl = this.element.querySelector(\".\" + RESIZE_CONTAINER_STYLE);\n if (resizerEl) {\n this.element.removeChild(resizerEl);\n }\n this.resizersAdded = false;\n };\n PositionableFeature.prototype.getResizerElement = function (side) {\n return this.resizerMap[side].element;\n };\n PositionableFeature.prototype.onResizeStart = function (e, side) {\n this.boundaryEl = this.findBoundaryElement();\n if (!this.positioned) {\n this.initialisePosition();\n }\n this.currentResizer = {\n isTop: !!side.match(/top/i),\n isRight: !!side.match(/right/i),\n isBottom: !!side.match(/bottom/i),\n isLeft: !!side.match(/left/i),\n };\n this.element.classList.add('ag-resizing');\n this.resizerMap[side].element.classList.add('ag-active');\n var _a = this.config, popup = _a.popup, forcePopupParentAsOffsetParent = _a.forcePopupParentAsOffsetParent;\n if (!popup && !forcePopupParentAsOffsetParent) {\n this.applySizeToSiblings(this.currentResizer.isBottom || this.currentResizer.isTop);\n }\n this.isResizing = true;\n this.updateDragStartPosition(e.clientX, e.clientY);\n };\n PositionableFeature.prototype.getSiblings = function () {\n var element = this.element;\n var parent = element.parentElement;\n if (!parent) {\n return null;\n }\n return Array.prototype.slice.call(parent.children).filter(function (el) { return !el.classList.contains('ag-hidden'); });\n };\n PositionableFeature.prototype.getMinSizeOfSiblings = function () {\n var siblings = this.getSiblings() || [];\n var height = 0;\n var width = 0;\n for (var i = 0; i < siblings.length; i++) {\n var currentEl = siblings[i];\n var isFlex = !!currentEl.style.flex && currentEl.style.flex !== '0 0 auto';\n if (currentEl === this.element) {\n continue;\n }\n var nextHeight = this.minHeight || 0;\n var nextWidth = this.minWidth || 0;\n if (isFlex) {\n var computedStyle = window.getComputedStyle(currentEl);\n if (computedStyle.minHeight) {\n nextHeight = parseInt(computedStyle.minHeight, 10);\n }\n if (computedStyle.minWidth) {\n nextWidth = parseInt(computedStyle.minWidth, 10);\n }\n }\n else {\n nextHeight = currentEl.offsetHeight;\n nextWidth = currentEl.offsetWidth;\n }\n height += nextHeight;\n width += nextWidth;\n }\n return { height: height, width: width };\n };\n PositionableFeature.prototype.applySizeToSiblings = function (vertical) {\n var containerToFlex = null;\n var siblings = this.getSiblings();\n if (!siblings) {\n return;\n }\n for (var i = 0; i < siblings.length; i++) {\n var el = siblings[i];\n if (el === containerToFlex) {\n continue;\n }\n if (vertical) {\n el.style.height = el.offsetHeight + \"px\";\n }\n else {\n el.style.width = el.offsetWidth + \"px\";\n }\n el.style.flex = '0 0 auto';\n if (el === this.element) {\n containerToFlex = siblings[i + 1];\n }\n }\n if (containerToFlex) {\n containerToFlex.style.removeProperty('height');\n containerToFlex.style.removeProperty('min-height');\n containerToFlex.style.removeProperty('max-height');\n containerToFlex.style.flex = '1 1 auto';\n }\n };\n PositionableFeature.prototype.isResizable = function () {\n return Object.values(this.resizable).some(function (value) { return value; });\n };\n PositionableFeature.prototype.onResize = function (e) {\n if (!this.isResizing || !this.currentResizer) {\n return;\n }\n var _a = this.config, popup = _a.popup, forcePopupParentAsOffsetParent = _a.forcePopupParentAsOffsetParent;\n var _b = this.currentResizer, isTop = _b.isTop, isRight = _b.isRight, isBottom = _b.isBottom, isLeft = _b.isLeft;\n var isHorizontal = isRight || isLeft;\n var isVertical = isBottom || isTop;\n var _c = this.calculateMouseMovement({ e: e, isLeft: isLeft, isTop: isTop }), movementX = _c.movementX, movementY = _c.movementY;\n var xPosition = this.position.x;\n var yPosition = this.position.y;\n var offsetLeft = 0;\n var offsetTop = 0;\n if (isHorizontal && movementX) {\n var direction = isLeft ? -1 : 1;\n var oldWidth = this.getWidth();\n var newWidth = oldWidth + (movementX * direction);\n var skipWidth = false;\n if (isLeft) {\n offsetLeft = oldWidth - newWidth;\n if (xPosition + offsetLeft <= 0 || newWidth <= this.minWidth) {\n skipWidth = true;\n offsetLeft = 0;\n }\n }\n if (!skipWidth) {\n this.setWidth(newWidth);\n }\n }\n if (isVertical && movementY) {\n var direction = isTop ? -1 : 1;\n var oldHeight = this.getHeight();\n var newHeight = oldHeight + (movementY * direction);\n var skipHeight = false;\n if (isTop) {\n offsetTop = oldHeight - newHeight;\n if (yPosition + offsetTop <= 0 || newHeight <= this.minHeight) {\n skipHeight = true;\n offsetTop = 0;\n }\n }\n else {\n // do not let the size of all siblings be higher than the parent container\n if (!this.config.popup &&\n !this.config.forcePopupParentAsOffsetParent &&\n oldHeight < newHeight &&\n (this.getMinSizeOfSiblings().height + newHeight) > this.element.parentElement.offsetHeight) {\n skipHeight = true;\n }\n }\n if (!skipHeight) {\n this.setHeight(newHeight);\n }\n }\n this.updateDragStartPosition(e.clientX, e.clientY);\n if ((popup || forcePopupParentAsOffsetParent) && offsetLeft || offsetTop) {\n this.offsetElement(xPosition + offsetLeft, yPosition + offsetTop);\n }\n };\n PositionableFeature.prototype.onResizeEnd = function (e, side) {\n this.isResizing = false;\n this.currentResizer = null;\n this.boundaryEl = null;\n var params = {\n type: 'resize',\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi()\n };\n this.element.classList.remove('ag-resizing');\n this.resizerMap[side].element.classList.remove('ag-active');\n this.dispatchEvent(params);\n };\n PositionableFeature.prototype.refreshSize = function () {\n var eGui = this.element;\n if (this.config.popup) {\n if (!this.config.width) {\n this.setWidth(eGui.offsetWidth);\n }\n if (!this.config.height) {\n this.setHeight(eGui.offsetHeight);\n }\n }\n };\n PositionableFeature.prototype.onMoveStart = function (e) {\n this.boundaryEl = this.findBoundaryElement();\n if (!this.positioned) {\n this.initialisePosition();\n }\n this.isMoving = true;\n this.element.classList.add('ag-moving');\n this.updateDragStartPosition(e.clientX, e.clientY);\n };\n PositionableFeature.prototype.onMove = function (e) {\n if (!this.isMoving) {\n return;\n }\n var _a = this.position, x = _a.x, y = _a.y;\n var topBuffer;\n if (this.config.calculateTopBuffer) {\n topBuffer = this.config.calculateTopBuffer();\n }\n var _b = this.calculateMouseMovement({\n e: e,\n isTop: true,\n anywhereWithin: true,\n topBuffer: topBuffer\n }), movementX = _b.movementX, movementY = _b.movementY;\n this.offsetElement(x + movementX, y + movementY);\n this.updateDragStartPosition(e.clientX, e.clientY);\n };\n PositionableFeature.prototype.onMoveEnd = function () {\n this.isMoving = false;\n this.boundaryEl = null;\n this.element.classList.remove('ag-moving');\n };\n PositionableFeature.prototype.setOffsetParent = function () {\n if (this.config.forcePopupParentAsOffsetParent) {\n this.offsetParent = this.popupService.getPopupParent();\n }\n else {\n this.offsetParent = this.element.offsetParent;\n }\n };\n PositionableFeature.prototype.findBoundaryElement = function () {\n var el = this.element;\n while (el) {\n if (window.getComputedStyle(el).position !== 'static') {\n return el;\n }\n el = el.parentElement;\n }\n return this.element;\n };\n PositionableFeature.prototype.clearResizeListeners = function () {\n while (this.resizeListeners.length) {\n var params = this.resizeListeners.pop();\n this.dragService.removeDragSource(params);\n }\n };\n PositionableFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n if (this.moveElementDragListener) {\n this.dragService.removeDragSource(this.moveElementDragListener);\n }\n this.clearResizeListeners();\n this.removeResizers();\n };\n __decorate$16([\n Autowired('popupService')\n ], PositionableFeature.prototype, \"popupService\", void 0);\n __decorate$16([\n Autowired('dragService')\n ], PositionableFeature.prototype, \"dragService\", void 0);\n return PositionableFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1c = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$15 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AutoWidthCalculator = /** @class */ (function (_super) {\n __extends$1c(AutoWidthCalculator, _super);\n function AutoWidthCalculator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AutoWidthCalculator.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.centerRowContainerCtrl = p.centerRowContainerCtrl;\n });\n };\n // this is the trick: we create a dummy container and clone all the cells\n // into the dummy, then check the dummy's width. then destroy the dummy\n // as we don't need it any more.\n // drawback: only the cells visible on the screen are considered\n AutoWidthCalculator.prototype.getPreferredWidthForColumn = function (column, skipHeader) {\n var eHeaderCell = this.getHeaderCellForColumn(column);\n // cell isn't visible\n if (!eHeaderCell) {\n return -1;\n }\n var elements = this.rowRenderer.getAllCellsForColumn(column);\n if (!skipHeader) {\n // we only consider the lowest level cell, not the group cell. in 99% of the time, this\n // will be enough. if we consider groups, then it gets too complicated for what it's worth,\n // as the groups can span columns and this class only considers one column at a time.\n elements.push(eHeaderCell);\n }\n return this.addElementsToContainerAndGetWidth(elements);\n };\n AutoWidthCalculator.prototype.getPreferredWidthForColumnGroup = function (columnGroup) {\n var eHeaderCell = this.getHeaderCellForColumn(columnGroup);\n if (!eHeaderCell) {\n return -1;\n }\n return this.addElementsToContainerAndGetWidth([eHeaderCell]);\n };\n AutoWidthCalculator.prototype.addElementsToContainerAndGetWidth = function (elements) {\n var _this = this;\n // this element has to be a form, otherwise form elements within a cell\n // will be validated while being cloned. This can cause issues such as \n // radio buttons being reset and losing their values.\n var eDummyContainer = document.createElement('form');\n // position fixed, so it isn't restricted to the boundaries of the parent\n eDummyContainer.style.position = 'fixed';\n // we put the dummy into the body container, so it will inherit all the\n // css styles that the real cells are inheriting\n var eBodyContainer = this.centerRowContainerCtrl.getContainerElement();\n eBodyContainer.appendChild(eDummyContainer);\n elements.forEach(function (el) { return _this.cloneItemIntoDummy(el, eDummyContainer); });\n // at this point, all the clones are lined up vertically with natural widths. the dummy\n // container will have a width wide enough just to fit the largest.\n var dummyContainerWidth = eDummyContainer.offsetWidth;\n // we are finished with the dummy container, so get rid of it\n eBodyContainer.removeChild(eDummyContainer);\n // we add padding as I found sometimes the gui still put '...' after some of the texts. so the\n // user can configure the grid to add a few more pixels after the calculated width\n var autoSizePadding = this.gridOptionsWrapper.getAutoSizePadding();\n return dummyContainerWidth + autoSizePadding;\n };\n AutoWidthCalculator.prototype.getHeaderCellForColumn = function (column) {\n /* tslint:enable */\n var element = null;\n this.ctrlsService.getHeaderRowContainerCtrls().forEach(function (container) {\n var res = container.getHtmlElementForColumnHeader(column);\n if (res != null) {\n element = res;\n }\n });\n return element;\n };\n AutoWidthCalculator.prototype.cloneItemIntoDummy = function (eCell, eDummyContainer) {\n // make a deep clone of the cell\n var eCellClone = eCell.cloneNode(true);\n // the original has a fixed width, we remove this to allow the natural width based on content\n eCellClone.style.width = '';\n // the original has position = absolute, we need to remove this so it's positioned normally\n eCellClone.style.position = 'static';\n eCellClone.style.left = '';\n // we put the cell into a containing div, as otherwise the cells would just line up\n // on the same line, standard flow layout, by putting them into divs, they are laid\n // out one per line\n var eCloneParent = document.createElement('div');\n var eCloneParentClassList = eCloneParent.classList;\n var isHeader = ['ag-header-cell', 'ag-header-group-cell'].some(function (cls) { return eCellClone.classList.contains(cls); });\n if (isHeader) {\n eCloneParentClassList.add('ag-header', 'ag-header-row');\n eCloneParent.style.position = 'static';\n }\n else {\n eCloneParentClassList.add('ag-row');\n }\n // find parent using classes (headers have ag-header-cell, rows have ag-row), and copy classes from it.\n // if we didn't do this, things like ag-row-level-2 would be missing if present, which sets indents\n // onto group items.\n var pointer = eCell.parentElement;\n while (pointer) {\n var isRow = ['ag-header-row', 'ag-row'].some(function (cls) { return pointer.classList.contains(cls); });\n if (isRow) {\n for (var i = 0; i < pointer.classList.length; i++) {\n var item = pointer.classList[i];\n // we skip ag-row-position-absolute, as this has structural CSS applied that stops the\n // element from fitting into it's parent, and we need the element to stretch the parent\n // as we are measuring the parents width\n if (item != 'ag-row-position-absolute') {\n eCloneParentClassList.add(item);\n }\n }\n break;\n }\n pointer = pointer.parentElement;\n }\n // the twig on the branch, the branch on the tree, the tree in the hole,\n // the hole in the bog, the bog in the clone, the clone in the parent,\n // the parent in the dummy, and the dummy down in the vall-e-ooo, OOOOOOOOO! Oh row the rattling bog....\n eCloneParent.appendChild(eCellClone);\n eDummyContainer.appendChild(eCloneParent);\n };\n __decorate$15([\n Autowired('rowRenderer')\n ], AutoWidthCalculator.prototype, \"rowRenderer\", void 0);\n __decorate$15([\n Autowired('ctrlsService')\n ], AutoWidthCalculator.prototype, \"ctrlsService\", void 0);\n __decorate$15([\n Autowired('rowCssClassCalculator')\n ], AutoWidthCalculator.prototype, \"rowCssClassCalculator\", void 0);\n __decorate$15([\n PostConstruct\n ], AutoWidthCalculator.prototype, \"postConstruct\", null);\n AutoWidthCalculator = __decorate$15([\n Bean('autoWidthCalculator')\n ], AutoWidthCalculator);\n return AutoWidthCalculator;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1b = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$14 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __values$1 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read$b = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$9 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$b(arguments[i]));\n return ar;\n};\nvar StickyRowFeature = /** @class */ (function (_super) {\n __extends$1b(StickyRowFeature, _super);\n function StickyRowFeature(createRowCon, destroyRowCtrls) {\n var _this = _super.call(this) || this;\n _this.createRowCon = createRowCon;\n _this.destroyRowCtrls = destroyRowCtrls;\n _this.stickyRowCtrls = [];\n _this.containerHeight = 0;\n return _this;\n }\n StickyRowFeature.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (params) {\n _this.gridBodyCtrl = params.gridBodyCtrl;\n });\n };\n StickyRowFeature.prototype.getStickyRowCtrls = function () {\n return this.stickyRowCtrls;\n };\n StickyRowFeature.prototype.checkStickyRows = function () {\n var height = 0;\n if (!this.gridOptionsWrapper.isGroupRowsSticky()) {\n this.refreshNodesAndContainerHeight([], height);\n return;\n }\n var stickyRows = [];\n var firstPixel = this.rowRenderer.getFirstVisibleVerticalPixel();\n var addStickyRow = function (stickyRow) {\n stickyRows.push(stickyRow);\n var lastAncester = stickyRow;\n while (lastAncester.expanded) {\n lastAncester = last(lastAncester.childrenAfterSort);\n }\n var lastChildBottom = lastAncester.rowTop + lastAncester.rowHeight;\n var stickRowBottom = firstPixel + height + stickyRow.rowHeight;\n if (lastChildBottom < stickRowBottom) {\n stickyRow.stickyRowTop = height + (lastChildBottom - stickRowBottom);\n }\n else {\n stickyRow.stickyRowTop = height;\n }\n height = 0;\n stickyRows.forEach(function (rowNode) {\n var thisRowLastPx = rowNode.stickyRowTop + rowNode.rowHeight;\n if (height < thisRowLastPx) {\n height = thisRowLastPx;\n }\n });\n };\n while (true) {\n var firstPixelAfterStickyRows = firstPixel + height;\n var firstIndex = this.rowModel.getRowIndexAtPixel(firstPixelAfterStickyRows);\n var firstRow = this.rowModel.getRow(firstIndex);\n if (firstRow == null) {\n break;\n }\n // only happens when pivoting, and we are showing root node\n if (firstRow.level < 0) {\n break;\n }\n var parents = [];\n var p = firstRow.parent;\n while (p.level >= 0) {\n parents.push(p);\n p = p.parent;\n }\n var firstMissingParent = parents.reverse().find(function (parent) { return stickyRows.indexOf(parent) < 0 && parent.displayed; });\n if (firstMissingParent) {\n addStickyRow(firstMissingParent);\n continue;\n }\n // if first row is an open group, and practically shown, it needs\n // to be stuck\n if (firstRow.group && firstRow.expanded && !firstRow.footer && firstRow.rowTop < firstPixelAfterStickyRows) {\n addStickyRow(firstRow);\n continue;\n }\n break;\n }\n this.refreshNodesAndContainerHeight(stickyRows, height);\n };\n StickyRowFeature.prototype.refreshNodesAndContainerHeight = function (allStickyNodes, height) {\n var e_1, _a, _b;\n var _this = this;\n var removedCtrls = this.stickyRowCtrls.filter(function (ctrl) { return allStickyNodes.indexOf(ctrl.getRowNode()) === -1; });\n var addedNodes = allStickyNodes.filter(function (rowNode) { return _this.stickyRowCtrls.findIndex(function (ctrl) { return ctrl.getRowNode() === rowNode; }) === -1; });\n var ctrlsToDestroy = {};\n removedCtrls.forEach(function (removedCtrl) {\n ctrlsToDestroy[removedCtrl.getRowNode().id] = removedCtrl;\n _this.stickyRowCtrls = _this.stickyRowCtrls.filter(function (ctrl) { return ctrl !== removedCtrl; });\n });\n try {\n for (var _c = __values$1(Object.values(ctrlsToDestroy)), _d = _c.next(); !_d.done; _d = _c.next()) {\n var ctrl = _d.value;\n ctrl.getRowNode().sticky = false;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n this.destroyRowCtrls(ctrlsToDestroy, false);\n var newCtrls = addedNodes.map(function (rowNode) {\n rowNode.sticky = true;\n return _this.createRowCon(rowNode, false, false);\n });\n (_b = this.stickyRowCtrls).push.apply(_b, __spread$9(newCtrls));\n this.stickyRowCtrls.forEach(function (ctrl) { return ctrl.setRowTop(ctrl.getRowNode().stickyRowTop); });\n this.stickyRowCtrls.sort(function (a, b) { return b.getRowNode().rowIndex - a.getRowNode().rowIndex; });\n if (this.containerHeight !== height) {\n this.containerHeight = height;\n this.gridBodyCtrl.setStickyTopHeight(height);\n }\n };\n __decorate$14([\n Autowired(\"rowModel\")\n ], StickyRowFeature.prototype, \"rowModel\", void 0);\n __decorate$14([\n Autowired(\"rowRenderer\")\n ], StickyRowFeature.prototype, \"rowRenderer\", void 0);\n __decorate$14([\n Autowired(\"ctrlsService\")\n ], StickyRowFeature.prototype, \"ctrlsService\", void 0);\n __decorate$14([\n PostConstruct\n ], StickyRowFeature.prototype, \"postConstruct\", null);\n return StickyRowFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1a = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$13 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$a = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$8 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$a(arguments[i]));\n return ar;\n};\nvar RowRenderer = /** @class */ (function (_super) {\n __extends$1a(RowRenderer, _super);\n function RowRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.destroyFuncsForColumnListeners = [];\n // map of row ids to row objects. keeps track of which elements\n // are rendered for which rows in the dom.\n _this.rowCtrlsByRowIndex = {};\n _this.zombieRowCtrls = {};\n _this.allRowCtrls = [];\n _this.topRowCtrls = [];\n _this.bottomRowCtrls = [];\n // we only allow one refresh at a time, otherwise the internal memory structure here\n // will get messed up. this can happen if the user has a cellRenderer, and inside the\n // renderer they call an API method that results in another pass of the refresh,\n // then it will be trying to draw rows in the middle of a refresh.\n _this.refreshInProgress = false;\n _this.dataFirstRenderedFired = false;\n return _this;\n }\n RowRenderer.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCtrl = _this.ctrlsService.getGridBodyCtrl();\n _this.initialise();\n });\n };\n RowRenderer.prototype.initialise = function () {\n this.addManagedListener(this.eventService, Events.EVENT_PAGINATION_CHANGED, this.onPageLoaded.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_PINNED_ROW_DATA_CHANGED, this.onPinnedRowDataChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL, this.redrawAfterScroll.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_BODY_HEIGHT_CHANGED, this.redrawAfterScroll.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.onDomLayoutChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_ROW_CLASS, this.redrawRows.bind(this));\n if (this.gridOptionsWrapper.isGroupRowsSticky()) {\n if (this.rowModel.getType() != Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n doOnce(function () { return console.warn('AG Grid: The feature Sticky Row Groups only works with the Client Side Row Model'); }, 'rowRenderer.stickyWorksWithCsrmOnly');\n }\n else if (this.gridOptionsWrapper.isTreeData()) {\n doOnce(function () { return console.warn('AG Grid: The feature Sticky Row Groups does not work with Tree Data.'); }, 'rowRenderer.stickyDoesNotWorkWithTreeData');\n }\n else {\n this.stickyRowFeature = this.createManagedBean(new StickyRowFeature(this.createRowCon.bind(this), this.destroyRowCtrls.bind(this)));\n }\n }\n this.registerCellEventListeners();\n this.initialiseCache();\n this.printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n this.embedFullWidthRows = this.printLayout || this.gridOptionsWrapper.isEmbedFullWidthRows();\n this.redrawAfterModelUpdate();\n };\n RowRenderer.prototype.initialiseCache = function () {\n if (this.gridOptionsWrapper.isKeepDetailRows()) {\n var countProp = this.gridOptionsWrapper.getKeepDetailRowsCount();\n var count = countProp != null ? countProp : 3;\n this.cachedRowCtrls = new RowCtrlCache(count);\n }\n };\n RowRenderer.prototype.getRowCtrls = function () {\n return this.allRowCtrls;\n };\n RowRenderer.prototype.getStickyTopRowCtrls = function () {\n if (!this.stickyRowFeature) {\n return [];\n }\n return this.stickyRowFeature.getStickyRowCtrls();\n };\n RowRenderer.prototype.updateAllRowCtrls = function () {\n var liveList = getAllValuesInObject(this.rowCtrlsByRowIndex);\n if (this.gridOptionsWrapper.isEnsureDomOrder()) {\n liveList.sort(function (a, b) { return a.getRowNode().rowIndex - b.getRowNode.rowIndex; });\n }\n var zombieList = getAllValuesInObject(this.zombieRowCtrls);\n var cachedList = this.cachedRowCtrls ? this.cachedRowCtrls.getEntries() : [];\n this.allRowCtrls = __spread$8(liveList, zombieList, cachedList);\n };\n // in a clean design, each cell would register for each of these events. however when scrolling, all the cells\n // registering and de-registering for events is a performance bottleneck. so we register here once and inform\n // all active cells.\n RowRenderer.prototype.registerCellEventListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_CELL_FOCUSED, function (event) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onCellFocused(event); });\n _this.getFullWidthRowCtrls().forEach(function (rowCtrl) {\n rowCtrl.onFullWidthRowFocused(event);\n });\n });\n this.addManagedListener(this.eventService, Events.EVENT_FLASH_CELLS, function (event) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onFlashCells(event); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HOVER_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onColumnHover(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onDisplayedColumnsChanged(); });\n });\n // only for printLayout - because we are rendering all the cells in the same row, regardless of pinned state,\n // then changing the width of the containers will impact left position. eg the center cols all have their\n // left position adjusted by the width of the left pinned column, so if the pinned left column width changes,\n // all the center cols need to be shifted to accommodate this. when in normal layout, the pinned cols are\n // in different containers so doesn't impact.\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, function () {\n if (_this.printLayout) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onLeftChanged(); });\n }\n });\n var rangeSelectionEnabled = this.gridOptionsWrapper.isEnableRangeSelection();\n if (rangeSelectionEnabled) {\n this.addManagedListener(this.eventService, Events.EVENT_RANGE_SELECTION_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onRangeSelectionChanged(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_MOVED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.updateRangeBordersIfRangeCount(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PINNED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.updateRangeBordersIfRangeCount(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VISIBLE, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.updateRangeBordersIfRangeCount(); });\n });\n }\n // add listeners to the grid columns\n this.refreshListenersToColumnsForCellComps();\n // if the grid columns change, then refresh the listeners again\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, this.refreshListenersToColumnsForCellComps.bind(this));\n this.addDestroyFunc(this.removeGridColumnListeners.bind(this));\n };\n // executes all functions in destroyFuncsForColumnListeners and then clears the list\n RowRenderer.prototype.removeGridColumnListeners = function () {\n this.destroyFuncsForColumnListeners.forEach(function (func) { return func(); });\n this.destroyFuncsForColumnListeners.length = 0;\n };\n // this function adds listeners onto all the grid columns, which are the column that we could have cellComps for.\n // when the grid columns change, we add listeners again. in an ideal design, each CellComp would just register to\n // the column it belongs to on creation, however this was a bottleneck with the number of cells, so do it here\n // once instead.\n RowRenderer.prototype.refreshListenersToColumnsForCellComps = function () {\n var _this = this;\n this.removeGridColumnListeners();\n var cols = this.columnModel.getAllGridColumns();\n if (!cols) {\n return;\n }\n cols.forEach(function (col) {\n var forEachCellWithThisCol = function (callback) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.getColumn() === col) {\n callback(cellCtrl);\n }\n });\n };\n var leftChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onLeftChanged(); });\n };\n var widthChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onWidthChanged(); });\n };\n var firstRightPinnedChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onFirstRightPinnedChanged(); });\n };\n var lastLeftPinnedChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onLastLeftPinnedChanged(); });\n };\n var colDefChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onColDefChanged(); });\n };\n col.addEventListener(Column.EVENT_LEFT_CHANGED, leftChangedListener);\n col.addEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n col.addEventListener(Column.EVENT_FIRST_RIGHT_PINNED_CHANGED, firstRightPinnedChangedListener);\n col.addEventListener(Column.EVENT_LAST_LEFT_PINNED_CHANGED, lastLeftPinnedChangedListener);\n col.addEventListener(Column.EVENT_COL_DEF_CHANGED, colDefChangedListener);\n _this.destroyFuncsForColumnListeners.push(function () {\n col.removeEventListener(Column.EVENT_LEFT_CHANGED, leftChangedListener);\n col.removeEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n col.removeEventListener(Column.EVENT_FIRST_RIGHT_PINNED_CHANGED, firstRightPinnedChangedListener);\n col.removeEventListener(Column.EVENT_LAST_LEFT_PINNED_CHANGED, lastLeftPinnedChangedListener);\n col.removeEventListener(Column.EVENT_COL_DEF_CHANGED, colDefChangedListener);\n });\n });\n };\n RowRenderer.prototype.onDomLayoutChanged = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var embedFullWidthRows = printLayout || this.gridOptionsWrapper.isEmbedFullWidthRows();\n // if moving towards or away from print layout, means we need to destroy all rows, as rows are not laid\n // out using absolute positioning when doing print layout\n var destroyRows = embedFullWidthRows !== this.embedFullWidthRows || this.printLayout !== printLayout;\n this.printLayout = printLayout;\n this.embedFullWidthRows = embedFullWidthRows;\n if (destroyRows) {\n this.redrawAfterModelUpdate();\n }\n };\n // for row models that have datasources, when we update the datasource, we need to force the rowRenderer\n // to redraw all rows. otherwise the old rows from the old datasource will stay displayed.\n RowRenderer.prototype.datasourceChanged = function () {\n this.firstRenderedRow = 0;\n this.lastRenderedRow = -1;\n var rowIndexesToRemove = Object.keys(this.rowCtrlsByRowIndex);\n this.removeRowCtrls(rowIndexesToRemove);\n };\n RowRenderer.prototype.onPageLoaded = function (event) {\n var params = {\n recycleRows: event.keepRenderedRows,\n animate: event.animate,\n newData: event.newData,\n newPage: event.newPage,\n // because this is a model updated event (not pinned rows), we\n // can skip updating the pinned rows. this is needed so that if user\n // is doing transaction updates, the pinned rows are not getting constantly\n // trashed - or editing cells in pinned rows are not refreshed and put into read mode\n onlyBody: true\n };\n this.redrawAfterModelUpdate(params);\n };\n RowRenderer.prototype.getAllCellsForColumn = function (column) {\n var res = [];\n this.getAllRowCtrls().forEach(function (rowCtrl) {\n var eCell = rowCtrl.getCellElement(column);\n if (eCell) {\n res.push(eCell);\n }\n });\n return res;\n };\n RowRenderer.prototype.refreshFloatingRowComps = function () {\n this.refreshFloatingRows(this.topRowCtrls, this.pinnedRowModel.getPinnedTopRowData());\n this.refreshFloatingRows(this.bottomRowCtrls, this.pinnedRowModel.getPinnedBottomRowData());\n };\n RowRenderer.prototype.getTopRowCtrls = function () {\n return this.topRowCtrls;\n };\n RowRenderer.prototype.getBottomRowCtrls = function () {\n return this.bottomRowCtrls;\n };\n RowRenderer.prototype.refreshFloatingRows = function (rowComps, rowNodes) {\n var _this = this;\n rowComps.forEach(function (row) {\n row.destroyFirstPass();\n row.destroySecondPass();\n });\n rowComps.length = 0;\n if (!rowNodes) {\n return;\n }\n rowNodes.forEach(function (rowNode) {\n var rowCtrl = new RowCtrl(rowNode, _this.beans, false, false, _this.printLayout);\n rowComps.push(rowCtrl);\n });\n };\n RowRenderer.prototype.onPinnedRowDataChanged = function () {\n // recycling rows in order to ensure cell editing is not cancelled\n var params = {\n recycleRows: true\n };\n this.redrawAfterModelUpdate(params);\n };\n // if the row nodes are not rendered, no index is returned\n RowRenderer.prototype.getRenderedIndexesForRowNodes = function (rowNodes) {\n var result = [];\n if (missing(rowNodes)) {\n return result;\n }\n iterateObject(this.rowCtrlsByRowIndex, function (index, renderedRow) {\n var rowNode = renderedRow.getRowNode();\n if (rowNodes.indexOf(rowNode) >= 0) {\n result.push(index);\n }\n });\n return result;\n };\n RowRenderer.prototype.redrawRows = function (rowNodes) {\n // if no row nodes provided, then refresh everything\n var partialRefresh = rowNodes != null && rowNodes.length > 0;\n if (partialRefresh) {\n var indexesToRemove = this.getRenderedIndexesForRowNodes(rowNodes);\n // remove the rows\n this.removeRowCtrls(indexesToRemove);\n }\n // add draw them again\n this.redrawAfterModelUpdate({\n recycleRows: partialRefresh\n });\n };\n RowRenderer.prototype.getCellToRestoreFocusToAfterRefresh = function (params) {\n var _a;\n var focusedCell = ((_a = params) === null || _a === void 0 ? void 0 : _a.suppressKeepFocus) ? null : this.focusService.getFocusCellToUseAfterRefresh();\n if (focusedCell == null) {\n return null;\n }\n // if the dom is not actually focused on a cell, then we don't try to refocus. the problem this\n // solves is with editing - if the user is editing, eg focus is on a text field, and not on the\n // cell itself, then the cell can be registered as having focus, however it's the text field that\n // has the focus and not the cell div. therefore, when the refresh is finished, the grid will focus\n // the cell, and not the textfield. that means if the user is in a text field, and the grid refreshes,\n // the focus is lost from the text field. we do not want this.\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeElement = eDocument.activeElement;\n var cellDomData = this.gridOptionsWrapper.getDomData(activeElement, CellCtrl.DOM_DATA_KEY_CELL_CTRL);\n var rowDomData = this.gridOptionsWrapper.getDomData(activeElement, RowCtrl.DOM_DATA_KEY_ROW_CTRL);\n var gridElementFocused = cellDomData || rowDomData;\n return gridElementFocused ? focusedCell : null;\n };\n // gets called from:\n // +) initialisation (in registerGridComp) params = null\n // +) onDomLayoutChanged, params = null\n // +) onPageLoaded, recycleRows, animate, newData, newPage from event, onlyBody=true\n // +) onPinnedRowDataChanged, recycleRows = true\n // +) redrawRows (from Grid API), recycleRows = true/false\n RowRenderer.prototype.redrawAfterModelUpdate = function (params) {\n if (params === void 0) { params = {}; }\n this.getLockOnRefresh();\n var focusedCell = this.getCellToRestoreFocusToAfterRefresh(params);\n this.updateContainerHeights();\n this.scrollToTopIfNewData(params);\n // never recycle rows when print layout, we draw each row again from scratch. this is because print layout\n // uses normal dom layout to put cells into dom - it doesn't allow reordering rows.\n var recycleRows = !this.printLayout && !!params.recycleRows;\n var animate = params.animate && this.gridOptionsWrapper.isAnimateRows();\n // after modelUpdate, row indexes can change, so we clear out the rowsByIndex map,\n // however we can reuse the rows, so we keep them but index by rowNode.id\n var rowsToRecycle = recycleRows ? this.recycleRows() : null;\n if (!recycleRows) {\n this.removeAllRowComps();\n }\n var isFocusedCellGettingRecycled = function () {\n if (focusedCell == null || rowsToRecycle == null) {\n return false;\n }\n var res = false;\n iterateObject(rowsToRecycle, function (key, rowComp) {\n var rowNode = rowComp.getRowNode();\n var rowIndexEqual = rowNode.rowIndex == focusedCell.rowIndex;\n var pinnedEqual = rowNode.rowPinned == focusedCell.rowPinned;\n if (rowIndexEqual && pinnedEqual) {\n res = true;\n }\n });\n return res;\n };\n var focusedCellRecycled = isFocusedCellGettingRecycled();\n this.redraw(rowsToRecycle, animate);\n this.gridBodyCtrl.updateRowCount();\n if (!params.onlyBody) {\n this.refreshFloatingRowComps();\n }\n this.dispatchDisplayedRowsChanged();\n // if we focus a cell that's already focused, then we get an unnecessary 'cellFocused' event fired.\n // this was happening when user clicked 'expand' on a rowGroup, then cellFocused was getting fired twice.\n if (!focusedCellRecycled) {\n this.restoreFocusedCell(focusedCell);\n }\n this.releaseLockOnRefresh();\n };\n RowRenderer.prototype.scrollToTopIfNewData = function (params) {\n var scrollToTop = params.newData || params.newPage;\n var suppressScrollToTop = this.gridOptionsWrapper.isSuppressScrollOnNewData();\n if (scrollToTop && !suppressScrollToTop) {\n this.gridBodyCtrl.getScrollFeature().scrollToTop();\n }\n };\n RowRenderer.prototype.updateContainerHeights = function () {\n // when doing print layout, we don't explicitly set height on the containers\n if (this.printLayout) {\n this.rowContainerHeightService.setModelHeight(null);\n return;\n }\n var containerHeight = this.paginationProxy.getCurrentPageHeight();\n // we need at least 1 pixel for the horizontal scroll to work. so if there are now rows,\n // we still want the scroll to be present, otherwise there would be no way to scroll the header\n // which might be needed us user wants to access columns\n // on the RHS - and if that was where the filter was that cause no rows to be presented, there\n // is no way to remove the filter.\n if (containerHeight === 0) {\n containerHeight = 1;\n }\n this.rowContainerHeightService.setModelHeight(containerHeight);\n };\n RowRenderer.prototype.getLockOnRefresh = function () {\n if (this.refreshInProgress) {\n throw new Error(\"AG Grid: cannot get grid to draw rows when it is in the middle of drawing rows. \" +\n \"Your code probably called a grid API method while the grid was in the render stage. To overcome \" +\n \"this, put the API call into a timeout, e.g. instead of api.redrawRows(), \" +\n \"call setTimeout(function() { api.redrawRows(); }, 0). To see what part of your code \" +\n \"that caused the refresh check this stacktrace.\");\n }\n this.refreshInProgress = true;\n };\n RowRenderer.prototype.releaseLockOnRefresh = function () {\n this.refreshInProgress = false;\n };\n RowRenderer.prototype.isRefreshInProgress = function () {\n return this.refreshInProgress;\n };\n // sets the focus to the provided cell, if the cell is provided. this way, the user can call refresh without\n // worry about the focus been lost. this is important when the user is using keyboard navigation to do edits\n // and the cellEditor is calling 'refresh' to get other cells to update (as other cells might depend on the\n // edited cell).\n RowRenderer.prototype.restoreFocusedCell = function (cellPosition) {\n if (cellPosition) {\n this.focusService.setFocusedCell({\n rowIndex: cellPosition.rowIndex,\n column: cellPosition.column,\n rowPinned: cellPosition.rowPinned,\n forceBrowserFocus: true,\n preventScrollOnBrowserFocus: true\n });\n }\n };\n RowRenderer.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n this.getAllRowCtrls().forEach(function (rowCtrl) {\n rowCtrl.stopEditing(cancel);\n });\n };\n RowRenderer.prototype.getAllCellCtrls = function () {\n var res = [];\n this.getAllRowCtrls().forEach(function (rowCtrl) { return res = res.concat(rowCtrl.getAllCellCtrls()); });\n return res;\n };\n RowRenderer.prototype.getAllRowCtrls = function () {\n var _this = this;\n var stickyRowCtrls = (this.stickyRowFeature && this.stickyRowFeature.getStickyRowCtrls()) || [];\n var res = __spread$8(this.topRowCtrls, this.bottomRowCtrls, stickyRowCtrls);\n Object.keys(this.rowCtrlsByRowIndex).forEach(function (key) { return res.push(_this.rowCtrlsByRowIndex[key]); });\n return res;\n };\n RowRenderer.prototype.addRenderedRowListener = function (eventName, rowIndex, callback) {\n var rowComp = this.rowCtrlsByRowIndex[rowIndex];\n if (rowComp) {\n rowComp.addEventListener(eventName, callback);\n }\n };\n RowRenderer.prototype.flashCells = function (params) {\n if (params === void 0) { params = {}; }\n var flashDelay = params.flashDelay, fadeDelay = params.fadeDelay;\n this.getCellCtrls(params.rowNodes, params.columns)\n .forEach(function (cellCtrl) { return cellCtrl.flashCell({ flashDelay: flashDelay, fadeDelay: fadeDelay }); });\n };\n RowRenderer.prototype.refreshCells = function (params) {\n if (params === void 0) { params = {}; }\n var refreshCellParams = {\n forceRefresh: params.force,\n newData: false,\n suppressFlash: params.suppressFlash\n };\n this.getCellCtrls(params.rowNodes, params.columns)\n .forEach(function (cellCtrl) {\n if (cellCtrl.refreshShouldDestroy()) {\n var rowCtrl = cellCtrl.getRowCtrl();\n if (rowCtrl) {\n rowCtrl.refreshCell(cellCtrl);\n }\n }\n else {\n cellCtrl.refreshCell(refreshCellParams);\n }\n });\n this.getFullWidthRowCtrls(params.rowNodes).forEach(function (fullWidthRowCtrl) {\n fullWidthRowCtrl.refreshFullWidth();\n });\n };\n RowRenderer.prototype.getCellRendererInstances = function (params) {\n var res = this.getCellCtrls(params.rowNodes, params.columns)\n .map(function (cellCtrl) { return cellCtrl.getCellRenderer(); })\n .filter(function (renderer) { return renderer != null; });\n return res;\n };\n RowRenderer.prototype.getCellEditorInstances = function (params) {\n var res = [];\n this.getCellCtrls(params.rowNodes, params.columns).forEach(function (cellCtrl) {\n var cellEditor = cellCtrl.getCellEditor();\n if (cellEditor) {\n res.push(cellEditor);\n }\n });\n return res;\n };\n RowRenderer.prototype.getEditingCells = function () {\n var res = [];\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.isEditing()) {\n var cellPosition = cellCtrl.getCellPosition();\n res.push(cellPosition);\n }\n });\n return res;\n };\n RowRenderer.prototype.mapRowNodes = function (rowNodes) {\n if (!rowNodes) {\n return;\n }\n var res = {\n top: {},\n bottom: {},\n normal: {}\n };\n rowNodes.forEach(function (rowNode) {\n var id = rowNode.id;\n if (rowNode.rowPinned === Constants.PINNED_TOP) {\n res.top[id] = rowNode;\n }\n else if (rowNode.rowPinned === Constants.PINNED_BOTTOM) {\n res.bottom[id] = rowNode;\n }\n else {\n res.normal[id] = rowNode;\n }\n });\n return res;\n };\n RowRenderer.prototype.isRowInMap = function (rowNode, rowIdsMap) {\n // skip this row if it is missing from the provided list\n var id = rowNode.id;\n var floating = rowNode.rowPinned;\n if (floating === Constants.PINNED_BOTTOM) {\n return rowIdsMap.bottom[id] != null;\n }\n if (floating === Constants.PINNED_TOP) {\n return rowIdsMap.top[id] != null;\n }\n return rowIdsMap.normal[id] != null;\n };\n // returns CellCtrl's that match the provided rowNodes and columns. eg if one row node\n // and two columns provided, that identifies 4 cells, so 4 CellCtrl's returned.\n RowRenderer.prototype.getCellCtrls = function (rowNodes, columns) {\n var _this = this;\n var rowIdsMap = this.mapRowNodes(rowNodes);\n var res = [];\n var colIdsMap;\n if (exists(columns)) {\n colIdsMap = {};\n columns.forEach(function (colKey) {\n var column = _this.columnModel.getGridColumn(colKey);\n if (exists(column)) {\n colIdsMap[column.getId()] = true;\n }\n });\n }\n var processRow = function (rowComp) {\n var rowNode = rowComp.getRowNode();\n // skip this row if it is missing from the provided list\n if (rowIdsMap != null && !_this.isRowInMap(rowNode, rowIdsMap)) {\n return;\n }\n rowComp.getAllCellCtrls().forEach(function (cellCtrl) {\n var colId = cellCtrl.getColumn().getId();\n var excludeColFromRefresh = colIdsMap && !colIdsMap[colId];\n if (excludeColFromRefresh) {\n return;\n }\n res.push(cellCtrl);\n });\n };\n iterateObject(this.rowCtrlsByRowIndex, function (index, rowComp) {\n processRow(rowComp);\n });\n if (this.topRowCtrls) {\n this.topRowCtrls.forEach(processRow);\n }\n if (this.bottomRowCtrls) {\n this.bottomRowCtrls.forEach(processRow);\n }\n return res;\n };\n RowRenderer.prototype.destroy = function () {\n this.removeAllRowComps();\n _super.prototype.destroy.call(this);\n };\n RowRenderer.prototype.removeAllRowComps = function () {\n var rowIndexesToRemove = Object.keys(this.rowCtrlsByRowIndex);\n this.removeRowCtrls(rowIndexesToRemove);\n };\n RowRenderer.prototype.recycleRows = function () {\n // remove all stub nodes, they can't be reused, as no rowNode id\n var stubNodeIndexes = [];\n iterateObject(this.rowCtrlsByRowIndex, function (index, rowComp) {\n var stubNode = rowComp.getRowNode().id == null;\n if (stubNode) {\n stubNodeIndexes.push(index);\n }\n });\n this.removeRowCtrls(stubNodeIndexes);\n // then clear out rowCompsByIndex, but before that take a copy, but index by id, not rowIndex\n var ctrlsByIdMap = {};\n iterateObject(this.rowCtrlsByRowIndex, function (index, rowComp) {\n var rowNode = rowComp.getRowNode();\n ctrlsByIdMap[rowNode.id] = rowComp;\n });\n this.rowCtrlsByRowIndex = {};\n return ctrlsByIdMap;\n };\n // takes array of row indexes\n RowRenderer.prototype.removeRowCtrls = function (rowsToRemove) {\n var _this = this;\n // if no fromIndex then set to -1, which will refresh everything\n // let realFromIndex = -1;\n rowsToRemove.forEach(function (indexToRemove) {\n var rowCtrl = _this.rowCtrlsByRowIndex[indexToRemove];\n if (rowCtrl) {\n rowCtrl.destroyFirstPass();\n rowCtrl.destroySecondPass();\n }\n delete _this.rowCtrlsByRowIndex[indexToRemove];\n });\n };\n // gets called when rows don't change, but viewport does, so after:\n // 1) height of grid body changes, ie number of displayed rows has changed\n // 2) grid scrolled to new position\n // 3) ensure index visible (which is a scroll)\n RowRenderer.prototype.redrawAfterScroll = function () {\n var cellFocused;\n // only try to refocus cells shifting in and out of sticky container\n // if the browser supports focus ({ preventScroll })\n if (this.stickyRowFeature && browserSupportsPreventScroll()) {\n cellFocused = this.getCellToRestoreFocusToAfterRefresh() || undefined;\n }\n this.getLockOnRefresh();\n this.redraw(null, false, true);\n this.releaseLockOnRefresh();\n this.dispatchDisplayedRowsChanged();\n if (cellFocused != null) {\n var newFocusedCell = this.getCellToRestoreFocusToAfterRefresh();\n if (cellFocused != null && newFocusedCell == null) {\n this.animationFrameService.flushAllFrames();\n this.restoreFocusedCell(cellFocused);\n }\n }\n };\n RowRenderer.prototype.removeRowCompsNotToDraw = function (indexesToDraw) {\n // for speedy lookup, dump into map\n var indexesToDrawMap = {};\n indexesToDraw.forEach(function (index) { return (indexesToDrawMap[index] = true); });\n var existingIndexes = Object.keys(this.rowCtrlsByRowIndex);\n var indexesNotToDraw = existingIndexes.filter(function (index) { return !indexesToDrawMap[index]; });\n this.removeRowCtrls(indexesNotToDraw);\n };\n RowRenderer.prototype.calculateIndexesToDraw = function (rowsToRecycle) {\n var _this = this;\n // all in all indexes in the viewport\n var indexesToDraw = createArrayOfNumbers(this.firstRenderedRow, this.lastRenderedRow);\n var checkRowToDraw = function (indexStr, rowComp) {\n var index = rowComp.getRowNode().rowIndex;\n if (index == null) {\n return;\n }\n if (index < _this.firstRenderedRow || index > _this.lastRenderedRow) {\n if (_this.doNotUnVirtualiseRow(rowComp)) {\n indexesToDraw.push(index);\n }\n }\n };\n // if we are redrawing due to scrolling change, then old rows are in this.rowCompsByIndex\n iterateObject(this.rowCtrlsByRowIndex, checkRowToDraw);\n // if we are redrawing due to model update, then old rows are in rowsToRecycle\n iterateObject(rowsToRecycle, checkRowToDraw);\n indexesToDraw.sort(function (a, b) { return a - b; });\n indexesToDraw = indexesToDraw.filter(function (index) {\n var rowNode = _this.paginationProxy.getRow(index);\n return rowNode && !rowNode.sticky;\n });\n return indexesToDraw;\n };\n RowRenderer.prototype.redraw = function (rowsToRecycle, animate, afterScroll) {\n var _this = this;\n if (animate === void 0) { animate = false; }\n if (afterScroll === void 0) { afterScroll = false; }\n this.rowContainerHeightService.updateOffset();\n this.workOutFirstAndLastRowsToRender();\n if (this.stickyRowFeature) {\n this.stickyRowFeature.checkStickyRows();\n }\n // the row can already exist and be in the following:\n // rowsToRecycle -> if model change, then the index may be different, however row may\n // exist here from previous time (mapped by id).\n // this.rowCompsByIndex -> if just a scroll, then this will contain what is currently in the viewport\n // this is all the indexes we want, including those that already exist, so this method\n // will end up going through each index and drawing only if the row doesn't already exist\n var indexesToDraw = this.calculateIndexesToDraw(rowsToRecycle);\n this.removeRowCompsNotToDraw(indexesToDraw);\n // never animate when doing print layout - as we want to get things ready to print as quickly as possible,\n // otherwise we risk the printer printing a row that's half faded (half way through fading in)\n if (this.printLayout) {\n animate = false;\n }\n indexesToDraw.forEach(function (rowIndex) {\n var rowCtrl = _this.createOrUpdateRowCtrl(rowIndex, rowsToRecycle, animate, afterScroll);\n if (exists(rowCtrl)) ;\n });\n if (rowsToRecycle) {\n var useAnimationFrame = afterScroll && !this.gridOptionsWrapper.isSuppressAnimationFrame() && !this.printLayout;\n if (useAnimationFrame) {\n this.beans.animationFrameService.addDestroyTask(function () {\n _this.destroyRowCtrls(rowsToRecycle, animate);\n _this.updateAllRowCtrls();\n _this.dispatchDisplayedRowsChanged();\n });\n }\n else {\n this.destroyRowCtrls(rowsToRecycle, animate);\n }\n }\n this.updateAllRowCtrls();\n };\n RowRenderer.prototype.dispatchDisplayedRowsChanged = function () {\n var event = { type: Events.EVENT_DISPLAYED_ROWS_CHANGED };\n this.eventService.dispatchEvent(event);\n };\n RowRenderer.prototype.onDisplayedColumnsChanged = function () {\n var pinningLeft = this.columnModel.isPinningLeft();\n var pinningRight = this.columnModel.isPinningRight();\n var atLeastOneChanged = this.pinningLeft !== pinningLeft || pinningRight !== this.pinningRight;\n if (atLeastOneChanged) {\n this.pinningLeft = pinningLeft;\n this.pinningRight = pinningRight;\n if (this.embedFullWidthRows) {\n this.redrawFullWidthEmbeddedRows();\n }\n }\n };\n // when embedding, what gets showed in each section depends on what is pinned. eg if embedding group expand / collapse,\n // then it should go into the pinned left area if pinning left, or the center area if not pinning.\n RowRenderer.prototype.redrawFullWidthEmbeddedRows = function () {\n // if either of the pinned panels has shown / hidden, then need to redraw the fullWidth bits when\n // embedded, as what appears in each section depends on whether we are pinned or not\n var rowsToRemove = [];\n this.getFullWidthRowCtrls().forEach(function (fullWidthCtrl) {\n var rowIndex = fullWidthCtrl.getRowNode().rowIndex;\n rowsToRemove.push(rowIndex.toString());\n });\n this.refreshFloatingRowComps();\n this.removeRowCtrls(rowsToRemove);\n this.redrawAfterScroll();\n };\n RowRenderer.prototype.getFullWidthRowCtrls = function (rowNodes) {\n var _this = this;\n var rowNodesMap = this.mapRowNodes(rowNodes);\n return getAllValuesInObject(this.rowCtrlsByRowIndex).filter(function (rowCtrl) {\n // include just full width\n if (!rowCtrl.isFullWidth()) {\n return false;\n }\n // if Row Nodes provided, we exclude where Row Node is missing\n var rowNode = rowCtrl.getRowNode();\n if (rowNodesMap != null && !_this.isRowInMap(rowNode, rowNodesMap)) {\n return false;\n }\n return true;\n });\n };\n RowRenderer.prototype.refreshFullWidthRows = function (rowNodesToRefresh) {\n var rowsToRemove = [];\n var selectivelyRefreshing = !!rowNodesToRefresh;\n var idsToRefresh = selectivelyRefreshing ? {} : undefined;\n if (selectivelyRefreshing && idsToRefresh) {\n rowNodesToRefresh.forEach(function (r) { return idsToRefresh[r.id] = true; });\n }\n this.getFullWidthRowCtrls().forEach(function (fullWidthRowCtrl) {\n var rowNode = fullWidthRowCtrl.getRowNode();\n if (selectivelyRefreshing && idsToRefresh) {\n // we refresh if a) this node is present or b) this parents nodes is present. checking parent\n // node is important for master/detail, as we want detail to refresh on changes to parent node.\n // it's also possible, if user is provider their own fullWidth, that details panels contain\n // some info on the parent, eg if in tree data and child row shows some data from parent row also.\n var parentId = (rowNode.level > 0 && rowNode.parent) ? rowNode.parent.id : undefined;\n var skipThisNode = !idsToRefresh[rowNode.id] && !idsToRefresh[parentId];\n if (skipThisNode) {\n return;\n }\n }\n var fullWidthRowsRefreshed = fullWidthRowCtrl.refreshFullWidth();\n if (!fullWidthRowsRefreshed) {\n var rowIndex = fullWidthRowCtrl.getRowNode().rowIndex;\n rowsToRemove.push(rowIndex.toString());\n }\n });\n this.removeRowCtrls(rowsToRemove);\n this.redrawAfterScroll();\n };\n RowRenderer.prototype.createOrUpdateRowCtrl = function (rowIndex, rowsToRecycle, animate, afterScroll) {\n var rowNode;\n var rowCtrl = this.rowCtrlsByRowIndex[rowIndex];\n // if no row comp, see if we can get it from the previous rowComps\n if (!rowCtrl) {\n rowNode = this.paginationProxy.getRow(rowIndex);\n if (exists(rowNode) && exists(rowsToRecycle) && rowsToRecycle[rowNode.id] && rowNode.alreadyRendered) {\n rowCtrl = rowsToRecycle[rowNode.id];\n rowsToRecycle[rowNode.id] = null;\n }\n }\n var creatingNewRowCtrl = !rowCtrl;\n if (creatingNewRowCtrl) {\n // create a new one\n if (!rowNode) {\n rowNode = this.paginationProxy.getRow(rowIndex);\n }\n if (exists(rowNode)) {\n rowCtrl = this.createRowCon(rowNode, animate, afterScroll);\n }\n else {\n // this should never happen - if somehow we are trying to create\n // a row for a rowNode that does not exist.\n return;\n }\n }\n if (rowNode) {\n // set node as 'alreadyRendered' to ensure we only recycle rowComps that have been rendered, this ensures\n // we don't reuse rowComps that have been removed and then re-added in the same batch transaction.\n rowNode.alreadyRendered = true;\n }\n this.rowCtrlsByRowIndex[rowIndex] = rowCtrl;\n return rowCtrl;\n };\n RowRenderer.prototype.destroyRowCtrls = function (rowCtrlsMap, animate) {\n var _this = this;\n var executeInAWhileFuncs = [];\n iterateObject(rowCtrlsMap, function (nodeId, rowCtrl) {\n // if row was used, then it's null\n if (!rowCtrl) {\n return;\n }\n if (_this.cachedRowCtrls && rowCtrl.isCacheable()) {\n _this.cachedRowCtrls.addRow(rowCtrl);\n return;\n }\n rowCtrl.destroyFirstPass();\n if (animate) {\n _this.zombieRowCtrls[rowCtrl.getInstanceId()] = rowCtrl;\n executeInAWhileFuncs.push(function () {\n rowCtrl.destroySecondPass();\n delete _this.zombieRowCtrls[rowCtrl.getInstanceId()];\n });\n }\n else {\n rowCtrl.destroySecondPass();\n }\n });\n if (animate) {\n // this ensures we fire displayedRowsChanged AFTER all the 'executeInAWhileFuncs' get\n // executed, as we added it to the end of the list.\n executeInAWhileFuncs.push(function () {\n _this.updateAllRowCtrls();\n _this.dispatchDisplayedRowsChanged();\n });\n executeInAWhile(executeInAWhileFuncs);\n }\n };\n RowRenderer.prototype.workOutFirstAndLastRowsToRender = function () {\n var newFirst;\n var newLast;\n if (!this.paginationProxy.isRowsToRender()) {\n newFirst = 0;\n newLast = -1; // setting to -1 means nothing in range\n }\n else if (this.printLayout) {\n newFirst = this.paginationProxy.getPageFirstRow();\n newLast = this.paginationProxy.getPageLastRow();\n }\n else {\n var bufferPixels = this.gridOptionsWrapper.getRowBufferInPixels();\n var gridBodyCtrl = this.ctrlsService.getGridBodyCtrl();\n var suppressRowVirtualisation = this.gridOptionsWrapper.isSuppressRowVirtualisation();\n var rowHeightsChanged = false;\n var firstPixel = void 0;\n var lastPixel = void 0;\n do {\n var paginationOffset = this.paginationProxy.getPixelOffset();\n var _a = this.paginationProxy.getCurrentPagePixelRange(), pageFirstPixel = _a.pageFirstPixel, pageLastPixel = _a.pageLastPixel;\n var divStretchOffset = this.rowContainerHeightService.getDivStretchOffset();\n var bodyVRange = gridBodyCtrl.getScrollFeature().getVScrollPosition();\n var bodyTopPixel = bodyVRange.top;\n var bodyBottomPixel = bodyVRange.bottom;\n if (suppressRowVirtualisation) {\n firstPixel = pageFirstPixel + divStretchOffset;\n lastPixel = pageLastPixel + divStretchOffset;\n }\n else {\n firstPixel = Math.max(bodyTopPixel + paginationOffset - bufferPixels, pageFirstPixel) + divStretchOffset;\n lastPixel = Math.min(bodyBottomPixel + paginationOffset + bufferPixels, pageLastPixel) + divStretchOffset;\n }\n this.firstVisibleVPixel = Math.max(bodyTopPixel + paginationOffset, pageFirstPixel) + divStretchOffset;\n // if the rows we are about to display get their heights changed, then that upsets the calcs from above.\n rowHeightsChanged = this.ensureAllRowsInRangeHaveHeightsCalculated(firstPixel, lastPixel);\n } while (rowHeightsChanged);\n var firstRowIndex = this.paginationProxy.getRowIndexAtPixel(firstPixel);\n var lastRowIndex = this.paginationProxy.getRowIndexAtPixel(lastPixel);\n var pageFirstRow = this.paginationProxy.getPageFirstRow();\n var pageLastRow = this.paginationProxy.getPageLastRow();\n // adjust, in case buffer extended actual size\n if (firstRowIndex < pageFirstRow) {\n firstRowIndex = pageFirstRow;\n }\n if (lastRowIndex > pageLastRow) {\n lastRowIndex = pageLastRow;\n }\n newFirst = firstRowIndex;\n newLast = lastRowIndex;\n }\n // sometimes user doesn't set CSS right and ends up with grid with no height and grid ends up\n // trying to render all the rows, eg 10,000+ rows. this will kill the browser. so instead of\n // killing the browser, we limit the number of rows. just in case some use case we didn't think\n // of, we also have a property to not do this operation.\n var rowLayoutNormal = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_NORMAL;\n var suppressRowCountRestriction = this.gridOptionsWrapper.isSuppressMaxRenderedRowRestriction();\n var rowBufferMaxSize = Math.max(this.gridOptionsWrapper.getRowBuffer(), 500);\n if (rowLayoutNormal && !suppressRowCountRestriction) {\n if (newLast - newFirst > rowBufferMaxSize) {\n newLast = newFirst + rowBufferMaxSize;\n }\n }\n var firstDiffers = newFirst !== this.firstRenderedRow;\n var lastDiffers = newLast !== this.lastRenderedRow;\n if (firstDiffers || lastDiffers) {\n this.firstRenderedRow = newFirst;\n this.lastRenderedRow = newLast;\n var event_1 = {\n type: Events.EVENT_VIEWPORT_CHANGED,\n firstRow: newFirst,\n lastRow: newLast\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n /**\n * This event will only be fired once, and is queued until after the browser next renders.\n * This allows us to fire an event during the start of the render cycle, when we first see data being rendered\n * but not execute the event until all of the data has finished being rendered to the dom.\n */\n RowRenderer.prototype.dispatchFirstDataRenderedEvent = function () {\n var _this = this;\n if (this.dataFirstRenderedFired) {\n return;\n }\n this.dataFirstRenderedFired = true;\n var event = {\n type: Events.EVENT_FIRST_DATA_RENDERED,\n firstRow: this.firstRenderedRow,\n lastRow: this.lastRenderedRow,\n };\n // See AG-7018\n window.requestAnimationFrame(function () {\n _this.beans.eventService.dispatchEvent(event);\n });\n };\n RowRenderer.prototype.ensureAllRowsInRangeHaveHeightsCalculated = function (topPixel, bottomPixel) {\n // ensureRowHeightsVisible only works with CSRM, as it's the only row model that allows lazy row height calcs.\n // all the other row models just hard code so the method just returns back false\n var res = this.paginationProxy.ensureRowHeightsValid(topPixel, bottomPixel, -1, -1);\n if (res) {\n this.updateContainerHeights();\n }\n return res;\n };\n RowRenderer.prototype.getFirstVisibleVerticalPixel = function () {\n return this.firstVisibleVPixel;\n };\n RowRenderer.prototype.getFirstVirtualRenderedRow = function () {\n return this.firstRenderedRow;\n };\n RowRenderer.prototype.getLastVirtualRenderedRow = function () {\n return this.lastRenderedRow;\n };\n // check that none of the rows to remove are editing or focused as:\n // a) if editing, we want to keep them, otherwise the user will loose the context of the edit,\n // eg user starts editing, enters some text, then scrolls down and then up, next time row rendered\n // the edit is reset - so we want to keep it rendered.\n // b) if focused, we want ot keep keyboard focus, so if user ctrl+c, it goes to clipboard,\n // otherwise the user can range select and drag (with focus cell going out of the viewport)\n // and then ctrl+c, nothing will happen if cell is removed from dom.\n // c) if detail record of master detail, as users complained that the context of detail rows\n // was getting lost when detail row out of view. eg user expands to show detail row,\n // then manipulates the detail panel (eg sorts the detail grid), then context is lost\n // after detail panel is scrolled out of / into view.\n RowRenderer.prototype.doNotUnVirtualiseRow = function (rowComp) {\n var REMOVE_ROW = false;\n var KEEP_ROW = true;\n var rowNode = rowComp.getRowNode();\n var rowHasFocus = this.focusService.isRowNodeFocused(rowNode);\n var rowIsEditing = rowComp.isEditing();\n var rowIsDetail = rowNode.detail;\n var mightWantToKeepRow = rowHasFocus || rowIsEditing || rowIsDetail;\n // if we deffo don't want to keep it,\n if (!mightWantToKeepRow) {\n return REMOVE_ROW;\n }\n // editing row, only remove if it is no longer rendered, eg filtered out or new data set.\n // the reason we want to keep is if user is scrolling up and down, we don't want to loose\n // the context of the editing in process.\n var rowNodePresent = this.paginationProxy.isRowPresent(rowNode);\n return rowNodePresent ? KEEP_ROW : REMOVE_ROW;\n };\n RowRenderer.prototype.createRowCon = function (rowNode, animate, afterScroll) {\n var rowCtrlFromCache = this.cachedRowCtrls ? this.cachedRowCtrls.getRow(rowNode) : null;\n if (rowCtrlFromCache) {\n return rowCtrlFromCache;\n }\n // we don't use animations frames for printing, so the user can put the grid into print mode\n // and immediately print - otherwise the user would have to wait for the rows to draw in the background\n // (via the animation frames) which is awkward to do from code.\n // we only do the animation frames after scrolling, as this is where we want the smooth user experience.\n // having animation frames for other times makes the grid look 'jumpy'.\n var suppressAnimationFrame = this.gridOptionsWrapper.isSuppressAnimationFrame();\n var useAnimationFrameForCreate = afterScroll && !suppressAnimationFrame && !this.printLayout;\n var res = new RowCtrl(rowNode, this.beans, animate, useAnimationFrameForCreate, this.printLayout);\n return res;\n };\n RowRenderer.prototype.getRenderedNodes = function () {\n var renderedRows = this.rowCtrlsByRowIndex;\n return Object.keys(renderedRows).map(function (key) { return renderedRows[key].getRowNode(); });\n };\n RowRenderer.prototype.getRowByPosition = function (rowPosition) {\n var rowCtrl;\n var rowIndex = rowPosition.rowIndex;\n switch (rowPosition.rowPinned) {\n case Constants.PINNED_TOP:\n rowCtrl = this.topRowCtrls[rowIndex];\n break;\n case Constants.PINNED_BOTTOM:\n rowCtrl = this.bottomRowCtrls[rowIndex];\n break;\n default:\n rowCtrl = this.rowCtrlsByRowIndex[rowIndex];\n if (!rowCtrl) {\n rowCtrl = this.getStickyTopRowCtrls().find(function (ctrl) { return ctrl.getRowNode().rowIndex === rowIndex; }) || null;\n }\n break;\n }\n return rowCtrl;\n };\n RowRenderer.prototype.getRowNode = function (gridRow) {\n switch (gridRow.rowPinned) {\n case Constants.PINNED_TOP:\n return this.pinnedRowModel.getPinnedTopRowData()[gridRow.rowIndex];\n case Constants.PINNED_BOTTOM:\n return this.pinnedRowModel.getPinnedBottomRowData()[gridRow.rowIndex];\n default:\n return this.rowModel.getRow(gridRow.rowIndex);\n }\n };\n // returns true if any row between startIndex and endIndex is rendered. used by\n // SSRM or IRM, as they don't want to purge visible blocks from cache.\n RowRenderer.prototype.isRangeInRenderedViewport = function (startIndex, endIndex) {\n // parent closed means the parent node is not expanded, thus these blocks are not visible\n var parentClosed = startIndex == null || endIndex == null;\n if (parentClosed) {\n return false;\n }\n var blockAfterViewport = startIndex > this.lastRenderedRow;\n var blockBeforeViewport = endIndex < this.firstRenderedRow;\n var blockInsideViewport = !blockBeforeViewport && !blockAfterViewport;\n return blockInsideViewport;\n };\n __decorate$13([\n Autowired(\"animationFrameService\")\n ], RowRenderer.prototype, \"animationFrameService\", void 0);\n __decorate$13([\n Autowired(\"paginationProxy\")\n ], RowRenderer.prototype, \"paginationProxy\", void 0);\n __decorate$13([\n Autowired(\"columnModel\")\n ], RowRenderer.prototype, \"columnModel\", void 0);\n __decorate$13([\n Autowired(\"pinnedRowModel\")\n ], RowRenderer.prototype, \"pinnedRowModel\", void 0);\n __decorate$13([\n Autowired(\"rowModel\")\n ], RowRenderer.prototype, \"rowModel\", void 0);\n __decorate$13([\n Autowired(\"focusService\")\n ], RowRenderer.prototype, \"focusService\", void 0);\n __decorate$13([\n Autowired(\"beans\")\n ], RowRenderer.prototype, \"beans\", void 0);\n __decorate$13([\n Autowired(\"rowContainerHeightService\")\n ], RowRenderer.prototype, \"rowContainerHeightService\", void 0);\n __decorate$13([\n Autowired(\"ctrlsService\")\n ], RowRenderer.prototype, \"ctrlsService\", void 0);\n __decorate$13([\n PostConstruct\n ], RowRenderer.prototype, \"postConstruct\", null);\n RowRenderer = __decorate$13([\n Bean(\"rowRenderer\")\n ], RowRenderer);\n return RowRenderer;\n}(BeanStub));\nvar RowCtrlCache = /** @class */ (function () {\n function RowCtrlCache(maxCount) {\n // map for fast access\n this.entriesMap = {};\n // list for keeping order\n this.entriesList = [];\n this.maxCount = maxCount;\n }\n RowCtrlCache.prototype.addRow = function (rowCtrl) {\n this.entriesMap[rowCtrl.getRowNode().id] = rowCtrl;\n this.entriesList.push(rowCtrl);\n rowCtrl.setCached(true);\n if (this.entriesList.length > this.maxCount) {\n var rowCtrlToDestroy = this.entriesList[0];\n rowCtrlToDestroy.destroyFirstPass();\n rowCtrlToDestroy.destroySecondPass();\n this.removeFromCache(rowCtrlToDestroy);\n }\n };\n RowCtrlCache.prototype.getRow = function (rowNode) {\n if (rowNode == null || rowNode.id == null) {\n return null;\n }\n var res = this.entriesMap[rowNode.id];\n if (!res) {\n return null;\n }\n this.removeFromCache(res);\n res.setCached(false);\n // this can happen if user reloads data, and a new RowNode is reusing\n // the same ID as the old one\n var rowNodeMismatch = res.getRowNode() != rowNode;\n return rowNodeMismatch ? null : res;\n };\n RowCtrlCache.prototype.removeFromCache = function (rowCtrl) {\n var rowNodeId = rowCtrl.getRowNode().id;\n delete this.entriesMap[rowNodeId];\n removeFromArray(this.entriesList, rowCtrl);\n };\n RowCtrlCache.prototype.getEntries = function () {\n return this.entriesList;\n };\n return RowCtrlCache;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$19 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$12 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ValueFormatterService = /** @class */ (function (_super) {\n __extends$19(ValueFormatterService, _super);\n function ValueFormatterService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueFormatterService.prototype.formatValue = function (column, node, value, suppliedFormatter, useFormatterFromColumn) {\n if (useFormatterFromColumn === void 0) { useFormatterFromColumn = true; }\n var result = null;\n var formatter;\n var colDef = column.getColDef();\n if (suppliedFormatter) {\n // use supplied formatter if provided, e.g. set filter items can have their own value formatters\n formatter = suppliedFormatter;\n }\n else if (useFormatterFromColumn) {\n // if row is pinned, give preference to the pinned formatter\n formatter = node && node.rowPinned && colDef.pinnedRowValueFormatter ?\n colDef.pinnedRowValueFormatter : colDef.valueFormatter;\n }\n if (formatter) {\n var params = {\n value: value,\n node: node,\n data: node ? node.data : null,\n colDef: colDef,\n column: column,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n result = this.expressionService.evaluate(formatter, params);\n }\n else if (colDef.refData) {\n return colDef.refData[value] || '';\n }\n // if we don't do this, then arrays get displayed as 1,2,3, but we want 1, 2, 3 (i.e. with spaces)\n if (result == null && Array.isArray(value)) {\n result = value.join(', ');\n }\n return result;\n };\n __decorate$12([\n Autowired('expressionService')\n ], ValueFormatterService.prototype, \"expressionService\", void 0);\n ValueFormatterService = __decorate$12([\n Bean('valueFormatterService')\n ], ValueFormatterService);\n return ValueFormatterService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$18 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$11 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PinnedRowModel = /** @class */ (function (_super) {\n __extends$18(PinnedRowModel, _super);\n function PinnedRowModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PinnedRowModel.prototype.init = function () {\n this.setPinnedTopRowData(this.gridOptionsWrapper.getPinnedTopRowData());\n this.setPinnedBottomRowData(this.gridOptionsWrapper.getPinnedBottomRowData());\n };\n PinnedRowModel.prototype.isEmpty = function (floating) {\n var rows = floating === Constants.PINNED_TOP ? this.pinnedTopRows : this.pinnedBottomRows;\n return missingOrEmpty(rows);\n };\n PinnedRowModel.prototype.isRowsToRender = function (floating) {\n return !this.isEmpty(floating);\n };\n PinnedRowModel.prototype.getRowAtPixel = function (pixel, floating) {\n var rows = floating === Constants.PINNED_TOP ? this.pinnedTopRows : this.pinnedBottomRows;\n if (missingOrEmpty(rows)) {\n return 0; // this should never happen, just in case, 0 is graceful failure\n }\n for (var i = 0; i < rows.length; i++) {\n var rowNode = rows[i];\n var rowTopPixel = rowNode.rowTop + rowNode.rowHeight - 1;\n // only need to range check against the top pixel, as we are going through the list\n // in order, first row to hit the pixel wins\n if (rowTopPixel >= pixel) {\n return i;\n }\n }\n return rows.length - 1;\n };\n PinnedRowModel.prototype.setPinnedTopRowData = function (rowData) {\n this.pinnedTopRows = this.createNodesFromData(rowData, true);\n var event = {\n type: Events.EVENT_PINNED_ROW_DATA_CHANGED\n };\n this.eventService.dispatchEvent(event);\n };\n PinnedRowModel.prototype.setPinnedBottomRowData = function (rowData) {\n this.pinnedBottomRows = this.createNodesFromData(rowData, false);\n var event = {\n type: Events.EVENT_PINNED_ROW_DATA_CHANGED\n };\n this.eventService.dispatchEvent(event);\n };\n PinnedRowModel.prototype.createNodesFromData = function (allData, isTop) {\n var _this = this;\n var rowNodes = [];\n if (allData) {\n var nextRowTop_1 = 0;\n allData.forEach(function (dataItem, index) {\n var rowNode = new RowNode(_this.beans);\n rowNode.data = dataItem;\n var idPrefix = isTop ? RowNode.ID_PREFIX_TOP_PINNED : RowNode.ID_PREFIX_BOTTOM_PINNED;\n rowNode.id = idPrefix + index;\n rowNode.rowPinned = isTop ? Constants.PINNED_TOP : Constants.PINNED_BOTTOM;\n rowNode.setRowTop(nextRowTop_1);\n rowNode.setRowHeight(_this.gridOptionsWrapper.getRowHeightForNode(rowNode).height);\n rowNode.setRowIndex(index);\n nextRowTop_1 += rowNode.rowHeight;\n rowNodes.push(rowNode);\n });\n }\n return rowNodes;\n };\n PinnedRowModel.prototype.getPinnedTopRowData = function () {\n return this.pinnedTopRows;\n };\n PinnedRowModel.prototype.getPinnedBottomRowData = function () {\n return this.pinnedBottomRows;\n };\n PinnedRowModel.prototype.getPinnedTopTotalHeight = function () {\n return this.getTotalHeight(this.pinnedTopRows);\n };\n PinnedRowModel.prototype.getPinnedTopRowCount = function () {\n return this.pinnedTopRows ? this.pinnedTopRows.length : 0;\n };\n PinnedRowModel.prototype.getPinnedBottomRowCount = function () {\n return this.pinnedBottomRows ? this.pinnedBottomRows.length : 0;\n };\n PinnedRowModel.prototype.getPinnedTopRow = function (index) {\n return this.pinnedTopRows[index];\n };\n PinnedRowModel.prototype.getPinnedBottomRow = function (index) {\n return this.pinnedBottomRows[index];\n };\n PinnedRowModel.prototype.forEachPinnedTopRow = function (callback) {\n if (missingOrEmpty(this.pinnedTopRows)) {\n return;\n }\n this.pinnedTopRows.forEach(callback);\n };\n PinnedRowModel.prototype.forEachPinnedBottomRow = function (callback) {\n if (missingOrEmpty(this.pinnedBottomRows)) {\n return;\n }\n this.pinnedBottomRows.forEach(callback);\n };\n PinnedRowModel.prototype.getPinnedBottomTotalHeight = function () {\n return this.getTotalHeight(this.pinnedBottomRows);\n };\n PinnedRowModel.prototype.getTotalHeight = function (rowNodes) {\n if (!rowNodes || rowNodes.length === 0) {\n return 0;\n }\n var lastNode = last(rowNodes);\n return lastNode.rowTop + lastNode.rowHeight;\n };\n __decorate$11([\n Autowired('beans')\n ], PinnedRowModel.prototype, \"beans\", void 0);\n __decorate$11([\n PostConstruct\n ], PinnedRowModel.prototype, \"init\", null);\n PinnedRowModel = __decorate$11([\n Bean('pinnedRowModel')\n ], PinnedRowModel);\n return PinnedRowModel;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ServerSideTransactionResultStatus;\n(function (ServerSideTransactionResultStatus) {\n /** Transaction was successfully applied */\n ServerSideTransactionResultStatus[\"Applied\"] = \"Applied\";\n /**\n * Store was not found, transaction not applied.\n * Either invalid route, or the parent row has not yet been expanded.\n */\n ServerSideTransactionResultStatus[\"StoreNotFound\"] = \"StoreNotFound\";\n /**\n * Store is loading, transaction not applied.\n */\n ServerSideTransactionResultStatus[\"StoreLoading\"] = \"StoreLoading\";\n /**\n * Store is loading (as max loads exceeded), transaction not applied.\n */\n ServerSideTransactionResultStatus[\"StoreWaitingToLoad\"] = \"StoreWaitingToLoad\";\n /**\n * Store load attempt failed, transaction not applied.\n */\n ServerSideTransactionResultStatus[\"StoreLoadingFailed\"] = \"StoreLoadingFailed\";\n /**\n * Store is type Partial, which doesn't accept transactions\n */\n ServerSideTransactionResultStatus[\"StoreWrongType\"] = \"StoreWrongType\";\n /**\n * Transaction was cancelled, due to grid.\n * Callback isApplyServerSideTransaction() returning false\n */\n ServerSideTransactionResultStatus[\"Cancelled\"] = \"Cancelled\";\n})(ServerSideTransactionResultStatus || (ServerSideTransactionResultStatus = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// when doing transactions, or change detection, and grouping is present\n// in the data, there is no need for the ClientSideRowModel to update each\n// group after an update, ony parts that were impacted by the change.\n// this class keeps track of all groups that were impacted by a transaction.\n// the the different CSRM operations (filter, sort etc) use the forEach method\n// to visit each group that was changed.\nvar ChangedPath = /** @class */ (function () {\n function ChangedPath(keepingColumns, rootNode) {\n // whether changed path is active of not. it is active when a) doing\n // a transaction update or b) doing change detection. if we are doing\n // a CSRM refresh for other reasons (after sort or filter, or user calling\n // setRowData() without delta mode) then we are not active. we are also\n // marked as not active if secondary columns change in pivot (as this impacts\n // aggregations)\n this.active = true;\n // for each node in the change path, we also store which columns need\n // to be re-aggregated.\n this.nodeIdsToColumns = {};\n // for quick lookup, all items in the change path are mapped by nodeId\n this.mapToItems = {};\n this.keepingColumns = keepingColumns;\n this.pathRoot = {\n rowNode: rootNode,\n children: null\n };\n this.mapToItems[rootNode.id] = this.pathRoot;\n }\n // can be set inactive by:\n // a) ClientSideRowModel, if no transactions or\n // b) PivotService, if secondary columns changed\n ChangedPath.prototype.setInactive = function () {\n this.active = false;\n };\n ChangedPath.prototype.isActive = function () {\n return this.active;\n };\n ChangedPath.prototype.depthFirstSearchChangedPath = function (pathItem, callback) {\n if (pathItem.children) {\n for (var i = 0; i < pathItem.children.length; i++) {\n this.depthFirstSearchChangedPath(pathItem.children[i], callback);\n }\n }\n callback(pathItem.rowNode);\n };\n ChangedPath.prototype.depthFirstSearchEverything = function (rowNode, callback, traverseEverything) {\n if (rowNode.childrenAfterGroup) {\n for (var i = 0; i < rowNode.childrenAfterGroup.length; i++) {\n var childNode = rowNode.childrenAfterGroup[i];\n if (childNode.childrenAfterGroup) {\n this.depthFirstSearchEverything(rowNode.childrenAfterGroup[i], callback, traverseEverything);\n }\n else if (traverseEverything) {\n callback(childNode);\n }\n }\n }\n callback(rowNode);\n };\n // traverseLeafNodes -> used when NOT doing changed path, ie traversing everything. the callback\n // will be called for child nodes in addition to parent nodes.\n ChangedPath.prototype.forEachChangedNodeDepthFirst = function (callback, traverseLeafNodes, includeUnchangedNodes) {\n if (traverseLeafNodes === void 0) { traverseLeafNodes = false; }\n if (includeUnchangedNodes === void 0) { includeUnchangedNodes = false; }\n if (this.active && !includeUnchangedNodes) {\n // if we are active, then use the change path to callback\n // only for updated groups\n this.depthFirstSearchChangedPath(this.pathRoot, callback);\n }\n else {\n // we are not active, so callback for everything, walk the entire path\n this.depthFirstSearchEverything(this.pathRoot.rowNode, callback, traverseLeafNodes);\n }\n };\n ChangedPath.prototype.executeFromRootNode = function (callback) {\n callback(this.pathRoot.rowNode);\n };\n ChangedPath.prototype.createPathItems = function (rowNode) {\n var pointer = rowNode;\n var newEntryCount = 0;\n while (!this.mapToItems[pointer.id]) {\n var newEntry = {\n rowNode: pointer,\n children: null\n };\n this.mapToItems[pointer.id] = newEntry;\n newEntryCount++;\n pointer = pointer.parent;\n }\n return newEntryCount;\n };\n ChangedPath.prototype.populateColumnsMap = function (rowNode, columns) {\n var _this = this;\n if (!this.keepingColumns || !columns) {\n return;\n }\n var pointer = rowNode;\n while (pointer) {\n // if columns, add the columns in all the way to parent, merging\n // in any other columns that might be there already\n if (!this.nodeIdsToColumns[pointer.id]) {\n this.nodeIdsToColumns[pointer.id] = {};\n }\n columns.forEach(function (col) { return _this.nodeIdsToColumns[pointer.id][col.getId()] = true; });\n pointer = pointer.parent;\n }\n };\n ChangedPath.prototype.linkPathItems = function (rowNode, newEntryCount) {\n var pointer = rowNode;\n for (var i = 0; i < newEntryCount; i++) {\n var thisItem = this.mapToItems[pointer.id];\n var parentItem = this.mapToItems[pointer.parent.id];\n if (!parentItem.children) {\n parentItem.children = [];\n }\n parentItem.children.push(thisItem);\n pointer = pointer.parent;\n }\n };\n // called by\n // 1) change detection (provides cols) and\n // 2) groupStage if doing transaction update (doesn't provide cols)\n ChangedPath.prototype.addParentNode = function (rowNode, columns) {\n if (!rowNode || rowNode.isRowPinned()) {\n return;\n }\n // we cannot do both steps below in the same loop as\n // the second loop has a dependency on the first loop.\n // ie the hierarchy cannot be stitched up yet because\n // we don't have it built yet\n // create the new PathItem objects.\n var newEntryCount = this.createPathItems(rowNode);\n // link in the node items\n this.linkPathItems(rowNode, newEntryCount);\n // update columns\n this.populateColumnsMap(rowNode, columns);\n };\n ChangedPath.prototype.canSkip = function (rowNode) {\n return this.active && !this.mapToItems[rowNode.id];\n };\n ChangedPath.prototype.getValueColumnsForNode = function (rowNode, valueColumns) {\n if (!this.keepingColumns) {\n return valueColumns;\n }\n var colsForThisNode = this.nodeIdsToColumns[rowNode.id];\n var result = valueColumns.filter(function (col) { return colsForThisNode[col.getId()]; });\n return result;\n };\n ChangedPath.prototype.getNotValueColumnsForNode = function (rowNode, valueColumns) {\n if (!this.keepingColumns) {\n return null;\n }\n var colsForThisNode = this.nodeIdsToColumns[rowNode.id];\n var result = valueColumns.filter(function (col) { return !colsForThisNode[col.getId()]; });\n return result;\n };\n return ChangedPath;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$17 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar RowNodeBlock = /** @class */ (function (_super) {\n __extends$17(RowNodeBlock, _super);\n function RowNodeBlock(id) {\n var _this = _super.call(this) || this;\n _this.state = RowNodeBlock.STATE_WAITING_TO_LOAD;\n _this.version = 0;\n _this.id = id;\n return _this;\n }\n RowNodeBlock.prototype.getId = function () {\n return this.id;\n };\n RowNodeBlock.prototype.load = function () {\n this.state = RowNodeBlock.STATE_LOADING;\n this.loadFromDatasource();\n };\n RowNodeBlock.prototype.getVersion = function () {\n return this.version;\n };\n RowNodeBlock.prototype.setStateWaitingToLoad = function () {\n // in case any current loads in progress, this will have their results ignored\n this.version++;\n this.state = RowNodeBlock.STATE_WAITING_TO_LOAD;\n };\n RowNodeBlock.prototype.getState = function () {\n return this.state;\n };\n RowNodeBlock.prototype.pageLoadFailed = function (version) {\n var requestMostRecentAndLive = this.isRequestMostRecentAndLive(version);\n if (requestMostRecentAndLive) {\n this.state = RowNodeBlock.STATE_FAILED;\n this.processServerFail();\n }\n this.dispatchLoadCompleted(false);\n };\n RowNodeBlock.prototype.success = function (version, params) {\n this.successCommon(version, params);\n };\n RowNodeBlock.prototype.pageLoaded = function (version, rows, lastRow) {\n this.successCommon(version, { rowData: rows, rowCount: lastRow });\n };\n RowNodeBlock.prototype.isRequestMostRecentAndLive = function (version) {\n // thisIsMostRecentRequest - if block was refreshed, then another request\n // could of been sent after this one.\n var thisIsMostRecentRequest = version === this.version;\n // weAreNotDestroyed - if InfiniteStore is purged, then blocks are destroyed\n // and new blocks created. so data loads of old blocks are discarded.\n var weAreNotDestroyed = this.isAlive();\n return thisIsMostRecentRequest && weAreNotDestroyed;\n };\n RowNodeBlock.prototype.successCommon = function (version, params) {\n // need to dispatch load complete before processing the data, as PaginationComp checks\n // RowNodeBlockLoader to see if it is still loading, so the RowNodeBlockLoader needs to\n // be updated first (via LoadComplete event) before PaginationComp updates (via processServerResult method)\n this.dispatchLoadCompleted();\n var requestMostRecentAndLive = this.isRequestMostRecentAndLive(version);\n if (requestMostRecentAndLive) {\n this.state = RowNodeBlock.STATE_LOADED;\n this.processServerResult(params);\n }\n };\n RowNodeBlock.prototype.dispatchLoadCompleted = function (success) {\n if (success === void 0) { success = true; }\n // we fire event regardless of processing data or now, as we want\n // the concurrentLoadRequests count to be reduced in BlockLoader\n var event = {\n type: RowNodeBlock.EVENT_LOAD_COMPLETE,\n success: success,\n block: this\n };\n this.dispatchEvent(event);\n };\n RowNodeBlock.EVENT_LOAD_COMPLETE = 'loadComplete';\n RowNodeBlock.STATE_WAITING_TO_LOAD = 'needsLoading';\n RowNodeBlock.STATE_LOADING = 'loading';\n RowNodeBlock.STATE_LOADED = 'loaded';\n RowNodeBlock.STATE_FAILED = 'failed';\n return RowNodeBlock;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$16 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$10 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$6 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar RowNodeBlockLoader = /** @class */ (function (_super) {\n __extends$16(RowNodeBlockLoader, _super);\n function RowNodeBlockLoader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.activeBlockLoadsCount = 0;\n _this.blocks = [];\n _this.active = true;\n return _this;\n }\n RowNodeBlockLoader_1 = RowNodeBlockLoader;\n RowNodeBlockLoader.prototype.postConstruct = function () {\n this.maxConcurrentRequests = this.gridOptionsWrapper.getMaxConcurrentDatasourceRequests();\n var blockLoadDebounceMillis = this.gridOptionsWrapper.getBlockLoadDebounceMillis();\n if (blockLoadDebounceMillis && blockLoadDebounceMillis > 0) {\n this.checkBlockToLoadDebounce = _.debounce(this.performCheckBlocksToLoad.bind(this), blockLoadDebounceMillis);\n }\n };\n RowNodeBlockLoader.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('RowNodeBlockLoader');\n };\n RowNodeBlockLoader.prototype.addBlock = function (block) {\n this.blocks.push(block);\n // note that we do not remove this listener when removing the block. this is because the\n // cache can get destroyed (and containing blocks) when a block is loading. however the loading block\n // is still counted as an active loading block and we must decrement activeBlockLoadsCount when it finishes.\n block.addEventListener(RowNodeBlock.EVENT_LOAD_COMPLETE, this.loadComplete.bind(this));\n this.checkBlockToLoad();\n };\n RowNodeBlockLoader.prototype.removeBlock = function (block) {\n _.removeFromArray(this.blocks, block);\n };\n RowNodeBlockLoader.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.active = false;\n };\n RowNodeBlockLoader.prototype.loadComplete = function () {\n this.activeBlockLoadsCount--;\n this.checkBlockToLoad();\n if (this.activeBlockLoadsCount == 0) {\n this.dispatchEvent({ type: RowNodeBlockLoader_1.BLOCK_LOADER_FINISHED_EVENT });\n }\n };\n RowNodeBlockLoader.prototype.checkBlockToLoad = function () {\n if (this.checkBlockToLoadDebounce) {\n this.checkBlockToLoadDebounce();\n }\n else {\n this.performCheckBlocksToLoad();\n }\n };\n RowNodeBlockLoader.prototype.performCheckBlocksToLoad = function () {\n if (!this.active) {\n return;\n }\n this.printCacheStatus();\n if (this.maxConcurrentRequests != null && this.activeBlockLoadsCount >= this.maxConcurrentRequests) {\n this.logger.log(\"checkBlockToLoad: max loads exceeded\");\n return;\n }\n var loadAvailability = this.maxConcurrentRequests !== undefined ? this.maxConcurrentRequests - this.activeBlockLoadsCount : undefined;\n var blocksToLoad = this.blocks.filter(function (block) { return (block.getState() === RowNodeBlock.STATE_WAITING_TO_LOAD); }).slice(0, loadAvailability);\n this.activeBlockLoadsCount += blocksToLoad.length;\n blocksToLoad.forEach(function (block) { return block.load(); });\n this.printCacheStatus();\n };\n RowNodeBlockLoader.prototype.getBlockState = function () {\n var result = {};\n this.blocks.forEach(function (block) {\n var _a = block.getBlockStateJson(), id = _a.id, state = _a.state;\n result[id] = state;\n });\n return result;\n };\n RowNodeBlockLoader.prototype.printCacheStatus = function () {\n if (this.logger.isLogging()) {\n this.logger.log(\"printCacheStatus: activePageLoadsCount = \" + this.activeBlockLoadsCount + \",\"\n + (\" blocks = \" + JSON.stringify(this.getBlockState())));\n }\n };\n RowNodeBlockLoader.prototype.isLoading = function () {\n return this.activeBlockLoadsCount > 0;\n };\n var RowNodeBlockLoader_1;\n RowNodeBlockLoader.BLOCK_LOADER_FINISHED_EVENT = 'blockLoaderFinished';\n __decorate$10([\n PostConstruct\n ], RowNodeBlockLoader.prototype, \"postConstruct\", null);\n __decorate$10([\n __param$6(0, Qualifier('loggerFactory'))\n ], RowNodeBlockLoader.prototype, \"setBeans\", null);\n RowNodeBlockLoader = RowNodeBlockLoader_1 = __decorate$10([\n Bean('rowNodeBlockLoader')\n ], RowNodeBlockLoader);\n return RowNodeBlockLoader;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$15 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$$ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PaginationProxy = /** @class */ (function (_super) {\n __extends$15(PaginationProxy, _super);\n function PaginationProxy() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.currentPage = 0;\n _this.topDisplayedRowIndex = 0;\n _this.bottomDisplayedRowIndex = 0;\n _this.pixelOffset = 0;\n _this.masterRowCount = 0;\n return _this;\n }\n PaginationProxy.prototype.postConstruct = function () {\n this.active = this.gridOptionsWrapper.isPagination();\n this.paginateChildRows = this.gridOptionsWrapper.isPaginateChildRows();\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, this.onModelUpdated.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, 'paginationPageSize', this.onPaginationPageSizeChanged.bind(this));\n this.onModelUpdated();\n };\n PaginationProxy.prototype.ensureRowHeightsValid = function (startPixel, endPixel, startLimitIndex, endLimitIndex) {\n var res = this.rowModel.ensureRowHeightsValid(startPixel, endPixel, this.getPageFirstRow(), this.getPageLastRow());\n if (res) {\n this.calculatePages();\n }\n return res;\n };\n PaginationProxy.prototype.onModelUpdated = function (modelUpdatedEvent) {\n this.calculatePages();\n var paginationChangedEvent = {\n type: Events.EVENT_PAGINATION_CHANGED,\n animate: modelUpdatedEvent ? modelUpdatedEvent.animate : false,\n newData: modelUpdatedEvent ? modelUpdatedEvent.newData : false,\n newPage: modelUpdatedEvent ? modelUpdatedEvent.newPage : false,\n keepRenderedRows: modelUpdatedEvent ? modelUpdatedEvent.keepRenderedRows : false\n };\n this.eventService.dispatchEvent(paginationChangedEvent);\n };\n PaginationProxy.prototype.onPaginationPageSizeChanged = function () {\n this.calculatePages();\n var paginationChangedEvent = {\n type: Events.EVENT_PAGINATION_CHANGED,\n animate: false,\n newData: false,\n newPage: false,\n // important to keep rendered rows, otherwise every time grid is resized,\n // we would destroy all the rows.\n keepRenderedRows: true\n };\n this.eventService.dispatchEvent(paginationChangedEvent);\n };\n PaginationProxy.prototype.goToPage = function (page) {\n if (!this.active || this.currentPage === page) {\n return;\n }\n this.currentPage = page;\n var event = {\n type: Events.EVENT_MODEL_UPDATED,\n animate: false,\n keepRenderedRows: false,\n newData: false,\n newPage: true\n };\n this.onModelUpdated(event);\n };\n PaginationProxy.prototype.getPixelOffset = function () {\n return this.pixelOffset;\n };\n PaginationProxy.prototype.getRow = function (index) {\n return this.rowModel.getRow(index);\n };\n PaginationProxy.prototype.getRowNode = function (id) {\n return this.rowModel.getRowNode(id);\n };\n PaginationProxy.prototype.getRowIndexAtPixel = function (pixel) {\n return this.rowModel.getRowIndexAtPixel(pixel);\n };\n PaginationProxy.prototype.getCurrentPageHeight = function () {\n if (missing(this.topRowBounds) || missing(this.bottomRowBounds)) {\n return 0;\n }\n return Math.max(this.bottomRowBounds.rowTop + this.bottomRowBounds.rowHeight - this.topRowBounds.rowTop, 0);\n };\n PaginationProxy.prototype.getCurrentPagePixelRange = function () {\n var pageFirstPixel = this.topRowBounds ? this.topRowBounds.rowTop : 0;\n var pageLastPixel = this.bottomRowBounds ? this.bottomRowBounds.rowTop + this.bottomRowBounds.rowHeight : 0;\n return { pageFirstPixel: pageFirstPixel, pageLastPixel: pageLastPixel };\n };\n PaginationProxy.prototype.isRowPresent = function (rowNode) {\n if (!this.rowModel.isRowPresent(rowNode)) {\n return false;\n }\n var nodeIsInPage = rowNode.rowIndex >= this.topDisplayedRowIndex && rowNode.rowIndex <= this.bottomDisplayedRowIndex;\n return nodeIsInPage;\n };\n PaginationProxy.prototype.isEmpty = function () {\n return this.rowModel.isEmpty();\n };\n PaginationProxy.prototype.isRowsToRender = function () {\n return this.rowModel.isRowsToRender();\n };\n PaginationProxy.prototype.getNodesInRangeForSelection = function (firstInRange, lastInRange) {\n return this.rowModel.getNodesInRangeForSelection(firstInRange, lastInRange);\n };\n PaginationProxy.prototype.forEachNode = function (callback) {\n return this.rowModel.forEachNode(callback);\n };\n PaginationProxy.prototype.getType = function () {\n return this.rowModel.getType();\n };\n PaginationProxy.prototype.getRowBounds = function (index) {\n var res = this.rowModel.getRowBounds(index);\n res.rowIndex = index;\n return res;\n };\n PaginationProxy.prototype.getPageFirstRow = function () {\n return this.topRowBounds ? this.topRowBounds.rowIndex : -1;\n };\n PaginationProxy.prototype.getPageLastRow = function () {\n return this.bottomRowBounds ? this.bottomRowBounds.rowIndex : -1;\n };\n PaginationProxy.prototype.getRowCount = function () {\n return this.rowModel.getRowCount();\n };\n PaginationProxy.prototype.getPageForIndex = function (index) {\n return Math.floor(index / this.pageSize);\n };\n PaginationProxy.prototype.goToPageWithIndex = function (index) {\n if (!this.active) {\n return;\n }\n var pageNumber = this.getPageForIndex(index);\n this.goToPage(pageNumber);\n };\n PaginationProxy.prototype.isRowInPage = function (row) {\n if (!this.active) {\n return true;\n }\n var rowPage = this.getPageForIndex(row.rowIndex);\n return rowPage === this.currentPage;\n };\n PaginationProxy.prototype.isLastPageFound = function () {\n return this.rowModel.isLastRowIndexKnown();\n };\n PaginationProxy.prototype.getCurrentPage = function () {\n return this.currentPage;\n };\n PaginationProxy.prototype.goToNextPage = function () {\n this.goToPage(this.currentPage + 1);\n };\n PaginationProxy.prototype.goToPreviousPage = function () {\n this.goToPage(this.currentPage - 1);\n };\n PaginationProxy.prototype.goToFirstPage = function () {\n this.goToPage(0);\n };\n PaginationProxy.prototype.goToLastPage = function () {\n var rowCount = this.rowModel.getRowCount();\n var lastPage = Math.floor(rowCount / this.pageSize);\n this.goToPage(lastPage);\n };\n PaginationProxy.prototype.getPageSize = function () {\n return this.pageSize;\n };\n PaginationProxy.prototype.getTotalPages = function () {\n return this.totalPages;\n };\n PaginationProxy.prototype.setPageSize = function () {\n // show put this into super class\n this.pageSize = this.gridOptionsWrapper.getPaginationPageSize();\n if (this.pageSize == null || this.pageSize < 1) {\n this.pageSize = 100;\n }\n };\n PaginationProxy.prototype.calculatePages = function () {\n if (this.active) {\n this.setPageSize();\n if (this.paginateChildRows) {\n this.calculatePagesAllRows();\n }\n else {\n this.calculatePagesMasterRowsOnly();\n }\n }\n else {\n this.calculatedPagesNotActive();\n }\n this.topRowBounds = this.rowModel.getRowBounds(this.topDisplayedRowIndex);\n if (this.topRowBounds) {\n this.topRowBounds.rowIndex = this.topDisplayedRowIndex;\n }\n this.bottomRowBounds = this.rowModel.getRowBounds(this.bottomDisplayedRowIndex);\n if (this.bottomRowBounds) {\n this.bottomRowBounds.rowIndex = this.bottomDisplayedRowIndex;\n }\n this.setPixelOffset(exists(this.topRowBounds) ? this.topRowBounds.rowTop : 0);\n };\n PaginationProxy.prototype.setPixelOffset = function (value) {\n if (this.pixelOffset === value) {\n return;\n }\n this.pixelOffset = value;\n this.eventService.dispatchEvent({ type: Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED });\n };\n PaginationProxy.prototype.setZeroRows = function () {\n this.masterRowCount = 0;\n this.topDisplayedRowIndex = 0;\n this.bottomDisplayedRowIndex = -1;\n this.currentPage = 0;\n this.totalPages = 0;\n };\n PaginationProxy.prototype.calculatePagesMasterRowsOnly = function () {\n // const csrm = this.rowModel;\n // const rootNode = csrm.getRootNode();\n // const masterRows = rootNode.childrenAfterSort;\n this.masterRowCount = this.rowModel.getTopLevelRowCount();\n // we say <=0 (rather than =0) as viewport returns -1 when no rows\n if (this.masterRowCount <= 0) {\n this.setZeroRows();\n return;\n }\n var masterLastRowIndex = this.masterRowCount - 1;\n this.totalPages = Math.floor((masterLastRowIndex) / this.pageSize) + 1;\n if (this.currentPage >= this.totalPages) {\n this.currentPage = this.totalPages - 1;\n }\n if (!isNumeric(this.currentPage) || this.currentPage < 0) {\n this.currentPage = 0;\n }\n var masterPageStartIndex = this.pageSize * this.currentPage;\n var masterPageEndIndex = (this.pageSize * (this.currentPage + 1)) - 1;\n if (masterPageEndIndex > masterLastRowIndex) {\n masterPageEndIndex = masterLastRowIndex;\n }\n this.topDisplayedRowIndex = this.rowModel.getTopLevelRowDisplayedIndex(masterPageStartIndex);\n // masterRows[masterPageStartIndex].rowIndex;\n if (masterPageEndIndex === masterLastRowIndex) {\n // if showing the last master row, then we want to show the very last row of the model\n this.bottomDisplayedRowIndex = this.rowModel.getRowCount() - 1;\n }\n else {\n var firstIndexNotToShow = this.rowModel.getTopLevelRowDisplayedIndex(masterPageEndIndex + 1);\n //masterRows[masterPageEndIndex + 1].rowIndex;\n // this gets the index of the last child - eg current row is open, we want to display all children,\n // the index of the last child is one less than the index of the next parent row.\n this.bottomDisplayedRowIndex = firstIndexNotToShow - 1;\n }\n };\n PaginationProxy.prototype.getMasterRowCount = function () {\n return this.masterRowCount;\n };\n PaginationProxy.prototype.calculatePagesAllRows = function () {\n this.masterRowCount = this.rowModel.getRowCount();\n if (this.masterRowCount === 0) {\n this.setZeroRows();\n return;\n }\n var maxRowIndex = this.masterRowCount - 1;\n this.totalPages = Math.floor((maxRowIndex) / this.pageSize) + 1;\n if (this.currentPage >= this.totalPages) {\n this.currentPage = this.totalPages - 1;\n }\n if (!isNumeric(this.currentPage) || this.currentPage < 0) {\n this.currentPage = 0;\n }\n this.topDisplayedRowIndex = this.pageSize * this.currentPage;\n this.bottomDisplayedRowIndex = (this.pageSize * (this.currentPage + 1)) - 1;\n if (this.bottomDisplayedRowIndex > maxRowIndex) {\n this.bottomDisplayedRowIndex = maxRowIndex;\n }\n };\n PaginationProxy.prototype.calculatedPagesNotActive = function () {\n this.pageSize = this.rowModel.getRowCount();\n this.totalPages = 1;\n this.currentPage = 0;\n this.topDisplayedRowIndex = 0;\n this.bottomDisplayedRowIndex = this.rowModel.getRowCount() - 1;\n };\n __decorate$$([\n Autowired('rowModel')\n ], PaginationProxy.prototype, \"rowModel\", void 0);\n __decorate$$([\n PostConstruct\n ], PaginationProxy.prototype, \"postConstruct\", null);\n PaginationProxy = __decorate$$([\n Bean('paginationProxy')\n ], PaginationProxy);\n return PaginationProxy;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$14 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$_ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar StylingService = /** @class */ (function (_super) {\n __extends$14(StylingService, _super);\n function StylingService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StylingService.prototype.processAllCellClasses = function (colDef, params, onApplicableClass, onNotApplicableClass) {\n this.processClassRules(colDef.cellClassRules, params, onApplicableClass, onNotApplicableClass);\n this.processStaticCellClasses(colDef, params, onApplicableClass);\n };\n StylingService.prototype.processClassRules = function (classRules, params, onApplicableClass, onNotApplicableClass) {\n if (classRules == null) {\n return;\n }\n var classNames = Object.keys(classRules);\n var classesToApply = {};\n var classesToRemove = {};\n var _loop_1 = function (i) {\n var className = classNames[i];\n var rule = classRules[className];\n var resultOfRule;\n if (typeof rule === 'string') {\n resultOfRule = this_1.expressionService.evaluate(rule, params);\n }\n else if (typeof rule === 'function') {\n resultOfRule = rule(params);\n }\n // in case className = 'my-class1 my-class2', we need to split into individual class names\n className.split(' ').forEach(function (singleClass) {\n if (singleClass == null || singleClass.trim() == '') {\n return;\n }\n resultOfRule ? classesToApply[singleClass] = true : classesToRemove[singleClass] = true;\n });\n };\n var this_1 = this;\n for (var i = 0; i < classNames.length; i++) {\n _loop_1(i);\n }\n // we remove all classes first, then add all classes second,\n // in case a class appears in more than one rule, this means it will be added\n // if appears in at least one truthy rule\n if (onNotApplicableClass) {\n Object.keys(classesToRemove).forEach(onNotApplicableClass);\n }\n Object.keys(classesToApply).forEach(onApplicableClass);\n };\n StylingService.prototype.getStaticCellClasses = function (colDef, params) {\n var cellClass = colDef.cellClass;\n if (!cellClass) {\n return [];\n }\n var classOrClasses;\n if (typeof cellClass === 'function') {\n var cellClassFunc = cellClass;\n classOrClasses = cellClassFunc(params);\n }\n else {\n classOrClasses = cellClass;\n }\n if (typeof classOrClasses === 'string') {\n classOrClasses = [classOrClasses];\n }\n return classOrClasses || [];\n };\n StylingService.prototype.processStaticCellClasses = function (colDef, params, onApplicableClass) {\n var classOrClasses = this.getStaticCellClasses(colDef, params);\n classOrClasses.forEach(function (cssClassItem) {\n onApplicableClass(cssClassItem);\n });\n };\n __decorate$_([\n Autowired('expressionService')\n ], StylingService.prototype, \"expressionService\", void 0);\n StylingService = __decorate$_([\n Bean('stylingService')\n ], StylingService);\n return StylingService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$13 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgRadioButton = /** @class */ (function (_super) {\n __extends$13(AgRadioButton, _super);\n function AgRadioButton(config) {\n return _super.call(this, config, 'ag-radio-button', 'radio') || this;\n }\n AgRadioButton.prototype.isSelected = function () {\n return this.eInput.checked;\n };\n AgRadioButton.prototype.toggle = function () {\n if (this.eInput.disabled) {\n return;\n }\n // do not allow an active radio button to be deselected\n if (!this.isSelected()) {\n this.setValue(true);\n }\n };\n AgRadioButton.prototype.addInputListeners = function () {\n _super.prototype.addInputListeners.call(this);\n this.addManagedListener(this.eventService, Events.EVENT_CHECKBOX_CHANGED, this.onChange.bind(this));\n };\n /**\n * This ensures that if another radio button in the same named group is selected, we deselect this radio button.\n * By default the browser does this for you, but we are managing classes ourselves in order to ensure input\n * elements are styled correctly in IE11, and the DOM 'changed' event is only fired when a button is selected,\n * not deselected, so we need to use our own event.\n */\n AgRadioButton.prototype.onChange = function (event) {\n if (event.selected &&\n event.name &&\n this.eInput.name &&\n this.eInput.name === event.name &&\n event.id &&\n this.eInput.id !== event.id) {\n this.setValue(false, true);\n }\n };\n return AgRadioButton;\n}(AgCheckbox));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$12 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgToggleButton = /** @class */ (function (_super) {\n __extends$12(AgToggleButton, _super);\n function AgToggleButton(config) {\n return _super.call(this, config, 'ag-toggle-button') || this;\n }\n AgToggleButton.prototype.setValue = function (value, silent) {\n _super.prototype.setValue.call(this, value, silent);\n this.addOrRemoveCssClass('ag-selected', this.getValue());\n return this;\n };\n return AgToggleButton;\n}(AgCheckbox));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$11 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputTextField = /** @class */ (function (_super) {\n __extends$11(AgInputTextField, _super);\n function AgInputTextField(config, className, inputType) {\n if (className === void 0) { className = 'ag-text-field'; }\n if (inputType === void 0) { inputType = 'text'; }\n return _super.call(this, config, className, inputType) || this;\n }\n AgInputTextField.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n if (this.config.allowedCharPattern) {\n this.preventDisallowedCharacters();\n }\n };\n AgInputTextField.prototype.setValue = function (value, silent) {\n var ret = _super.prototype.setValue.call(this, value, silent);\n if (this.eInput.value !== value) {\n this.eInput.value = exists(value) ? value : '';\n }\n return ret;\n };\n AgInputTextField.prototype.preventDisallowedCharacters = function () {\n var pattern = new RegExp(\"[\" + this.config.allowedCharPattern + \"]\");\n var preventDisallowedCharacters = function (event) {\n if (event.key && !pattern.test(event.key)) {\n event.preventDefault();\n }\n };\n this.addManagedListener(this.eInput, 'keypress', preventDisallowedCharacters);\n this.addManagedListener(this.eInput, 'paste', function (e) {\n var _a;\n var text = (_a = e.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');\n if (text && text.split('').some(function (c) { return !pattern.test(c); })) {\n e.preventDefault();\n }\n });\n };\n return AgInputTextField;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$10 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputTextArea = /** @class */ (function (_super) {\n __extends$10(AgInputTextArea, _super);\n function AgInputTextArea(config) {\n return _super.call(this, config, 'ag-text-area', null, 'textarea') || this;\n }\n AgInputTextArea.prototype.setValue = function (value, silent) {\n var ret = _super.prototype.setValue.call(this, value, silent);\n this.eInput.value = value;\n return ret;\n };\n AgInputTextArea.prototype.setCols = function (cols) {\n this.eInput.cols = cols;\n return this;\n };\n AgInputTextArea.prototype.setRows = function (rows) {\n this.eInput.rows = rows;\n return this;\n };\n return AgInputTextArea;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$$ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputNumberField = /** @class */ (function (_super) {\n __extends$$(AgInputNumberField, _super);\n function AgInputNumberField(config) {\n return _super.call(this, config, 'ag-number-field', 'number') || this;\n }\n AgInputNumberField.prototype.postConstruct = function () {\n var _this = this;\n _super.prototype.postConstruct.call(this);\n this.addManagedListener(this.eInput, 'blur', function () {\n var floatedValue = parseFloat(_this.eInput.value);\n var value = isNaN(floatedValue) ? '' : _this.normalizeValue(floatedValue.toString());\n if (_this.value !== value) {\n _this.setValue(value);\n }\n });\n this.addManagedListener(this.eInput, 'wheel', this.onWheel.bind(this));\n this.eInput.step = 'any';\n };\n AgInputNumberField.prototype.onWheel = function (e) {\n // Prevent default scroll events from incrementing / decrementing the input, since its inconsistent between browsers\n if (document.activeElement === this.eInput) {\n e.preventDefault();\n }\n };\n AgInputNumberField.prototype.normalizeValue = function (value) {\n if (value === '') {\n return '';\n }\n if (this.precision) {\n value = this.adjustPrecision(value);\n }\n var val = parseFloat(value);\n if (this.min != null && val < this.min) {\n value = this.min.toString();\n }\n else if (this.max != null && val > this.max) {\n value = this.max.toString();\n }\n return value;\n };\n AgInputNumberField.prototype.adjustPrecision = function (value) {\n if (this.precision) {\n var floatString = parseFloat(value).toFixed(this.precision);\n value = parseFloat(floatString).toString();\n }\n return value;\n };\n AgInputNumberField.prototype.setMin = function (min) {\n if (this.min === min) {\n return this;\n }\n this.min = min;\n addOrRemoveAttribute(this.eInput, 'min', min);\n return this;\n };\n AgInputNumberField.prototype.setMax = function (max) {\n if (this.max === max) {\n return this;\n }\n this.max = max;\n addOrRemoveAttribute(this.eInput, 'max', max);\n return this;\n };\n AgInputNumberField.prototype.setPrecision = function (precision) {\n this.precision = precision;\n return this;\n };\n AgInputNumberField.prototype.setStep = function (step) {\n if (this.step === step) {\n return this;\n }\n this.step = step;\n addOrRemoveAttribute(this.eInput, 'step', step);\n return this;\n };\n AgInputNumberField.prototype.setValue = function (value, silent) {\n value = this.adjustPrecision(value);\n var normalizedValue = this.normalizeValue(value);\n if (value != normalizedValue) {\n return this;\n }\n return _super.prototype.setValue.call(this, value, silent);\n };\n return AgInputNumberField;\n}(AgInputTextField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$_ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputRange = /** @class */ (function (_super) {\n __extends$_(AgInputRange, _super);\n function AgInputRange(config) {\n return _super.call(this, config, 'ag-range-field', 'range') || this;\n }\n AgInputRange.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n var _a = this.config, min = _a.min, max = _a.max, step = _a.step;\n if (min != null) {\n this.setMinValue(min);\n }\n if (max != null) {\n this.setMaxValue(max);\n }\n this.setStep(step || 1);\n };\n AgInputRange.prototype.addInputListeners = function () {\n var _this = this;\n this.addManagedListener(this.eInput, 'input', function (e) {\n var value = e.target.value;\n _this.setValue(value);\n });\n };\n AgInputRange.prototype.setMinValue = function (value) {\n this.min = value;\n this.eInput.setAttribute('min', value.toString());\n return this;\n };\n AgInputRange.prototype.setMaxValue = function (value) {\n this.max = value;\n this.eInput.setAttribute('max', value.toString());\n return this;\n };\n AgInputRange.prototype.setStep = function (value) {\n this.eInput.setAttribute('step', value.toString());\n return this;\n };\n AgInputRange.prototype.setValue = function (value, silent) {\n if (this.min != null) {\n value = Math.max(parseFloat(value), this.min).toString();\n }\n if (this.max != null) {\n value = Math.min(parseFloat(value), this.max).toString();\n }\n var ret = _super.prototype.setValue.call(this, value, silent);\n this.eInput.value = value;\n return ret;\n };\n return AgInputRange;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$Z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$Z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgSlider = /** @class */ (function (_super) {\n __extends$Z(AgSlider, _super);\n function AgSlider(config) {\n var _this = _super.call(this, config, AgSlider.TEMPLATE) || this;\n _this.labelAlignment = 'top';\n return _this;\n }\n AgSlider.prototype.init = function () {\n this.eSlider.addCssClass('ag-slider-field');\n };\n AgSlider.prototype.onValueChange = function (callbackFn) {\n var _this = this;\n var eventChanged = AgAbstractField.EVENT_CHANGED;\n this.addManagedListener(this.eText, eventChanged, function () {\n var textValue = parseFloat(_this.eText.getValue());\n _this.eSlider.setValue(textValue.toString(), true);\n callbackFn(textValue || 0);\n });\n this.addManagedListener(this.eSlider, eventChanged, function () {\n var sliderValue = _this.eSlider.getValue();\n _this.eText.setValue(sliderValue, true);\n callbackFn(parseFloat(sliderValue));\n });\n return this;\n };\n AgSlider.prototype.setSliderWidth = function (width) {\n this.eSlider.setWidth(width);\n return this;\n };\n AgSlider.prototype.setTextFieldWidth = function (width) {\n this.eText.setWidth(width);\n return this;\n };\n AgSlider.prototype.setMinValue = function (minValue) {\n this.eSlider.setMinValue(minValue);\n this.eText.setMin(minValue);\n return this;\n };\n AgSlider.prototype.setMaxValue = function (maxValue) {\n this.eSlider.setMaxValue(maxValue);\n this.eText.setMax(maxValue);\n return this;\n };\n AgSlider.prototype.getValue = function () {\n return this.eText.getValue();\n };\n AgSlider.prototype.setValue = function (value) {\n if (this.getValue() === value) {\n return this;\n }\n this.eText.setValue(value, true);\n this.eSlider.setValue(value, true);\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n return this;\n };\n AgSlider.prototype.setStep = function (step) {\n this.eSlider.setStep(step);\n this.eText.setStep(step);\n return this;\n };\n AgSlider.TEMPLATE = \"
\\n \\n
\\n \\n \\n
\\n
\";\n __decorate$Z([\n RefSelector('eLabel')\n ], AgSlider.prototype, \"eLabel\", void 0);\n __decorate$Z([\n RefSelector('eSlider')\n ], AgSlider.prototype, \"eSlider\", void 0);\n __decorate$Z([\n RefSelector('eText')\n ], AgSlider.prototype, \"eText\", void 0);\n __decorate$Z([\n PostConstruct\n ], AgSlider.prototype, \"init\", null);\n return AgSlider;\n}(AgAbstractLabel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$Y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$Y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgAngleSelect = /** @class */ (function (_super) {\n __extends$Y(AgAngleSelect, _super);\n function AgAngleSelect(config) {\n var _this = _super.call(this, config, AgAngleSelect.TEMPLATE) || this;\n _this.radius = 0;\n _this.offsetX = 0;\n _this.offsetY = 0;\n return _this;\n }\n AgAngleSelect.prototype.postConstruct = function () {\n var _this = this;\n _super.prototype.postConstruct.call(this);\n this.dragListener = {\n eElement: this.eParentCircle,\n dragStartPixels: 0,\n onDragStart: function (e) {\n _this.parentCircleRect = _this.eParentCircle.getBoundingClientRect();\n },\n onDragging: function (e) { return _this.calculateAngleDrag(e); },\n onDragStop: function () { }\n };\n this.dragService.addDragSource(this.dragListener);\n this.eAngleValue\n .setLabel('')\n .setLabelWidth(5)\n .setInputWidth(45)\n .setMin(0)\n .setMax(360)\n .setValue(\"\" + this.degrees)\n .onValueChange(function (value) {\n if (value == null || value === '') {\n value = '0';\n }\n value = _this.eAngleValue.normalizeValue(value);\n var floatValue = parseFloat(value);\n if (floatValue > 180) {\n floatValue = floatValue - 360;\n }\n _this.setValue(floatValue);\n });\n this.updateNumberInput();\n if (exists(this.getValue())) {\n this.eAngleValue.setValue(this.normalizeNegativeValue(this.getValue()).toString());\n }\n this.addManagedListener(this, AgAbstractField.EVENT_CHANGED, function () {\n var eDocument = _this.gridOptionsWrapper.getDocument();\n if (_this.eAngleValue.getInputElement().contains(eDocument.activeElement)) {\n return;\n }\n _this.updateNumberInput();\n });\n };\n AgAngleSelect.prototype.updateNumberInput = function () {\n var normalizedValue = this.normalizeNegativeValue(this.getValue());\n this.eAngleValue.setValue(normalizedValue.toString());\n };\n AgAngleSelect.prototype.positionChildCircle = function (radians) {\n var rect = this.parentCircleRect || { width: 24, height: 24 };\n var eChildCircle = this.eChildCircle;\n var centerX = rect.width / 2;\n var centerY = rect.height / 2;\n eChildCircle.style.left = centerX + Math.cos(radians) * 8 + \"px\";\n eChildCircle.style.top = centerY + Math.sin(radians) * 8 + \"px\";\n };\n AgAngleSelect.prototype.calculatePolar = function () {\n var x = this.offsetX;\n var y = this.offsetY;\n var radians = Math.atan2(y, x);\n this.degrees = this.toDegrees(radians);\n this.radius = Math.sqrt((x * x) + (y * y));\n this.positionChildCircle(radians);\n };\n AgAngleSelect.prototype.calculateCartesian = function () {\n var radians = this.toRadians(this.getValue());\n var radius = this.getRadius();\n this\n .setOffsetX(Math.cos(radians) * radius)\n .setOffsetY(Math.sin(radians) * radius);\n };\n AgAngleSelect.prototype.setOffsetX = function (offset) {\n if (this.offsetX !== offset) {\n this.offsetX = offset;\n this.calculatePolar();\n }\n return this;\n };\n AgAngleSelect.prototype.setOffsetY = function (offset) {\n if (this.offsetY !== offset) {\n this.offsetY = offset;\n this.calculatePolar();\n }\n return this;\n };\n AgAngleSelect.prototype.calculateAngleDrag = function (e) {\n var rect = this.parentCircleRect;\n var centerX = rect.width / 2;\n var centerY = rect.height / 2;\n var x = e.clientX - rect.left;\n var y = e.clientY - rect.top;\n var dx = x - centerX;\n var dy = y - centerY;\n var radians = Math.atan2(dy, dx);\n this.setValue(radians, true);\n };\n AgAngleSelect.prototype.toDegrees = function (radians) {\n return radians / Math.PI * 180;\n };\n AgAngleSelect.prototype.toRadians = function (degrees) {\n return degrees / 180 * Math.PI;\n };\n AgAngleSelect.prototype.normalizeNegativeValue = function (degrees) {\n return degrees < 0 ? 360 + degrees : degrees;\n };\n AgAngleSelect.prototype.normalizeAngle180 = function (radians) {\n radians %= Math.PI * 2;\n if (radians < -Math.PI) {\n radians += Math.PI * 2;\n }\n else if (radians >= Math.PI) {\n radians -= Math.PI * 2;\n }\n return radians;\n };\n AgAngleSelect.prototype.getRadius = function () {\n return this.radius;\n };\n AgAngleSelect.prototype.setRadius = function (r) {\n if (this.radius === r) {\n return this;\n }\n this.radius = r;\n this.calculateCartesian();\n return this;\n };\n AgAngleSelect.prototype.onValueChange = function (callbackFn) {\n var _this = this;\n this.addManagedListener(this, AgAbstractField.EVENT_CHANGED, function () {\n callbackFn(_this.degrees);\n });\n return this;\n };\n AgAngleSelect.prototype.getValue = function (radians) {\n return radians ? this.toRadians(this.degrees) : this.degrees;\n };\n AgAngleSelect.prototype.setValue = function (degrees, radians) {\n var radiansValue;\n if (!radians) {\n radiansValue = this.normalizeAngle180(this.toRadians(degrees));\n }\n else {\n radiansValue = degrees;\n }\n degrees = this.toDegrees(radiansValue);\n if (this.degrees !== degrees) {\n this.degrees = Math.floor(degrees);\n this.calculateCartesian();\n this.positionChildCircle(radiansValue);\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n }\n return this;\n };\n AgAngleSelect.prototype.setWidth = function (width) {\n setFixedWidth(this.getGui(), width);\n return this;\n };\n AgAngleSelect.prototype.setDisabled = function (disabled) {\n _super.prototype.setDisabled.call(this, disabled);\n this.eAngleValue.setDisabled(disabled);\n return this;\n };\n AgAngleSelect.prototype.destroy = function () {\n this.dragService.removeDragSource(this.dragListener);\n _super.prototype.destroy.call(this);\n };\n AgAngleSelect.TEMPLATE = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\";\n __decorate$Y([\n RefSelector('eLabel')\n ], AgAngleSelect.prototype, \"eLabel\", void 0);\n __decorate$Y([\n RefSelector('eParentCircle')\n ], AgAngleSelect.prototype, \"eParentCircle\", void 0);\n __decorate$Y([\n RefSelector('eChildCircle')\n ], AgAngleSelect.prototype, \"eChildCircle\", void 0);\n __decorate$Y([\n RefSelector('eAngleValue')\n ], AgAngleSelect.prototype, \"eAngleValue\", void 0);\n __decorate$Y([\n Autowired('dragService')\n ], AgAngleSelect.prototype, \"dragService\", void 0);\n return AgAngleSelect;\n}(AgAbstractLabel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$X = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$X = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$9 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar AgColorPanel = /** @class */ (function (_super) {\n __extends$X(AgColorPanel, _super);\n function AgColorPanel(config) {\n var _this = _super.call(this, AgColorPanel.TEMPLATE) || this;\n _this.H = 1; // in the [0, 1] range\n _this.S = 1; // in the [0, 1] range\n _this.B = 1; // in the [0, 1] range\n _this.A = 1; // in the [0, 1] range\n _this.isSpectrumDragging = false;\n _this.isSpectrumHueDragging = false;\n _this.isSpectrumAlphaDragging = false;\n _this.colorChanged = false;\n _this.picker = config.picker;\n return _this;\n }\n AgColorPanel.prototype.postConstruct = function () {\n var eGui = this.getGui();\n this.initRecentColors();\n this.addManagedListener(this.spectrumVal, 'mousedown', this.onSpectrumDraggerDown.bind(this));\n this.addManagedListener(eGui, 'mousemove', this.onSpectrumDraggerMove.bind(this));\n this.addManagedListener(this.spectrumHue, 'mousedown', this.onSpectrumHueDown.bind(this));\n this.addManagedListener(eGui, 'mousemove', this.onSpectrumHueMove.bind(this));\n this.addManagedListener(this.spectrumAlpha, 'mousedown', this.onSpectrumAlphaDown.bind(this));\n this.addManagedListener(eGui, 'mousemove', this.onSpectrumAlphaMove.bind(this));\n // Listening to `mouseup` on the document on purpose. The user might release the mouse button\n // outside the UI control. When the mouse returns back to the control's area, the dragging\n // of the thumb is not expected and seen as a bug.\n this.addManagedListener(document, 'mouseup', this.onMouseUp.bind(this));\n this.addManagedListener(this.recentColors, 'click', this.onRecentColorClick.bind(this));\n };\n AgColorPanel.prototype.refreshSpectrumRect = function () {\n return this.spectrumValRect = this.spectrumVal.getBoundingClientRect();\n };\n AgColorPanel.prototype.refreshHueRect = function () {\n return this.spectrumHueRect = this.spectrumHue.getBoundingClientRect();\n };\n AgColorPanel.prototype.refreshAlphaRect = function () {\n return this.spectrumAlphaRect = this.spectrumAlpha.getBoundingClientRect();\n };\n AgColorPanel.prototype.onSpectrumDraggerDown = function (e) {\n this.refreshSpectrumRect();\n this.isSpectrumDragging = true;\n this.moveDragger(e);\n };\n AgColorPanel.prototype.onSpectrumDraggerMove = function (e) {\n if (this.isSpectrumDragging) {\n this.moveDragger(e);\n }\n };\n AgColorPanel.prototype.onSpectrumHueDown = function (e) {\n this.refreshHueRect();\n this.isSpectrumHueDragging = true;\n this.moveHueSlider(e);\n };\n AgColorPanel.prototype.onSpectrumHueMove = function (e) {\n if (this.isSpectrumHueDragging) {\n this.moveHueSlider(e);\n }\n };\n AgColorPanel.prototype.onSpectrumAlphaDown = function (e) {\n this.refreshAlphaRect();\n this.isSpectrumAlphaDragging = true;\n this.moveAlphaSlider(e);\n };\n AgColorPanel.prototype.onSpectrumAlphaMove = function (e) {\n if (this.isSpectrumAlphaDragging) {\n this.moveAlphaSlider(e);\n }\n };\n AgColorPanel.prototype.onMouseUp = function () {\n this.isSpectrumDragging = false;\n this.isSpectrumHueDragging = false;\n this.isSpectrumAlphaDragging = false;\n };\n AgColorPanel.prototype.moveDragger = function (e) {\n var valRect = this.spectrumValRect;\n if (valRect) {\n var x = e.clientX - valRect.left;\n var y = e.clientY - valRect.top;\n x = Math.max(x, 0);\n x = Math.min(x, valRect.width);\n y = Math.max(y, 0);\n y = Math.min(y, valRect.height);\n this.setSpectrumValue(x / valRect.width, 1 - y / valRect.height);\n }\n };\n AgColorPanel.prototype.moveHueSlider = function (e) {\n var hueRect = this.spectrumHueRect;\n if (hueRect) {\n var slider = this.spectrumHueSlider;\n var sliderRect = slider.getBoundingClientRect();\n var x = e.clientX - hueRect.left;\n x = Math.max(x, 0);\n x = Math.min(x, hueRect.width);\n this.H = 1 - x / hueRect.width;\n slider.style.left = (x + sliderRect.width / 2) + 'px';\n this.update();\n }\n };\n AgColorPanel.prototype.moveAlphaSlider = function (e) {\n var alphaRect = this.spectrumAlphaRect;\n if (alphaRect) {\n var slider = this.spectrumAlphaSlider;\n var sliderRect = slider.getBoundingClientRect();\n var x = e.clientX - alphaRect.left;\n x = Math.max(x, 0);\n x = Math.min(x, alphaRect.width);\n this.A = x / alphaRect.width;\n slider.style.left = (x + sliderRect.width / 2) + 'px';\n this.update();\n }\n };\n AgColorPanel.prototype.update = function () {\n var color = Color.fromHSB(this.H * 360, this.S, this.B, this.A);\n var spectrumColor = Color.fromHSB(this.H * 360, 1, 1);\n var rgbaColor = color.toRgbaString();\n // the recent color list needs to know color has actually changed\n var colorPicker = this.picker;\n var existingColor = Color.fromString(colorPicker.getValue());\n if (existingColor.toRgbaString() !== rgbaColor) {\n this.colorChanged = true;\n }\n colorPicker.setValue(rgbaColor);\n this.spectrumColor.style.backgroundColor = spectrumColor.toRgbaString();\n this.spectrumDragger.style.backgroundColor = rgbaColor;\n };\n /**\n * @param saturation In the [0, 1] interval.\n * @param brightness In the [0, 1] interval.\n */\n AgColorPanel.prototype.setSpectrumValue = function (saturation, brightness) {\n var valRect = this.spectrumValRect || this.refreshSpectrumRect();\n if (valRect) {\n var dragger = this.spectrumDragger;\n var draggerRect = dragger.getBoundingClientRect();\n saturation = Math.max(0, saturation);\n saturation = Math.min(1, saturation);\n brightness = Math.max(0, brightness);\n brightness = Math.min(1, brightness);\n this.S = saturation;\n this.B = brightness;\n dragger.style.left = (saturation * valRect.width - draggerRect.width / 2) + 'px';\n dragger.style.top = ((1 - brightness) * valRect.height - draggerRect.height / 2) + 'px';\n this.update();\n }\n };\n AgColorPanel.prototype.initRecentColors = function () {\n var recentColors = AgColorPanel.recentColors;\n var innerHtml = recentColors.map(function (color, index) {\n return \"
\";\n });\n this.recentColors.innerHTML = innerHtml.join('');\n };\n AgColorPanel.prototype.setValue = function (val) {\n var color = Color.fromString(val);\n var _a = __read$9(color.toHSB(), 3), h = _a[0], s = _a[1], b = _a[2];\n this.H = (isNaN(h) ? 0 : h) / 360;\n this.A = color.a;\n var spectrumHueRect = this.spectrumHueRect || this.refreshHueRect();\n var spectrumAlphaRect = this.spectrumAlphaRect || this.refreshAlphaRect();\n this.spectrumHueSlider.style.left = ((this.H - 1) * -spectrumHueRect.width) + \"px\";\n this.spectrumAlphaSlider.style.left = (this.A * spectrumAlphaRect.width) + \"px\";\n this.setSpectrumValue(s, b);\n };\n AgColorPanel.prototype.onRecentColorClick = function (e) {\n var target = e.target;\n if (!exists(target.id)) {\n return;\n }\n var id = parseInt(target.id, 10);\n this.setValue(AgColorPanel.recentColors[id]);\n this.destroy();\n };\n AgColorPanel.prototype.addRecentColor = function () {\n var color = Color.fromHSB(this.H * 360, this.S, this.B, this.A);\n var rgbaColor = color.toRgbaString();\n var recentColors = AgColorPanel.recentColors;\n if (!this.colorChanged || recentColors[0] === rgbaColor) {\n return;\n }\n // remove duplicate color\n recentColors = recentColors.filter(function (currentColor) { return currentColor != rgbaColor; });\n // add color to head\n recentColors = [rgbaColor].concat(recentColors);\n // ensure we don't exceed max number of recent colors\n if (recentColors.length > AgColorPanel.maxRecentColors) {\n recentColors = recentColors.slice(0, AgColorPanel.maxRecentColors);\n }\n AgColorPanel.recentColors = recentColors;\n };\n AgColorPanel.prototype.destroy = function () {\n this.addRecentColor();\n _super.prototype.destroy.call(this);\n };\n AgColorPanel.maxRecentColors = 8;\n AgColorPanel.recentColors = [];\n AgColorPanel.TEMPLATE = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\";\n __decorate$X([\n RefSelector('spectrumColor')\n ], AgColorPanel.prototype, \"spectrumColor\", void 0);\n __decorate$X([\n RefSelector('spectrumVal')\n ], AgColorPanel.prototype, \"spectrumVal\", void 0);\n __decorate$X([\n RefSelector('spectrumDragger')\n ], AgColorPanel.prototype, \"spectrumDragger\", void 0);\n __decorate$X([\n RefSelector('spectrumHue')\n ], AgColorPanel.prototype, \"spectrumHue\", void 0);\n __decorate$X([\n RefSelector('spectrumHueSlider')\n ], AgColorPanel.prototype, \"spectrumHueSlider\", void 0);\n __decorate$X([\n RefSelector('spectrumAlpha')\n ], AgColorPanel.prototype, \"spectrumAlpha\", void 0);\n __decorate$X([\n RefSelector('spectrumAlphaSlider')\n ], AgColorPanel.prototype, \"spectrumAlphaSlider\", void 0);\n __decorate$X([\n RefSelector('recentColors')\n ], AgColorPanel.prototype, \"recentColors\", void 0);\n __decorate$X([\n PostConstruct\n ], AgColorPanel.prototype, \"postConstruct\", null);\n return AgColorPanel;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$W = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$W = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgPanel = /** @class */ (function (_super) {\n __extends$W(AgPanel, _super);\n function AgPanel(config) {\n var _this = _super.call(this, AgPanel.getTemplate(config)) || this;\n _this.closable = true;\n _this.config = config;\n return _this;\n }\n AgPanel.getTemplate = function (config) {\n var cssIdentifier = (config && config.cssIdentifier) || 'default';\n return /* html */ \"
\\n
\\n \\n
\\n
\\n
\\n
\";\n };\n AgPanel.prototype.postConstruct = function () {\n var _this = this;\n var _a = this.config, component = _a.component, closable = _a.closable, hideTitleBar = _a.hideTitleBar, title = _a.title, _b = _a.minWidth, minWidth = _b === void 0 ? 250 : _b, width = _a.width, _c = _a.minHeight, minHeight = _c === void 0 ? 250 : _c, height = _a.height, centered = _a.centered, popup = _a.popup, x = _a.x, y = _a.y;\n this.positionableFeature = new PositionableFeature(this.getGui(), {\n minWidth: minWidth, width: width, minHeight: minHeight, height: height, centered: centered, x: x, y: y, popup: popup,\n calculateTopBuffer: function () { return _this.positionableFeature.getHeight() - _this.getBodyHeight(); }\n });\n this.createManagedBean(this.positionableFeature);\n var eGui = this.getGui();\n if (component) {\n this.setBodyComponent(component);\n }\n if (!hideTitleBar) {\n if (title) {\n this.setTitle(title);\n }\n this.setClosable(closable != null ? closable : this.closable);\n }\n else {\n this.eTitleBar.classList.add('ag-hidden');\n }\n this.addManagedListener(this.eTitleBar, 'mousedown', function (e) {\n var eDocument = _this.gridOptionsWrapper.getDocument();\n if (eGui.contains(e.relatedTarget) ||\n eGui.contains(eDocument.activeElement) ||\n _this.eTitleBarButtons.contains(e.target)) {\n e.preventDefault();\n return;\n }\n var focusEl = _this.eContentWrapper.querySelector('button, [href], input, select, textarea, [tabindex]');\n if (focusEl) {\n focusEl.focus();\n }\n });\n if (popup && this.positionableFeature.isPositioned()) {\n return;\n }\n if (this.renderComponent) {\n this.renderComponent();\n }\n this.positionableFeature.initialisePosition();\n this.eContentWrapper.style.height = '0';\n };\n AgPanel.prototype.renderComponent = function () {\n var _this = this;\n var eGui = this.getGui();\n eGui.focus();\n this.close = function () {\n eGui.parentElement.removeChild(eGui);\n _this.destroy();\n };\n };\n AgPanel.prototype.getHeight = function () {\n return this.positionableFeature.getHeight();\n };\n AgPanel.prototype.setHeight = function (height) {\n this.positionableFeature.setHeight(height);\n };\n AgPanel.prototype.getWidth = function () {\n return this.positionableFeature.getWidth();\n };\n AgPanel.prototype.setWidth = function (width) {\n this.positionableFeature.setWidth(width);\n };\n AgPanel.prototype.setClosable = function (closable) {\n if (closable !== this.closable) {\n this.closable = closable;\n }\n if (closable) {\n var closeButtonComp = this.closeButtonComp = new Component(AgPanel.CLOSE_BTN_TEMPLATE);\n this.getContext().createBean(closeButtonComp);\n var eGui = closeButtonComp.getGui();\n var child = createIconNoSpan('close', this.gridOptionsWrapper);\n child.classList.add('ag-panel-title-bar-button-icon');\n eGui.appendChild(child);\n this.addTitleBarButton(closeButtonComp);\n closeButtonComp.addManagedListener(eGui, 'click', this.onBtClose.bind(this));\n }\n else if (this.closeButtonComp) {\n var eGui = this.closeButtonComp.getGui();\n eGui.parentElement.removeChild(eGui);\n this.closeButtonComp = this.destroyBean(this.closeButtonComp);\n }\n };\n AgPanel.prototype.setBodyComponent = function (bodyComponent) {\n bodyComponent.setParentComponent(this);\n this.eContentWrapper.appendChild(bodyComponent.getGui());\n };\n AgPanel.prototype.addTitleBarButton = function (button, position) {\n var eTitleBarButtons = this.eTitleBarButtons;\n var buttons = eTitleBarButtons.children;\n var len = buttons.length;\n if (position == null) {\n position = len;\n }\n position = Math.max(0, Math.min(position, len));\n button.addCssClass('ag-panel-title-bar-button');\n var eGui = button.getGui();\n if (position === 0) {\n eTitleBarButtons.insertAdjacentElement('afterbegin', eGui);\n }\n else if (position === len) {\n eTitleBarButtons.insertAdjacentElement('beforeend', eGui);\n }\n else {\n buttons[position - 1].insertAdjacentElement('afterend', eGui);\n }\n button.setParentComponent(this);\n };\n AgPanel.prototype.getBodyHeight = function () {\n return getInnerHeight(this.eContentWrapper);\n };\n AgPanel.prototype.getBodyWidth = function () {\n return getInnerWidth(this.eContentWrapper);\n };\n AgPanel.prototype.setTitle = function (title) {\n this.eTitle.innerText = title;\n };\n // called when user hits the 'x' in the top right\n AgPanel.prototype.onBtClose = function () {\n this.close();\n };\n AgPanel.prototype.destroy = function () {\n if (this.closeButtonComp) {\n this.closeButtonComp = this.destroyBean(this.closeButtonComp);\n }\n var eGui = this.getGui();\n if (eGui && eGui.offsetParent) {\n this.close();\n }\n _super.prototype.destroy.call(this);\n };\n AgPanel.CLOSE_BTN_TEMPLATE = \"
\";\n __decorate$W([\n RefSelector('eContentWrapper')\n ], AgPanel.prototype, \"eContentWrapper\", void 0);\n __decorate$W([\n RefSelector('eTitleBar')\n ], AgPanel.prototype, \"eTitleBar\", void 0);\n __decorate$W([\n RefSelector('eTitleBarButtons')\n ], AgPanel.prototype, \"eTitleBarButtons\", void 0);\n __decorate$W([\n RefSelector('eTitle')\n ], AgPanel.prototype, \"eTitle\", void 0);\n __decorate$W([\n PostConstruct\n ], AgPanel.prototype, \"postConstruct\", null);\n return AgPanel;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$V = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$2 = (undefined && undefined.__assign) || function () {\n __assign$2 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$2.apply(this, arguments);\n};\nvar __decorate$V = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgDialog = /** @class */ (function (_super) {\n __extends$V(AgDialog, _super);\n function AgDialog(config) {\n var _this = _super.call(this, __assign$2(__assign$2({}, config), { popup: true })) || this;\n _this.isMaximizable = false;\n _this.isMaximized = false;\n _this.maximizeListeners = [];\n _this.resizeListenerDestroy = null;\n _this.lastPosition = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n return _this;\n }\n AgDialog.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var _a = this.config, movable = _a.movable, resizable = _a.resizable, maximizable = _a.maximizable;\n this.addCssClass('ag-dialog');\n _super.prototype.postConstruct.call(this);\n this.addManagedListener(eGui, 'focusin', function (e) {\n if (eGui.contains(e.relatedTarget)) {\n return;\n }\n _this.popupService.bringPopupToFront(eGui);\n });\n if (movable) {\n this.setMovable(movable);\n }\n if (maximizable) {\n this.setMaximizable(maximizable);\n }\n if (resizable) {\n this.setResizable(resizable);\n }\n };\n AgDialog.prototype.renderComponent = function () {\n var eGui = this.getGui();\n var _a = this.config, alwaysOnTop = _a.alwaysOnTop, modal = _a.modal, title = _a.title;\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: modal,\n eChild: eGui,\n closeOnEsc: true,\n closedCallback: this.destroy.bind(this),\n alwaysOnTop: alwaysOnTop,\n ariaLabel: title || translate('ariaLabelDialog', 'Dialog')\n });\n if (addPopupRes) {\n this.close = addPopupRes.hideFunc;\n }\n };\n AgDialog.prototype.toggleMaximize = function () {\n var position = this.positionableFeature.getPosition();\n if (this.isMaximized) {\n var _a = this.lastPosition, x = _a.x, y = _a.y, width = _a.width, height = _a.height;\n this.setWidth(width);\n this.setHeight(height);\n this.positionableFeature.offsetElement(x, y);\n }\n else {\n this.lastPosition.width = this.getWidth();\n this.lastPosition.height = this.getHeight();\n this.lastPosition.x = position.x;\n this.lastPosition.y = position.y;\n this.positionableFeature.offsetElement(0, 0);\n this.setHeight('100%');\n this.setWidth('100%');\n }\n this.isMaximized = !this.isMaximized;\n this.refreshMaximizeIcon();\n };\n AgDialog.prototype.refreshMaximizeIcon = function () {\n setDisplayed(this.maximizeIcon, !this.isMaximized);\n setDisplayed(this.minimizeIcon, this.isMaximized);\n };\n AgDialog.prototype.clearMaximizebleListeners = function () {\n if (this.maximizeListeners.length) {\n this.maximizeListeners.forEach(function (destroyListener) { return destroyListener(); });\n this.maximizeListeners.length = 0;\n }\n if (this.resizeListenerDestroy) {\n this.resizeListenerDestroy();\n this.resizeListenerDestroy = null;\n }\n };\n AgDialog.prototype.destroy = function () {\n this.maximizeButtonComp = this.destroyBean(this.maximizeButtonComp);\n this.clearMaximizebleListeners();\n _super.prototype.destroy.call(this);\n };\n AgDialog.prototype.setResizable = function (resizable) {\n this.positionableFeature.setResizable(resizable);\n };\n AgDialog.prototype.setMovable = function (movable) {\n this.positionableFeature.setMovable(movable, this.eTitleBar);\n };\n AgDialog.prototype.setMaximizable = function (maximizable) {\n var _this = this;\n if (!maximizable) {\n this.clearMaximizebleListeners();\n if (this.maximizeButtonComp) {\n this.destroyBean(this.maximizeButtonComp);\n this.maximizeButtonComp = this.maximizeIcon = this.minimizeIcon = undefined;\n }\n return;\n }\n var eTitleBar = this.eTitleBar;\n if (!eTitleBar || maximizable === this.isMaximizable) {\n return;\n }\n var maximizeButtonComp = this.maximizeButtonComp =\n this.createBean(new Component(/* html */ \"
\"));\n var eGui = maximizeButtonComp.getGui();\n eGui.appendChild(this.maximizeIcon = createIconNoSpan('maximize', this.gridOptionsWrapper));\n this.maximizeIcon.classList.add('ag-panel-title-bar-button-icon');\n eGui.appendChild(this.minimizeIcon = createIconNoSpan('minimize', this.gridOptionsWrapper));\n this.minimizeIcon.classList.add('ag-panel-title-bar-button-icon', 'ag-hidden');\n maximizeButtonComp.addManagedListener(eGui, 'click', this.toggleMaximize.bind(this));\n this.addTitleBarButton(maximizeButtonComp, 0);\n this.maximizeListeners.push(this.addManagedListener(eTitleBar, 'dblclick', this.toggleMaximize.bind(this)));\n this.resizeListenerDestroy = this.addManagedListener(this, 'resize', function () {\n _this.isMaximized = false;\n _this.refreshMaximizeIcon();\n });\n };\n __decorate$V([\n Autowired('popupService')\n ], AgDialog.prototype, \"popupService\", void 0);\n return AgDialog;\n}(AgPanel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$U = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgColorPicker = /** @class */ (function (_super) {\n __extends$U(AgColorPicker, _super);\n function AgColorPicker(config) {\n var _this = _super.call(this, config, 'ag-color-picker', 'colorPicker') || this;\n if (config && config.color) {\n _this.value = config.color;\n }\n return _this;\n }\n AgColorPicker.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n if (this.value) {\n this.setValue(this.value);\n }\n };\n AgColorPicker.prototype.showPicker = function () {\n var _this = this;\n var eGuiRect = this.getGui().getBoundingClientRect();\n var colorDialog = this.createBean(new AgDialog({\n closable: false,\n modal: true,\n hideTitleBar: true,\n minWidth: 190,\n width: 190,\n height: 250,\n x: eGuiRect.right - 190,\n y: eGuiRect.top - 250\n }));\n this.isPickerDisplayed = true;\n colorDialog.addCssClass('ag-color-dialog');\n setAriaExpanded(this.eWrapper, true);\n var colorPanel = this.createBean(new AgColorPanel({ picker: this }));\n colorPanel.addDestroyFunc(function () {\n if (colorDialog.isAlive()) {\n _this.destroyBean(colorDialog);\n }\n });\n colorDialog.setParentComponent(this);\n colorDialog.setBodyComponent(colorPanel);\n colorPanel.setValue(this.getValue());\n colorDialog.addDestroyFunc(function () {\n // here we check if the picker was already being\n // destroyed to avoid a stack overflow\n if (!_this.isDestroyingPicker) {\n _this.isDestroyingPicker = true;\n if (colorPanel.isAlive()) {\n _this.destroyBean(colorPanel);\n }\n }\n else {\n _this.isDestroyingPicker = false;\n }\n if (_this.isAlive()) {\n setAriaExpanded(_this.eWrapper, false);\n _this.getFocusableElement().focus();\n }\n _this.isPickerDisplayed = false;\n });\n return colorDialog;\n };\n AgColorPicker.prototype.setValue = function (color) {\n if (this.value === color) {\n return this;\n }\n this.eDisplayField.style.backgroundColor = color;\n return _super.prototype.setValue.call(this, color);\n };\n AgColorPicker.prototype.getValue = function () {\n return this.value;\n };\n return AgColorPicker;\n}(AgPickerField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$T = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$U = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgGroupComponent = /** @class */ (function (_super) {\n __extends$T(AgGroupComponent, _super);\n function AgGroupComponent(params) {\n if (params === void 0) { params = {}; }\n var _this = _super.call(this, AgGroupComponent.getTemplate(params)) || this;\n _this.suppressEnabledCheckbox = true;\n _this.suppressOpenCloseIcons = false;\n var title = params.title, enabled = params.enabled, items = params.items, suppressEnabledCheckbox = params.suppressEnabledCheckbox, suppressOpenCloseIcons = params.suppressOpenCloseIcons;\n _this.title = title;\n _this.cssIdentifier = params.cssIdentifier || 'default';\n _this.enabled = enabled != null ? enabled : true;\n _this.items = items || [];\n _this.alignItems = params.alignItems || 'center';\n if (suppressEnabledCheckbox != null) {\n _this.suppressEnabledCheckbox = suppressEnabledCheckbox;\n }\n if (suppressOpenCloseIcons != null) {\n _this.suppressOpenCloseIcons = suppressOpenCloseIcons;\n }\n return _this;\n }\n AgGroupComponent.getTemplate = function (params) {\n var cssIdentifier = params.cssIdentifier || 'default';\n var direction = params.direction || 'vertical';\n return /* html */ \"
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\";\n };\n AgGroupComponent.prototype.postConstruct = function () {\n if (this.items.length) {\n var initialItems = this.items;\n this.items = [];\n this.addItems(initialItems);\n }\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n this.cbGroupEnabled.setLabel(localeTextFunc('enabled', 'Enabled'));\n if (this.title) {\n this.setTitle(this.title);\n }\n if (this.enabled) {\n this.setEnabled(this.enabled);\n }\n this.setAlignItems(this.alignItems);\n this.hideEnabledCheckbox(this.suppressEnabledCheckbox);\n this.hideOpenCloseIcons(this.suppressOpenCloseIcons);\n this.setupExpandContract();\n this.refreshAriaStatus();\n this.refreshChildDisplay();\n };\n AgGroupComponent.prototype.setupExpandContract = function () {\n var _this = this;\n this.eGroupClosedIcon.appendChild(createIcon('columnSelectClosed', this.gridOptionsWrapper, null));\n this.eGroupOpenedIcon.appendChild(createIcon('columnSelectOpen', this.gridOptionsWrapper, null));\n this.addManagedListener(this.eTitleBar, 'click', function () { return _this.toggleGroupExpand(); });\n this.addManagedListener(this.eTitleBar, 'keydown', function (e) {\n switch (e.key) {\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n e.preventDefault();\n _this.toggleGroupExpand();\n break;\n case KeyCode.RIGHT:\n case KeyCode.LEFT:\n e.preventDefault();\n _this.toggleGroupExpand(e.key === KeyCode.RIGHT);\n break;\n }\n });\n };\n AgGroupComponent.prototype.refreshAriaStatus = function () {\n if (!this.suppressOpenCloseIcons) {\n setAriaExpanded(this.eTitleBar, this.expanded);\n }\n };\n AgGroupComponent.prototype.refreshChildDisplay = function () {\n var showIcon = !this.suppressOpenCloseIcons;\n setDisplayed(this.eToolbar, this.expanded && !this.suppressEnabledCheckbox);\n setDisplayed(this.eGroupOpenedIcon, showIcon && this.expanded);\n setDisplayed(this.eGroupClosedIcon, showIcon && !this.expanded);\n };\n AgGroupComponent.prototype.isExpanded = function () {\n return this.expanded;\n };\n AgGroupComponent.prototype.setAlignItems = function (alignment) {\n if (this.alignItems !== alignment) {\n this.removeCssClass(\"ag-group-item-alignment-\" + this.alignItems);\n }\n this.alignItems = alignment;\n var newCls = \"ag-group-item-alignment-\" + this.alignItems;\n this.addCssClass(newCls);\n return this;\n };\n AgGroupComponent.prototype.toggleGroupExpand = function (expanded) {\n if (this.suppressOpenCloseIcons) {\n this.expanded = true;\n this.refreshChildDisplay();\n setDisplayed(this.eContainer, true);\n return this;\n }\n expanded = expanded != null ? expanded : !this.expanded;\n if (this.expanded === expanded) {\n return this;\n }\n this.expanded = expanded;\n this.refreshAriaStatus();\n this.refreshChildDisplay();\n setDisplayed(this.eContainer, expanded);\n this.dispatchEvent({ type: this.expanded ? AgGroupComponent.EVENT_EXPANDED : AgGroupComponent.EVENT_COLLAPSED });\n return this;\n };\n AgGroupComponent.prototype.addItems = function (items) {\n var _this = this;\n items.forEach(function (item) { return _this.addItem(item); });\n };\n AgGroupComponent.prototype.addItem = function (item) {\n var container = this.eContainer;\n var el = item instanceof Component ? item.getGui() : item;\n el.classList.add('ag-group-item', \"ag-\" + this.cssIdentifier + \"-group-item\");\n container.appendChild(el);\n this.items.push(el);\n };\n AgGroupComponent.prototype.hideItem = function (hide, index) {\n var itemToHide = this.items[index];\n itemToHide.classList.toggle('ag-hidden', hide);\n };\n AgGroupComponent.prototype.setTitle = function (title) {\n this.eTitle.innerText = title;\n return this;\n };\n AgGroupComponent.prototype.addCssClassToTitleBar = function (cssClass) {\n this.eTitleBar.classList.add(cssClass);\n };\n AgGroupComponent.prototype.setEnabled = function (enabled, skipToggle) {\n this.enabled = enabled;\n this.refreshDisabledStyles();\n this.toggleGroupExpand(enabled);\n if (!skipToggle) {\n this.cbGroupEnabled.setValue(enabled);\n }\n return this;\n };\n AgGroupComponent.prototype.isEnabled = function () {\n return this.enabled;\n };\n AgGroupComponent.prototype.onEnableChange = function (callbackFn) {\n var _this = this;\n this.cbGroupEnabled.onValueChange(function (newSelection) {\n _this.setEnabled(newSelection, true);\n callbackFn(newSelection);\n });\n return this;\n };\n AgGroupComponent.prototype.hideEnabledCheckbox = function (hide) {\n this.suppressEnabledCheckbox = hide;\n this.refreshChildDisplay();\n this.refreshDisabledStyles();\n return this;\n };\n AgGroupComponent.prototype.hideOpenCloseIcons = function (hide) {\n this.suppressOpenCloseIcons = hide;\n if (hide) {\n this.toggleGroupExpand(true);\n }\n return this;\n };\n AgGroupComponent.prototype.refreshDisabledStyles = function () {\n this.addOrRemoveCssClass('ag-disabled', !this.enabled);\n if (this.suppressEnabledCheckbox && !this.enabled) {\n this.eTitleBar.classList.add('ag-disabled-group-title-bar');\n this.eTitleBar.removeAttribute('tabindex');\n }\n else {\n this.eTitleBar.classList.remove('ag-disabled-group-title-bar');\n this.eTitleBar.setAttribute('tabindex', '0');\n }\n this.eContainer.classList.toggle('ag-disabled-group-container', !this.enabled);\n };\n AgGroupComponent.EVENT_EXPANDED = 'expanded';\n AgGroupComponent.EVENT_COLLAPSED = 'collapsed';\n __decorate$U([\n RefSelector('eTitleBar')\n ], AgGroupComponent.prototype, \"eTitleBar\", void 0);\n __decorate$U([\n RefSelector('eGroupOpenedIcon')\n ], AgGroupComponent.prototype, \"eGroupOpenedIcon\", void 0);\n __decorate$U([\n RefSelector('eGroupClosedIcon')\n ], AgGroupComponent.prototype, \"eGroupClosedIcon\", void 0);\n __decorate$U([\n RefSelector('eToolbar')\n ], AgGroupComponent.prototype, \"eToolbar\", void 0);\n __decorate$U([\n RefSelector('cbGroupEnabled')\n ], AgGroupComponent.prototype, \"cbGroupEnabled\", void 0);\n __decorate$U([\n RefSelector('eTitle')\n ], AgGroupComponent.prototype, \"eTitle\", void 0);\n __decorate$U([\n RefSelector('eContainer')\n ], AgGroupComponent.prototype, \"eContainer\", void 0);\n __decorate$U([\n PostConstruct\n ], AgGroupComponent.prototype, \"postConstruct\", null);\n return AgGroupComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$S = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$T = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TabGuardCtrl = /** @class */ (function (_super) {\n __extends$S(TabGuardCtrl, _super);\n function TabGuardCtrl(params) {\n var _this = _super.call(this) || this;\n _this.skipTabGuardFocus = false;\n var comp = params.comp, eTopGuard = params.eTopGuard, eBottomGuard = params.eBottomGuard, focusInnerElement = params.focusInnerElement, onFocusIn = params.onFocusIn, onFocusOut = params.onFocusOut, shouldStopEventPropagation = params.shouldStopEventPropagation, onTabKeyDown = params.onTabKeyDown, handleKeyDown = params.handleKeyDown, eFocusableElement = params.eFocusableElement;\n _this.comp = comp;\n _this.eTopGuard = eTopGuard;\n _this.eBottomGuard = eBottomGuard;\n _this.providedFocusInnerElement = focusInnerElement;\n _this.eFocusableElement = eFocusableElement;\n _this.providedFocusIn = onFocusIn;\n _this.providedFocusOut = onFocusOut;\n _this.providedShouldStopEventPropagation = shouldStopEventPropagation;\n _this.providedOnTabKeyDown = onTabKeyDown;\n _this.providedHandleKeyDown = handleKeyDown;\n return _this;\n }\n TabGuardCtrl.prototype.postConstruct = function () {\n var _this = this;\n this.createManagedBean(new ManagedFocusFeature(this.eFocusableElement, {\n shouldStopEventPropagation: function () { return _this.shouldStopEventPropagation(); },\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); },\n onFocusIn: function (e) { return _this.onFocusIn(e); },\n onFocusOut: function (e) { return _this.onFocusOut(e); }\n }));\n this.activateTabGuards();\n [this.eTopGuard, this.eBottomGuard].forEach(function (guard) { return _this.addManagedListener(guard, 'focus', _this.onFocus.bind(_this)); });\n };\n TabGuardCtrl.prototype.handleKeyDown = function (e) {\n if (this.providedHandleKeyDown) {\n this.providedHandleKeyDown(e);\n }\n };\n TabGuardCtrl.prototype.tabGuardsAreActive = function () {\n return !!this.eTopGuard && this.eTopGuard.hasAttribute('tabIndex');\n };\n TabGuardCtrl.prototype.shouldStopEventPropagation = function () {\n if (this.providedShouldStopEventPropagation) {\n return this.providedShouldStopEventPropagation();\n }\n return false;\n };\n TabGuardCtrl.prototype.activateTabGuards = function () {\n this.comp.setTabIndex(this.getGridTabIndex());\n };\n TabGuardCtrl.prototype.deactivateTabGuards = function () {\n this.comp.setTabIndex();\n };\n TabGuardCtrl.prototype.onFocus = function (e) {\n if (this.skipTabGuardFocus) {\n this.skipTabGuardFocus = false;\n return;\n }\n var fromBottom = e.target === this.eBottomGuard;\n if (this.providedFocusInnerElement) {\n this.providedFocusInnerElement(fromBottom);\n }\n else {\n this.focusInnerElement(fromBottom);\n }\n };\n TabGuardCtrl.prototype.onFocusIn = function (e) {\n if (this.providedFocusIn && this.providedFocusIn(e)) {\n return;\n }\n this.deactivateTabGuards();\n };\n TabGuardCtrl.prototype.onFocusOut = function (e) {\n if (this.providedFocusOut && this.providedFocusOut(e)) {\n return;\n }\n if (!this.eFocusableElement.contains(e.relatedTarget)) {\n this.activateTabGuards();\n }\n };\n TabGuardCtrl.prototype.onTabKeyDown = function (e) {\n var _this = this;\n if (this.providedOnTabKeyDown) {\n this.providedOnTabKeyDown(e);\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n var tabGuardsAreActive = this.tabGuardsAreActive();\n if (tabGuardsAreActive) {\n this.deactivateTabGuards();\n }\n var nextRoot = this.getNextFocusableElement(e.shiftKey);\n if (tabGuardsAreActive) {\n // ensure the tab guards are only re-instated once the event has finished processing, to avoid the browser\n // tabbing to the tab guard from inside the component\n setTimeout(function () { return _this.activateTabGuards(); }, 0);\n }\n if (!nextRoot) {\n return;\n }\n nextRoot.focus();\n e.preventDefault();\n };\n TabGuardCtrl.prototype.getGridTabIndex = function () {\n return this.gridOptionsWrapper.getGridTabIndex();\n };\n TabGuardCtrl.prototype.focusInnerElement = function (fromBottom) {\n if (fromBottom === void 0) { fromBottom = false; }\n var focusable = this.focusService.findFocusableElements(this.eFocusableElement);\n if (this.tabGuardsAreActive()) {\n // remove tab guards from this component from list of focusable elements\n focusable.splice(0, 1);\n focusable.splice(focusable.length - 1, 1);\n }\n if (!focusable.length) {\n return;\n }\n focusable[fromBottom ? focusable.length - 1 : 0].focus();\n };\n TabGuardCtrl.prototype.getNextFocusableElement = function (backwards) {\n return this.focusService.findNextFocusableElement(this.eFocusableElement, false, backwards);\n };\n TabGuardCtrl.prototype.forceFocusOutOfContainer = function (up) {\n if (up === void 0) { up = false; }\n var tabGuardToFocus = up ? this.eTopGuard : this.eBottomGuard;\n this.activateTabGuards();\n this.skipTabGuardFocus = true;\n tabGuardToFocus.focus();\n };\n __decorate$T([\n Autowired('focusService')\n ], TabGuardCtrl.prototype, \"focusService\", void 0);\n __decorate$T([\n PostConstruct\n ], TabGuardCtrl.prototype, \"postConstruct\", null);\n return TabGuardCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$R = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __read$8 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$7 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$8(arguments[i]));\n return ar;\n};\nvar TabGuardComp = /** @class */ (function (_super) {\n __extends$R(TabGuardComp, _super);\n function TabGuardComp() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabGuardComp.prototype.initialiseTabGuard = function (params) {\n this.eTopGuard = this.createTabGuard('top');\n this.eBottomGuard = this.createTabGuard('bottom');\n this.eFocusableElement = this.getFocusableElement();\n var tabGuards = [this.eTopGuard, this.eBottomGuard];\n var compProxy = {\n setTabIndex: function (tabIndex) {\n tabGuards.forEach(function (tabGuard) { return tabIndex != null ? tabGuard.setAttribute('tabIndex', tabIndex) : tabGuard.removeAttribute('tabIndex'); });\n }\n };\n this.addTabGuards(this.eTopGuard, this.eBottomGuard);\n this.tabGuardCtrl = this.createManagedBean(new TabGuardCtrl({\n comp: compProxy,\n eTopGuard: this.eTopGuard,\n eBottomGuard: this.eBottomGuard,\n eFocusableElement: this.eFocusableElement,\n onFocusIn: params.onFocusIn,\n onFocusOut: params.onFocusOut,\n focusInnerElement: params.focusInnerElement,\n handleKeyDown: params.handleKeyDown,\n onTabKeyDown: params.onTabKeyDown,\n shouldStopEventPropagation: params.shouldStopEventPropagation\n }));\n };\n TabGuardComp.prototype.createTabGuard = function (side) {\n var tabGuard = document.createElement('div');\n tabGuard.classList.add('ag-tab-guard', \"ag-tab-guard-\" + side);\n setAriaRole(tabGuard, 'presentation');\n return tabGuard;\n };\n TabGuardComp.prototype.addTabGuards = function (topTabGuard, bottomTabGuard) {\n this.eFocusableElement.insertAdjacentElement('afterbegin', topTabGuard);\n this.eFocusableElement.insertAdjacentElement('beforeend', bottomTabGuard);\n };\n TabGuardComp.prototype.removeAllChildrenExceptTabGuards = function () {\n var tabGuards = [this.eTopGuard, this.eBottomGuard];\n clearElement(this.getFocusableElement());\n this.addTabGuards.apply(this, __spread$7(tabGuards));\n };\n TabGuardComp.prototype.forceFocusOutOfContainer = function (up) {\n if (up === void 0) { up = false; }\n this.tabGuardCtrl.forceFocusOutOfContainer(up);\n };\n TabGuardComp.prototype.appendChild = function (newChild, container) {\n if (!isNodeOrElement(newChild)) {\n newChild = newChild.getGui();\n }\n var bottomTabGuard = this.eBottomGuard;\n if (bottomTabGuard) {\n bottomTabGuard.insertAdjacentElement('beforebegin', newChild);\n }\n else {\n _super.prototype.appendChild.call(this, newChild, container);\n }\n };\n return TabGuardComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$Q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$1 = (undefined && undefined.__assign) || function () {\n __assign$1 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$1.apply(this, arguments);\n};\nvar __decorate$S = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgMenuList = /** @class */ (function (_super) {\n __extends$Q(AgMenuList, _super);\n function AgMenuList(level) {\n if (level === void 0) { level = 1; }\n var _this = _super.call(this, /* html */ \"
\") || this;\n _this.level = level;\n _this.menuItems = [];\n return _this;\n }\n AgMenuList.prototype.postConstruct = function () {\n var _this = this;\n this.initialiseTabGuard({\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); }\n });\n };\n AgMenuList.prototype.onTabKeyDown = function (e) {\n var parent = this.getParentComponent();\n var parentGui = parent && parent.getGui();\n var isManaged = parentGui && parentGui.classList.contains('ag-focus-managed');\n if (!isManaged) {\n e.preventDefault();\n }\n if (e.shiftKey) {\n this.closeIfIsChild(e);\n }\n };\n AgMenuList.prototype.handleKeyDown = function (e) {\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.RIGHT:\n case KeyCode.DOWN:\n case KeyCode.LEFT:\n e.preventDefault();\n this.handleNavKey(e.key);\n break;\n case KeyCode.ESCAPE:\n var topMenu = this.findTopMenu();\n if (topMenu) {\n this.focusService.focusInto(topMenu.getGui());\n }\n break;\n }\n };\n AgMenuList.prototype.clearActiveItem = function () {\n if (this.activeMenuItem) {\n this.activeMenuItem.deactivate();\n this.activeMenuItem = null;\n }\n };\n AgMenuList.prototype.addMenuItems = function (menuItems) {\n var _this = this;\n if (menuItems == null) {\n return;\n }\n menuItems.forEach(function (menuItemOrString) {\n if (menuItemOrString === 'separator') {\n _this.addSeparator();\n }\n else if (typeof menuItemOrString === 'string') {\n console.warn(\"AG Grid: unrecognised menu item \" + menuItemOrString);\n }\n else {\n _this.addItem(menuItemOrString);\n }\n });\n };\n AgMenuList.prototype.addItem = function (menuItemDef) {\n var _this = this;\n var menuItem = this.createManagedBean(new AgMenuItemComponent(__assign$1(__assign$1({}, menuItemDef), { isAnotherSubMenuOpen: function () { return _this.menuItems.some(function (m) { return m.isSubMenuOpen(); }); } })));\n menuItem.setParentComponent(this);\n setAriaLevel(menuItem.getGui(), this.level);\n this.menuItems.push(menuItem);\n this.appendChild(menuItem.getGui());\n this.addManagedListener(menuItem, AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED, function (event) {\n _this.dispatchEvent(event);\n });\n this.addManagedListener(menuItem, AgMenuItemComponent.EVENT_MENU_ITEM_ACTIVATED, function (event) {\n if (_this.activeMenuItem && _this.activeMenuItem !== event.menuItem) {\n _this.activeMenuItem.deactivate();\n }\n _this.activeMenuItem = event.menuItem;\n });\n };\n AgMenuList.prototype.activateFirstItem = function () {\n var item = this.menuItems.filter(function (currentItem) { return !currentItem.isDisabled(); })[0];\n if (!item) {\n return;\n }\n item.activate();\n };\n AgMenuList.prototype.addSeparator = function () {\n var separatorHtml = /* html */ \"\\n
\\n
\\n
\\n
\\n
\\n
\";\n this.appendChild(loadTemplate(separatorHtml));\n };\n AgMenuList.prototype.findTopMenu = function () {\n var parent = this.getParentComponent();\n if (!parent && this instanceof AgMenuList) {\n return this;\n }\n while (true) {\n var nextParent = parent && parent.getParentComponent && parent.getParentComponent();\n if (!nextParent || (!(nextParent instanceof AgMenuList || nextParent instanceof AgMenuItemComponent))) {\n break;\n }\n parent = nextParent;\n }\n return parent instanceof AgMenuList ? parent : undefined;\n };\n AgMenuList.prototype.handleNavKey = function (key) {\n switch (key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n var nextItem = this.findNextItem(key === KeyCode.UP);\n if (nextItem && nextItem !== this.activeMenuItem) {\n nextItem.activate();\n }\n return;\n }\n var left = this.gridOptionsWrapper.isEnableRtl() ? KeyCode.RIGHT : KeyCode.LEFT;\n if (key === left) {\n this.closeIfIsChild();\n }\n else {\n this.openChild();\n }\n };\n AgMenuList.prototype.closeIfIsChild = function (e) {\n var parentItem = this.getParentComponent();\n if (parentItem && parentItem instanceof AgMenuItemComponent) {\n if (e) {\n e.preventDefault();\n }\n parentItem.closeSubMenu();\n parentItem.getGui().focus();\n }\n };\n AgMenuList.prototype.openChild = function () {\n if (this.activeMenuItem) {\n this.activeMenuItem.openSubMenu(true);\n }\n };\n AgMenuList.prototype.findNextItem = function (up) {\n var items = this.menuItems.filter(function (item) { return !item.isDisabled(); });\n if (!items.length) {\n return;\n }\n if (!this.activeMenuItem) {\n return up ? last(items) : items[0];\n }\n if (up) {\n items.reverse();\n }\n var nextItem;\n var foundCurrent = false;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n if (!foundCurrent) {\n if (item === this.activeMenuItem) {\n foundCurrent = true;\n }\n continue;\n }\n nextItem = item;\n break;\n }\n return nextItem || this.activeMenuItem;\n };\n AgMenuList.prototype.destroy = function () {\n this.clearActiveItem();\n _super.prototype.destroy.call(this);\n };\n __decorate$S([\n Autowired('focusService')\n ], AgMenuList.prototype, \"focusService\", void 0);\n __decorate$S([\n PostConstruct\n ], AgMenuList.prototype, \"postConstruct\", null);\n return AgMenuList;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$P = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgMenuPanel = /** @class */ (function (_super) {\n __extends$P(AgMenuPanel, _super);\n function AgMenuPanel(wrappedComponent) {\n var _this = _super.call(this) || this;\n _this.wrappedComponent = wrappedComponent;\n _this.setTemplateFromElement(wrappedComponent.getGui());\n return _this;\n }\n AgMenuPanel.prototype.postConstruct = function () {\n var _this = this;\n this.initialiseTabGuard({\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); }\n });\n };\n AgMenuPanel.prototype.handleKeyDown = function (e) {\n if (e.key === KeyCode.ESCAPE) {\n this.closePanel();\n }\n };\n AgMenuPanel.prototype.onTabKeyDown = function (e) {\n if (e.defaultPrevented) {\n return;\n }\n this.closePanel();\n e.preventDefault();\n };\n AgMenuPanel.prototype.closePanel = function () {\n var menuItem = this.parentComponent;\n menuItem.closeSubMenu();\n setTimeout(function () { return menuItem.getGui().focus(); }, 0);\n };\n __decorate$R([\n PostConstruct\n ], AgMenuPanel.prototype, \"postConstruct\", null);\n return AgMenuPanel;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$O = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$Q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgMenuItemComponent = /** @class */ (function (_super) {\n __extends$O(AgMenuItemComponent, _super);\n function AgMenuItemComponent(params) {\n var _this = _super.call(this) || this;\n _this.params = params;\n _this.isActive = false;\n _this.subMenuIsOpen = false;\n _this.setTemplate(/* html */ \"
\");\n return _this;\n }\n AgMenuItemComponent.prototype.init = function () {\n var _this = this;\n this.addIcon();\n this.addName();\n this.addShortcut();\n this.addSubMenu();\n this.addTooltip();\n var eGui = this.getGui();\n if (this.params.disabled) {\n this.addCssClass(this.getClassName('disabled'));\n setAriaDisabled(eGui, true);\n }\n else {\n this.addGuiEventListener('click', function (e) { return _this.onItemSelected(e); });\n this.addGuiEventListener('keydown', function (e) {\n if (e.key === KeyCode.ENTER || e.key === KeyCode.SPACE) {\n e.preventDefault();\n _this.onItemSelected(e);\n }\n });\n this.addGuiEventListener('mousedown', function (e) {\n // Prevent event bubbling to other event handlers such as PopupService triggering\n // premature closing of any open sub-menu popup.\n e.stopPropagation();\n e.preventDefault();\n });\n this.addGuiEventListener('mouseenter', function () { return _this.onMouseEnter(); });\n this.addGuiEventListener('mouseleave', function () { return _this.onMouseLeave(); });\n }\n if (this.params.cssClasses) {\n this.params.cssClasses.forEach(function (it) { return _this.addCssClass(it); });\n }\n };\n AgMenuItemComponent.prototype.isDisabled = function () {\n return !!this.params.disabled;\n };\n AgMenuItemComponent.prototype.openSubMenu = function (activateFirstItem) {\n var _this = this;\n if (activateFirstItem === void 0) { activateFirstItem = false; }\n this.closeSubMenu();\n if (!this.params.subMenu) {\n return;\n }\n var ePopup = loadTemplate(/* html */ \"
\");\n var destroySubMenu;\n if (this.params.subMenu instanceof Array) {\n var currentLevel = getAriaLevel(this.getGui());\n var nextLevel = isNaN(currentLevel) ? 1 : (currentLevel + 1);\n var childMenu_1 = this.createBean(new AgMenuList(nextLevel));\n childMenu_1.setParentComponent(this);\n childMenu_1.addMenuItems(this.params.subMenu);\n ePopup.appendChild(childMenu_1.getGui());\n // bubble menu item selected events\n this.addManagedListener(childMenu_1, AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED, function (e) { return _this.dispatchEvent(e); });\n childMenu_1.addGuiEventListener('mouseenter', function () { return _this.cancelDeactivate(); });\n destroySubMenu = function () { return _this.destroyBean(childMenu_1); };\n if (activateFirstItem) {\n setTimeout(function () { return childMenu_1.activateFirstItem(); }, 0);\n }\n }\n else {\n var subMenu_1 = this.params.subMenu;\n var menuPanel = this.createBean(new AgMenuPanel(subMenu_1));\n menuPanel.setParentComponent(this);\n var subMenuGui_1 = menuPanel.getGui();\n var mouseEvent_1 = 'mouseenter';\n var mouseEnterListener_1 = function () { return _this.cancelDeactivate(); };\n subMenuGui_1.addEventListener(mouseEvent_1, mouseEnterListener_1);\n destroySubMenu = function () { return subMenuGui_1.removeEventListener(mouseEvent_1, mouseEnterListener_1); };\n ePopup.appendChild(subMenuGui_1);\n if (subMenu_1.afterGuiAttached) {\n setTimeout(function () { return subMenu_1.afterGuiAttached(); }, 0);\n }\n }\n var eGui = this.getGui();\n var positionCallback = this.popupService.positionPopupForMenu.bind(this.popupService, { eventSource: eGui, ePopup: ePopup });\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: true,\n eChild: ePopup,\n positionCallback: positionCallback,\n anchorToElement: eGui,\n ariaLabel: translate('ariaLabelSubMenu', 'SubMenu')\n });\n this.subMenuIsOpen = true;\n setAriaExpanded(eGui, true);\n this.hideSubMenu = function () {\n if (addPopupRes) {\n addPopupRes.hideFunc();\n }\n _this.subMenuIsOpen = false;\n setAriaExpanded(eGui, false);\n destroySubMenu();\n };\n };\n AgMenuItemComponent.prototype.closeSubMenu = function () {\n if (!this.hideSubMenu) {\n return;\n }\n this.hideSubMenu();\n this.hideSubMenu = null;\n setAriaExpanded(this.getGui(), false);\n };\n AgMenuItemComponent.prototype.isSubMenuOpen = function () {\n return this.subMenuIsOpen;\n };\n AgMenuItemComponent.prototype.activate = function (openSubMenu) {\n var _this = this;\n this.cancelActivate();\n if (this.params.disabled) {\n return;\n }\n this.isActive = true;\n this.addCssClass(this.getClassName('active'));\n this.getGui().focus();\n if (openSubMenu && this.params.subMenu) {\n window.setTimeout(function () {\n if (_this.isAlive() && _this.isActive) {\n _this.openSubMenu();\n }\n }, 300);\n }\n this.onItemActivated();\n };\n AgMenuItemComponent.prototype.deactivate = function () {\n this.cancelDeactivate();\n this.removeCssClass(this.getClassName('active'));\n this.isActive = false;\n if (this.subMenuIsOpen) {\n this.hideSubMenu();\n }\n };\n AgMenuItemComponent.prototype.addIcon = function () {\n if (!this.params.checked && !this.params.icon && this.params.isCompact) {\n return;\n }\n var icon = loadTemplate(/* html */ \"\");\n if (this.params.checked) {\n icon.appendChild(createIconNoSpan('check', this.gridOptionsWrapper));\n }\n else if (this.params.icon) {\n if (isNodeOrElement(this.params.icon)) {\n icon.appendChild(this.params.icon);\n }\n else if (typeof this.params.icon === 'string') {\n icon.innerHTML = this.params.icon;\n }\n else {\n console.warn('AG Grid: menu item icon must be DOM node or string');\n }\n }\n this.getGui().appendChild(icon);\n };\n AgMenuItemComponent.prototype.addName = function () {\n if (!this.params.name && this.params.isCompact) {\n return;\n }\n var name = loadTemplate(/* html */ \"\" + (this.params.name || '') + \"\");\n this.getGui().appendChild(name);\n };\n AgMenuItemComponent.prototype.addTooltip = function () {\n if (!this.params.tooltip) {\n return;\n }\n this.tooltip = this.params.tooltip;\n if (this.gridOptionsWrapper.isEnableBrowserTooltips()) {\n this.getGui().setAttribute('title', this.tooltip);\n }\n else {\n this.createManagedBean(new CustomTooltipFeature(this));\n }\n };\n AgMenuItemComponent.prototype.getTooltipParams = function () {\n return {\n location: 'menu',\n value: this.tooltip\n };\n };\n AgMenuItemComponent.prototype.addShortcut = function () {\n if (!this.params.shortcut && this.params.isCompact) {\n return;\n }\n var shortcut = loadTemplate(/* html */ \"\" + (this.params.shortcut || '') + \"\");\n this.getGui().appendChild(shortcut);\n };\n AgMenuItemComponent.prototype.addSubMenu = function () {\n if (!this.params.subMenu && this.params.isCompact) {\n return;\n }\n var pointer = loadTemplate(/* html */ \"\");\n var eGui = this.getGui();\n if (this.params.subMenu) {\n var iconName = this.gridOptionsWrapper.isEnableRtl() ? 'smallLeft' : 'smallRight';\n setAriaExpanded(eGui, false);\n pointer.appendChild(createIconNoSpan(iconName, this.gridOptionsWrapper));\n }\n eGui.appendChild(pointer);\n };\n AgMenuItemComponent.prototype.onItemSelected = function (event) {\n if (this.params.action) {\n this.params.action();\n }\n else {\n this.openSubMenu(event && event.type === 'keydown');\n }\n if (this.params.subMenu && !this.params.action) {\n return;\n }\n var e = {\n type: AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED,\n action: this.params.action,\n checked: this.params.checked,\n cssClasses: this.params.cssClasses,\n disabled: this.params.disabled,\n icon: this.params.icon,\n name: this.params.name,\n shortcut: this.params.shortcut,\n subMenu: this.params.subMenu,\n tooltip: this.params.tooltip,\n event: event\n };\n this.dispatchEvent(e);\n };\n AgMenuItemComponent.prototype.onItemActivated = function () {\n var event = {\n type: AgMenuItemComponent.EVENT_MENU_ITEM_ACTIVATED,\n menuItem: this,\n };\n this.dispatchEvent(event);\n };\n AgMenuItemComponent.prototype.cancelActivate = function () {\n if (this.activateTimeoutId) {\n window.clearTimeout(this.activateTimeoutId);\n this.activateTimeoutId = 0;\n }\n };\n AgMenuItemComponent.prototype.cancelDeactivate = function () {\n if (this.deactivateTimeoutId) {\n window.clearTimeout(this.deactivateTimeoutId);\n this.deactivateTimeoutId = 0;\n }\n };\n AgMenuItemComponent.prototype.onMouseEnter = function () {\n var _this = this;\n this.cancelDeactivate();\n if (this.params.isAnotherSubMenuOpen()) {\n // wait to see if the user enters the open sub-menu\n this.activateTimeoutId = window.setTimeout(function () { return _this.activate(true); }, AgMenuItemComponent.ACTIVATION_DELAY);\n }\n else {\n // activate immediately\n this.activate(true);\n }\n };\n AgMenuItemComponent.prototype.onMouseLeave = function () {\n var _this = this;\n this.cancelActivate();\n if (this.isSubMenuOpen()) {\n // wait to see if the user enters the sub-menu\n this.deactivateTimeoutId = window.setTimeout(function () { return _this.deactivate(); }, AgMenuItemComponent.ACTIVATION_DELAY);\n }\n else {\n // de-activate immediately\n this.deactivate();\n }\n };\n AgMenuItemComponent.prototype.getClassName = function (suffix) {\n var prefix = this.params.isCompact ? 'ag-compact-menu-option' : 'ag-menu-option';\n return suffix ? prefix + \"-\" + suffix : prefix;\n };\n AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED = 'menuItemSelected';\n AgMenuItemComponent.EVENT_MENU_ITEM_ACTIVATED = 'menuItemActivated';\n AgMenuItemComponent.ACTIVATION_DELAY = 80;\n __decorate$Q([\n Autowired('popupService')\n ], AgMenuItemComponent.prototype, \"popupService\", void 0);\n __decorate$Q([\n PostConstruct\n ], AgMenuItemComponent.prototype, \"init\", null);\n return AgMenuItemComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$N = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$P = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$7 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$6 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$7(arguments[i]));\n return ar;\n};\nvar FocusService = /** @class */ (function (_super) {\n __extends$N(FocusService, _super);\n function FocusService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FocusService_1 = FocusService;\n /**\n * Adds a gridCore to the list of the gridCores monitoring Keyboard Mode\n * in a specific HTMLDocument.\n *\n * @param doc {Document} - The Document containing the gridCore.\n * @param gridCore {GridComp} - The GridCore to be monitored.\n */\n FocusService.addKeyboardModeEvents = function (doc, controller) {\n var docControllers = FocusService_1.instancesMonitored.get(doc);\n if (docControllers && docControllers.length > 0) {\n if (docControllers.indexOf(controller) === -1) {\n docControllers.push(controller);\n }\n }\n else {\n FocusService_1.instancesMonitored.set(doc, [controller]);\n doc.addEventListener('keydown', FocusService_1.toggleKeyboardMode);\n doc.addEventListener('mousedown', FocusService_1.toggleKeyboardMode);\n }\n };\n /**\n * Removes a gridCore from the list of the gridCores monitoring Keyboard Mode\n * in a specific HTMLDocument.\n *\n * @param doc {Document} - The Document containing the gridCore.\n * @param gridCore {GridComp} - The GridCore to be removed.\n */\n FocusService.removeKeyboardModeEvents = function (doc, controller) {\n var docControllers = FocusService_1.instancesMonitored.get(doc);\n var newControllers = [];\n if (docControllers && docControllers.length) {\n newControllers = __spread$6(docControllers).filter(function (currentGridCore) { return currentGridCore !== controller; });\n FocusService_1.instancesMonitored.set(doc, newControllers);\n }\n if (newControllers.length === 0) {\n doc.removeEventListener('keydown', FocusService_1.toggleKeyboardMode);\n doc.removeEventListener('mousedown', FocusService_1.toggleKeyboardMode);\n }\n };\n /**\n * This method will be called by `keydown` and `mousedown` events on all Documents monitoring\n * KeyboardMode. It will then fire a KEYBOARD_FOCUS, MOUSE_FOCUS on each gridCore present in\n * the Document allowing each gridCore to maintain a state for KeyboardMode.\n *\n * @param event {KeyboardEvent | MouseEvent | TouchEvent} - The event triggered.\n */\n FocusService.toggleKeyboardMode = function (event) {\n var isKeyboardActive = FocusService_1.keyboardModeActive;\n var isKeyboardEvent = event.type === 'keydown';\n if (isKeyboardEvent) {\n // the following keys should not toggle keyboard mode.\n if (event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n }\n if (isKeyboardActive && isKeyboardEvent || !isKeyboardActive && !isKeyboardEvent) {\n return;\n }\n FocusService_1.keyboardModeActive = isKeyboardEvent;\n var doc = event.target.ownerDocument;\n if (!doc) {\n return;\n }\n var controllersForDoc = FocusService_1.instancesMonitored.get(doc);\n if (controllersForDoc) {\n controllersForDoc.forEach(function (controller) {\n controller.dispatchEvent({ type: isKeyboardEvent ? Events.EVENT_KEYBOARD_FOCUS : Events.EVENT_MOUSE_FOCUS });\n });\n }\n };\n FocusService.prototype.init = function () {\n var _this = this;\n var clearFocusedCellListener = this.clearFocusedCell.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, clearFocusedCellListener);\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onColumnEverythingChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_GROUP_OPENED, clearFocusedCellListener);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, clearFocusedCellListener);\n this.ctrlsService.whenReady(function (p) {\n _this.gridCtrl = p.gridCtrl;\n var doc = _this.gridOptionsWrapper.getDocument();\n FocusService_1.addKeyboardModeEvents(doc, _this.gridCtrl);\n _this.addDestroyFunc(function () { return _this.unregisterGridCompController(_this.gridCtrl); });\n });\n };\n FocusService.prototype.unregisterGridCompController = function (gridCompController) {\n var doc = this.gridOptionsWrapper.getDocument();\n FocusService_1.removeKeyboardModeEvents(doc, gridCompController);\n };\n FocusService.prototype.onColumnEverythingChanged = function () {\n // if the columns change, check and see if this column still exists. if it does, then\n // we can keep the focused cell. if it doesn't, then we need to drop the focused cell.\n if (!this.focusedCellPosition) {\n return;\n }\n var col = this.focusedCellPosition.column;\n var colFromColumnModel = this.columnModel.getGridColumn(col.getId());\n if (col !== colFromColumnModel) {\n this.clearFocusedCell();\n }\n };\n FocusService.prototype.isKeyboardMode = function () {\n return FocusService_1.keyboardModeActive;\n };\n // we check if the browser is focusing something, and if it is, and\n // it's the cell we think is focused, then return the cell. so this\n // methods returns the cell if a) we think it has focus and b) the\n // browser thinks it has focus. this then returns nothing if we\n // first focus a cell, then second click outside the grid, as then the\n // grid cell will still be focused as far as the grid is concerned,\n // however the browser focus will have moved somewhere else.\n FocusService.prototype.getFocusCellToUseAfterRefresh = function () {\n var eDocument = this.gridOptionsWrapper.getDocument();\n if (this.gridOptionsWrapper.isSuppressFocusAfterRefresh() || !this.focusedCellPosition) {\n return null;\n }\n // we check that the browser is actually focusing on the grid, if it is not, then\n // we have nothing to worry about. we check for ROW data, as this covers both focused Rows (for Full Width Rows)\n // and Cells (covers cells as cells live in rows)\n if (this.isDomDataMissingInHierarchy(eDocument.activeElement, RowCtrl.DOM_DATA_KEY_ROW_CTRL)) {\n return null;\n }\n return this.focusedCellPosition;\n };\n FocusService.prototype.getFocusHeaderToUseAfterRefresh = function () {\n var eDocument = this.gridOptionsWrapper.getDocument();\n if (this.gridOptionsWrapper.isSuppressFocusAfterRefresh() || !this.focusedHeaderPosition) {\n return null;\n }\n // we check that the browser is actually focusing on the grid, if it is not, then\n // we have nothing to worry about\n if (this.isDomDataMissingInHierarchy(eDocument.activeElement, AbstractHeaderCellCtrl.DOM_DATA_KEY_HEADER_CTRL)) {\n return null;\n }\n return this.focusedHeaderPosition;\n };\n FocusService.prototype.isDomDataMissingInHierarchy = function (eBrowserCell, key) {\n var ePointer = eBrowserCell;\n while (ePointer) {\n var data = this.gridOptionsWrapper.getDomData(ePointer, key);\n if (data) {\n return false;\n }\n ePointer = ePointer.parentNode;\n }\n return true;\n };\n FocusService.prototype.clearFocusedCell = function () {\n this.focusedCellPosition = null;\n this.onCellFocused(false, false);\n };\n FocusService.prototype.getFocusedCell = function () {\n return this.focusedCellPosition;\n };\n FocusService.prototype.setFocusedCell = function (params) {\n var column = params.column, rowIndex = params.rowIndex, rowPinned = params.rowPinned, _a = params.forceBrowserFocus, forceBrowserFocus = _a === void 0 ? false : _a, _b = params.preventScrollOnBrowserFocus, preventScrollOnBrowserFocus = _b === void 0 ? false : _b;\n var gridColumn = this.columnModel.getGridColumn(column);\n // if column doesn't exist, then blank the focused cell and return. this can happen when user sets new columns,\n // and the focused cell is in a column that no longer exists. after columns change, the grid refreshes and tries\n // to re-focus the focused cell.\n if (!gridColumn) {\n this.focusedCellPosition = null;\n return;\n }\n this.focusedCellPosition = gridColumn ? {\n rowIndex: rowIndex,\n rowPinned: makeNull(rowPinned),\n column: gridColumn\n } : null;\n this.onCellFocused(forceBrowserFocus, preventScrollOnBrowserFocus);\n };\n FocusService.prototype.isCellFocused = function (cellPosition) {\n if (this.focusedCellPosition == null) {\n return false;\n }\n return this.focusedCellPosition.column === cellPosition.column &&\n this.isRowFocused(cellPosition.rowIndex, cellPosition.rowPinned);\n };\n FocusService.prototype.isRowNodeFocused = function (rowNode) {\n return this.isRowFocused(rowNode.rowIndex, rowNode.rowPinned);\n };\n FocusService.prototype.isHeaderWrapperFocused = function (headerCtrl) {\n if (this.focusedHeaderPosition == null) {\n return false;\n }\n var column = headerCtrl.getColumnGroupChild();\n var headerRowIndex = headerCtrl.getRowIndex();\n var pinned = headerCtrl.getPinned();\n var _a = this.focusedHeaderPosition, focusedColumn = _a.column, focusedHeaderRowIndex = _a.headerRowIndex;\n return column === focusedColumn &&\n headerRowIndex === focusedHeaderRowIndex &&\n pinned == focusedColumn.getPinned();\n };\n FocusService.prototype.clearFocusedHeader = function () {\n this.focusedHeaderPosition = null;\n };\n FocusService.prototype.getFocusedHeader = function () {\n return this.focusedHeaderPosition;\n };\n FocusService.prototype.setFocusedHeader = function (headerRowIndex, column) {\n this.focusedHeaderPosition = { headerRowIndex: headerRowIndex, column: column };\n };\n FocusService.prototype.focusHeaderPosition = function (params) {\n var direction = params.direction, fromTab = params.fromTab, allowUserOverride = params.allowUserOverride, event = params.event;\n var headerPosition = params.headerPosition;\n if (allowUserOverride) {\n var gridOptionsWrapper = this.gridOptionsWrapper;\n var currentPosition = this.getFocusedHeader();\n var headerRowCount = this.headerNavigationService.getHeaderRowCount();\n if (fromTab) {\n var userFunc = gridOptionsWrapper.getTabToNextHeaderFunc();\n if (userFunc) {\n var params_1 = {\n backwards: direction === 'Before',\n previousHeaderPosition: currentPosition,\n nextHeaderPosition: headerPosition,\n headerRowCount: headerRowCount,\n };\n headerPosition = userFunc(params_1);\n }\n }\n else {\n var userFunc = gridOptionsWrapper.getNavigateToNextHeaderFunc();\n if (userFunc && event) {\n var params_2 = {\n key: event.key,\n previousHeaderPosition: currentPosition,\n nextHeaderPosition: headerPosition,\n headerRowCount: headerRowCount,\n event: event,\n };\n headerPosition = userFunc(params_2);\n }\n }\n }\n if (!headerPosition) {\n return false;\n }\n if (headerPosition.headerRowIndex === -1) {\n return this.focusGridView(headerPosition.column);\n }\n this.headerNavigationService.scrollToColumn(headerPosition.column, direction);\n var headerRowContainerCtrl = this.ctrlsService.getHeaderRowContainerCtrl(headerPosition.column.getPinned());\n // this will automatically call the setFocusedHeader method above\n var focusSuccess = headerRowContainerCtrl.focusHeader(headerPosition.headerRowIndex, headerPosition.column, event);\n return focusSuccess;\n };\n FocusService.prototype.focusFirstHeader = function () {\n var firstColumn = this.columnModel.getAllDisplayedColumns()[0];\n if (!firstColumn) {\n return false;\n }\n if (firstColumn.getParent()) {\n firstColumn = this.columnModel.getColumnGroupAtLevel(firstColumn, 0);\n }\n return this.focusHeaderPosition({\n headerPosition: { headerRowIndex: 0, column: firstColumn }\n });\n };\n FocusService.prototype.focusLastHeader = function (event) {\n var headerRowIndex = this.headerNavigationService.getHeaderRowCount() - 1;\n var column = last(this.columnModel.getAllDisplayedColumns());\n return this.focusHeaderPosition({\n headerPosition: { headerRowIndex: headerRowIndex, column: column },\n event: event\n });\n };\n FocusService.prototype.isAnyCellFocused = function () {\n return !!this.focusedCellPosition;\n };\n FocusService.prototype.isRowFocused = function (rowIndex, floating) {\n if (this.focusedCellPosition == null) {\n return false;\n }\n return this.focusedCellPosition.rowIndex === rowIndex && this.focusedCellPosition.rowPinned === makeNull(floating);\n };\n FocusService.prototype.findFocusableElements = function (rootNode, exclude, onlyUnmanaged) {\n if (onlyUnmanaged === void 0) { onlyUnmanaged = false; }\n var focusableString = Constants.FOCUSABLE_SELECTOR;\n var excludeString = Constants.FOCUSABLE_EXCLUDE;\n if (exclude) {\n excludeString += ', ' + exclude;\n }\n if (onlyUnmanaged) {\n excludeString += ', [tabindex=\"-1\"]';\n }\n var nodes = Array.prototype.slice.apply(rootNode.querySelectorAll(focusableString));\n var excludeNodes = Array.prototype.slice.apply(rootNode.querySelectorAll(excludeString));\n if (!excludeNodes.length) {\n return nodes;\n }\n var diff = function (a, b) { return a.filter(function (element) { return b.indexOf(element) === -1; }); };\n return diff(nodes, excludeNodes);\n };\n FocusService.prototype.focusInto = function (rootNode, up, onlyUnmanaged) {\n if (up === void 0) { up = false; }\n if (onlyUnmanaged === void 0) { onlyUnmanaged = false; }\n var focusableElements = this.findFocusableElements(rootNode, null, onlyUnmanaged);\n var toFocus = up ? last(focusableElements) : focusableElements[0];\n if (toFocus) {\n toFocus.focus();\n return true;\n }\n return false;\n };\n FocusService.prototype.findNextFocusableElement = function (rootNode, onlyManaged, backwards) {\n if (rootNode === void 0) { rootNode = this.eGridDiv; }\n var focusable = this.findFocusableElements(rootNode, onlyManaged ? ':not([tabindex=\"-1\"])' : null);\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeEl = eDocument.activeElement;\n var currentIndex;\n if (onlyManaged) {\n currentIndex = focusable.findIndex(function (el) { return el.contains(activeEl); });\n }\n else {\n currentIndex = focusable.indexOf(activeEl);\n }\n var nextIndex = currentIndex + (backwards ? -1 : 1);\n if (nextIndex < 0 || nextIndex >= focusable.length) {\n return null;\n }\n return focusable[nextIndex];\n };\n FocusService.prototype.isFocusUnderManagedComponent = function (rootNode) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var managedContainers = rootNode.querySelectorAll(\".\" + ManagedFocusFeature.FOCUS_MANAGED_CLASS);\n if (!managedContainers.length) {\n return false;\n }\n for (var i = 0; i < managedContainers.length; i++) {\n if (managedContainers[i].contains(eDocument.activeElement)) {\n return true;\n }\n }\n return false;\n };\n FocusService.prototype.findTabbableParent = function (node, limit) {\n if (limit === void 0) { limit = 5; }\n var counter = 0;\n while (node && getTabIndex(node) === null && ++counter <= limit) {\n node = node.parentElement;\n }\n if (getTabIndex(node) === null) {\n return null;\n }\n return node;\n };\n FocusService.prototype.onCellFocused = function (forceBrowserFocus, preventScrollOnBrowserFocus) {\n var event = {\n type: Events.EVENT_CELL_FOCUSED,\n forceBrowserFocus: forceBrowserFocus,\n preventScrollOnBrowserFocus: preventScrollOnBrowserFocus,\n rowIndex: null,\n column: null,\n floating: null,\n rowPinned: null,\n isFullWidthCell: false\n };\n if (this.focusedCellPosition) {\n var rowIndex = event.rowIndex = this.focusedCellPosition.rowIndex;\n var rowPinned = event.rowPinned = this.focusedCellPosition.rowPinned;\n event.column = this.focusedCellPosition.column;\n var rowCtrl = this.rowRenderer.getRowByPosition({ rowIndex: rowIndex, rowPinned: rowPinned });\n if (rowCtrl) {\n event.isFullWidthCell = rowCtrl.isFullWidth();\n }\n }\n this.eventService.dispatchEvent(event);\n };\n FocusService.prototype.focusGridView = function (column, backwards) {\n // if suppressCellFocus is `true`, it means the user does not want to\n // navigate between the cells using tab. Instead, we put focus on either\n // the header or after the grid, depending on whether tab or shift-tab was pressed.\n if (this.gridOptionsWrapper.isSuppressCellFocus()) {\n if (backwards) {\n return this.focusLastHeader();\n }\n return this.focusNextGridCoreContainer(false);\n }\n var nextRow = backwards\n ? this.rowPositionUtils.getLastRow()\n : this.rowPositionUtils.getFirstRow();\n if (!nextRow) {\n return false;\n }\n var rowIndex = nextRow.rowIndex, rowPinned = nextRow.rowPinned;\n var focusedHeader = this.getFocusedHeader();\n if (!column && focusedHeader) {\n column = focusedHeader.column;\n }\n if (rowIndex == null || !column) {\n return false;\n }\n this.navigationService.ensureCellVisible({ rowIndex: rowIndex, column: column, rowPinned: rowPinned });\n this.setFocusedCell({\n rowIndex: rowIndex,\n column: column,\n rowPinned: makeNull(rowPinned),\n forceBrowserFocus: true\n });\n if (this.rangeService) {\n var cellPosition = { rowIndex: rowIndex, rowPinned: rowPinned, column: column };\n this.rangeService.setRangeToCell(cellPosition);\n }\n return true;\n };\n FocusService.prototype.focusNextGridCoreContainer = function (backwards) {\n if (this.gridCtrl.focusNextInnerContainer(backwards)) {\n return true;\n }\n if (!backwards && !this.gridCtrl.isDetailGrid()) {\n this.gridCtrl.forceFocusOutOfContainer();\n }\n return false;\n };\n var FocusService_1;\n FocusService.AG_KEYBOARD_FOCUS = 'ag-keyboard-focus';\n FocusService.keyboardModeActive = false;\n FocusService.instancesMonitored = new Map();\n __decorate$P([\n Autowired('eGridDiv')\n ], FocusService.prototype, \"eGridDiv\", void 0);\n __decorate$P([\n Autowired('columnModel')\n ], FocusService.prototype, \"columnModel\", void 0);\n __decorate$P([\n Autowired('headerNavigationService')\n ], FocusService.prototype, \"headerNavigationService\", void 0);\n __decorate$P([\n Autowired('rowRenderer')\n ], FocusService.prototype, \"rowRenderer\", void 0);\n __decorate$P([\n Autowired('rowPositionUtils')\n ], FocusService.prototype, \"rowPositionUtils\", void 0);\n __decorate$P([\n Optional('rangeService')\n ], FocusService.prototype, \"rangeService\", void 0);\n __decorate$P([\n Autowired('navigationService')\n ], FocusService.prototype, \"navigationService\", void 0);\n __decorate$P([\n Autowired('ctrlsService')\n ], FocusService.prototype, \"ctrlsService\", void 0);\n __decorate$P([\n PostConstruct\n ], FocusService.prototype, \"init\", null);\n FocusService = FocusService_1 = __decorate$P([\n Bean('focusService')\n ], FocusService);\n return FocusService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$M = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$O = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$6 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$5 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$6(arguments[i]));\n return ar;\n};\nvar DIRECTION;\n(function (DIRECTION) {\n DIRECTION[DIRECTION[\"vertical\"] = 0] = \"vertical\";\n DIRECTION[DIRECTION[\"horizontal\"] = 1] = \"horizontal\";\n})(DIRECTION || (DIRECTION = {}));\nvar instanceIdSeq = 0;\nvar PopupService = /** @class */ (function (_super) {\n __extends$M(PopupService, _super);\n function PopupService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.popupList = [];\n return _this;\n }\n PopupService_1 = PopupService;\n PopupService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.gridCtrl = p.gridCtrl;\n _this.addManagedListener(_this.gridCtrl, Events.EVENT_KEYBOARD_FOCUS, function () {\n _this.popupList.forEach(function (popup) { return popup.element.classList.add(FocusService.AG_KEYBOARD_FOCUS); });\n });\n _this.addManagedListener(_this.gridCtrl, Events.EVENT_MOUSE_FOCUS, function () {\n _this.popupList.forEach(function (popup) { return popup.element.classList.remove(FocusService.AG_KEYBOARD_FOCUS); });\n });\n });\n };\n PopupService.prototype.getPopupParent = function () {\n var ePopupParent = this.gridOptionsWrapper.getPopupParent();\n if (ePopupParent) {\n return ePopupParent;\n }\n return this.gridCtrl.getGui();\n };\n PopupService.prototype.positionPopupForMenu = function (params) {\n var sourceRect = params.eventSource.getBoundingClientRect();\n var parentRect = this.getParentRect();\n var y = this.keepXYWithinBounds(params.ePopup, sourceRect.top - parentRect.top, DIRECTION.vertical);\n var minWidth = (params.ePopup.clientWidth > 0) ? params.ePopup.clientWidth : 200;\n params.ePopup.style.minWidth = minWidth + \"px\";\n var widthOfParent = parentRect.right - parentRect.left;\n var maxX = widthOfParent - minWidth;\n // the x position of the popup depends on RTL or LTR. for normal cases, LTR, we put the child popup\n // to the right, unless it doesn't fit and we then put it to the left. for RTL it's the other way around,\n // we try place it first to the left, and then if not to the right.\n var x;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n // for RTL, try left first\n x = xLeftPosition();\n if (x < 0) {\n x = xRightPosition();\n }\n if (x > maxX) {\n x = 0;\n }\n }\n else {\n // for LTR, try right first\n x = xRightPosition();\n if (x > maxX) {\n x = xLeftPosition();\n }\n if (x < 0) {\n x = 0;\n }\n }\n params.ePopup.style.left = x + \"px\";\n params.ePopup.style.top = y + \"px\";\n function xRightPosition() {\n return sourceRect.right - parentRect.left - 2;\n }\n function xLeftPosition() {\n return sourceRect.left - parentRect.left - minWidth;\n }\n };\n PopupService.prototype.positionPopupUnderMouseEvent = function (params) {\n var ePopup = params.ePopup, nudgeX = params.nudgeX, nudgeY = params.nudgeY, skipObserver = params.skipObserver;\n var _a = this.calculatePointerAlign(params.mouseEvent), x = _a.x, y = _a.y;\n this.positionPopup({\n ePopup: ePopup,\n x: x,\n y: y,\n nudgeX: nudgeX,\n nudgeY: nudgeY,\n keepWithinBounds: true,\n skipObserver: skipObserver\n });\n this.callPostProcessPopup(params.type, params.ePopup, null, params.mouseEvent, params.column, params.rowNode);\n };\n PopupService.prototype.calculatePointerAlign = function (e) {\n var parentRect = this.getParentRect();\n return {\n x: e.clientX - parentRect.left,\n y: e.clientY - parentRect.top\n };\n };\n PopupService.prototype.positionPopupUnderComponent = function (params) {\n var sourceRect = params.eventSource.getBoundingClientRect();\n var alignSide = params.alignSide || 'left';\n var parentRect = this.getParentRect();\n var x = sourceRect.left - parentRect.left;\n if (alignSide === 'right') {\n x -= (params.ePopup.offsetWidth - sourceRect.width);\n }\n this.positionPopup({\n ePopup: params.ePopup,\n nudgeX: params.nudgeX,\n nudgeY: params.nudgeY,\n x: x,\n y: sourceRect.top - parentRect.top + sourceRect.height,\n keepWithinBounds: params.keepWithinBounds\n });\n this.callPostProcessPopup(params.type, params.ePopup, params.eventSource, null, params.column, params.rowNode);\n };\n PopupService.prototype.positionPopupOverComponent = function (params) {\n var sourceRect = params.eventSource.getBoundingClientRect();\n var parentRect = this.getParentRect();\n this.positionPopup({\n ePopup: params.ePopup,\n nudgeX: params.nudgeX,\n nudgeY: params.nudgeY,\n x: sourceRect.left - parentRect.left,\n y: sourceRect.top - parentRect.top,\n keepWithinBounds: params.keepWithinBounds\n });\n this.callPostProcessPopup(params.type, params.ePopup, params.eventSource, null, params.column, params.rowNode);\n };\n PopupService.prototype.callPostProcessPopup = function (type, ePopup, eventSource, mouseEvent, column, rowNode) {\n var callback = this.gridOptionsWrapper.getPostProcessPopupFunc();\n if (callback) {\n var params = {\n column: column,\n rowNode: rowNode,\n ePopup: ePopup,\n type: type,\n eventSource: eventSource,\n mouseEvent: mouseEvent\n };\n callback(params);\n }\n };\n PopupService.prototype.positionPopup = function (params) {\n var _this = this;\n var x = params.x, y = params.y, ePopup = params.ePopup, keepWithinBounds = params.keepWithinBounds, nudgeX = params.nudgeX, nudgeY = params.nudgeY, skipObserver = params.skipObserver;\n var currentX = x;\n var currentY = y;\n if (nudgeX) {\n currentX += nudgeX;\n }\n if (nudgeY) {\n currentY += nudgeY;\n }\n var updatePosition = function () {\n // if popup is overflowing to the bottom, move it up\n if (keepWithinBounds) {\n currentX = _this.keepXYWithinBounds(ePopup, currentX, DIRECTION.horizontal);\n currentY = _this.keepXYWithinBounds(ePopup, currentY, DIRECTION.vertical);\n }\n ePopup.style.left = currentX + \"px\";\n ePopup.style.top = currentY + \"px\";\n };\n updatePosition();\n // Mouse tracking will recalculate positioning when moving, so won't need to recalculate here\n if (!skipObserver) {\n // Since rendering popup contents can be asynchronous, use a resize observer to\n // reposition the popup after initial updates to the size of the contents\n var resizeObserverDestroyFunc_1 = this.resizeObserverService.observeResize(ePopup, updatePosition);\n // Only need to reposition when first open, so can clean up after a bit of time\n setTimeout(function () { return resizeObserverDestroyFunc_1(); }, PopupService_1.WAIT_FOR_POPUP_CONTENT_RESIZE);\n }\n };\n PopupService.prototype.getActivePopups = function () {\n return this.popupList.map(function (popup) { return popup.element; });\n };\n PopupService.prototype.getPopupList = function () {\n return this.popupList;\n };\n PopupService.prototype.getParentRect = function () {\n // subtract the popup parent borders, because popupParent.getBoundingClientRect\n // returns the rect outside the borders, but the 0,0 coordinate for absolute\n // positioning is inside the border, leading the popup to be off by the width\n // of the border\n var eDocument = this.gridOptionsWrapper.getDocument();\n var popupParent = this.getPopupParent();\n if (popupParent === eDocument.body) {\n popupParent = eDocument.documentElement;\n }\n else if (getComputedStyle(popupParent).position === 'static') {\n popupParent = popupParent.offsetParent;\n }\n var style = getComputedStyle(popupParent);\n var bounds = popupParent.getBoundingClientRect();\n return {\n top: bounds.top + parseFloat(style.borderTopWidth) || 0,\n left: bounds.left + parseFloat(style.borderLeftWidth) || 0,\n right: bounds.right + parseFloat(style.borderRightWidth) || 0,\n bottom: bounds.bottom + parseFloat(style.borderBottomWidth) || 0,\n };\n };\n PopupService.prototype.keepXYWithinBounds = function (ePopup, position, direction) {\n var isVertical = direction === DIRECTION.vertical;\n var sizeProperty = isVertical ? 'clientHeight' : 'clientWidth';\n var anchorProperty = isVertical ? 'top' : 'left';\n var offsetProperty = isVertical ? 'offsetHeight' : 'offsetWidth';\n var scrollPositionProperty = isVertical ? 'scrollTop' : 'scrollLeft';\n var eDocument = this.gridOptionsWrapper.getDocument();\n var docElement = eDocument.documentElement;\n var popupParent = this.getPopupParent();\n var parentRect = popupParent.getBoundingClientRect();\n var documentRect = eDocument.documentElement.getBoundingClientRect();\n var isBody = popupParent === eDocument.body;\n var offsetSize = ePopup[offsetProperty];\n var getSize = isVertical ? getAbsoluteHeight : getAbsoluteWidth;\n var sizeOfParent = isBody ? (getSize(docElement) + docElement[scrollPositionProperty]) : popupParent[sizeProperty];\n if (isBody) {\n sizeOfParent -= Math.abs(documentRect[anchorProperty] - parentRect[anchorProperty]);\n }\n var max = sizeOfParent - offsetSize;\n return Math.min(Math.max(position, 0), Math.abs(max));\n };\n PopupService.prototype.keepPopupPositionedRelativeTo = function (params) {\n var _this = this;\n var eParent = this.getPopupParent();\n var parentRect = eParent.getBoundingClientRect();\n var sourceRect = params.element.getBoundingClientRect();\n var initialDiffTop = parentRect.top - sourceRect.top;\n var initialDiffLeft = parentRect.left - sourceRect.left;\n var lastDiffTop = initialDiffTop;\n var lastDiffLeft = initialDiffLeft;\n var topPx = params.ePopup.style.top;\n var top = parseInt(topPx.substring(0, topPx.length - 1), 10);\n var leftPx = params.ePopup.style.left;\n var left = parseInt(leftPx.substring(0, leftPx.length - 1), 10);\n return new AgPromise(function (resolve) {\n _this.getFrameworkOverrides().setInterval(function () {\n var pRect = eParent.getBoundingClientRect();\n var sRect = params.element.getBoundingClientRect();\n var elementNotInDom = sRect.top == 0 && sRect.left == 0 && sRect.height == 0 && sRect.width == 0;\n if (elementNotInDom) {\n params.hidePopup();\n return;\n }\n var currentDiffTop = pRect.top - sRect.top;\n if (currentDiffTop != lastDiffTop) {\n var newTop = _this.keepXYWithinBounds(params.ePopup, top + initialDiffTop - currentDiffTop, DIRECTION.vertical);\n params.ePopup.style.top = newTop + \"px\";\n }\n lastDiffTop = currentDiffTop;\n var currentDiffLeft = pRect.left - sRect.left;\n if (currentDiffLeft != lastDiffLeft) {\n var newLeft = _this.keepXYWithinBounds(params.ePopup, left + initialDiffLeft - currentDiffLeft, DIRECTION.horizontal);\n params.ePopup.style.left = newLeft + \"px\";\n }\n lastDiffLeft = currentDiffLeft;\n }, 200).then(function (intervalId) {\n var result = function () {\n if (intervalId != null) {\n window.clearInterval(intervalId);\n }\n };\n resolve(result);\n });\n });\n };\n PopupService.prototype.addPopup = function (params) {\n var _a;\n var _this = this;\n var modal = params.modal, eChild = params.eChild, closeOnEsc = params.closeOnEsc, closedCallback = params.closedCallback, click = params.click, alwaysOnTop = params.alwaysOnTop, afterGuiAttached = params.afterGuiAttached, positionCallback = params.positionCallback, anchorToElement = params.anchorToElement, ariaLabel = params.ariaLabel;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var destroyPositionTracker = new AgPromise(function (resolve) { return resolve(function () { }); });\n if (!eDocument) {\n console.warn('ag-grid: could not find the document, document is empty');\n return { hideFunc: function () { }, stopAnchoringPromise: destroyPositionTracker };\n }\n var pos = this.popupList.findIndex(function (popup) { return popup.element === eChild; });\n if (pos !== -1) {\n var popup = this.popupList[pos];\n return { hideFunc: popup.hideFunc, stopAnchoringPromise: popup.stopAnchoringPromise };\n }\n var ePopupParent = this.getPopupParent();\n if (eChild.style.top == null) {\n eChild.style.top = '0px';\n }\n if (eChild.style.left == null) {\n eChild.style.left = '0px';\n }\n // add env CSS class to child, in case user provided a popup parent, which means\n // theme class may be missing\n var eWrapper = document.createElement('div');\n var allThemes = this.environment.getTheme().allThemes;\n if (allThemes.length) {\n (_a = eWrapper.classList).add.apply(_a, __spread$5(allThemes));\n }\n eWrapper.classList.add('ag-popup');\n eChild.classList.add(this.gridOptionsWrapper.isEnableRtl() ? 'ag-rtl' : 'ag-ltr', 'ag-popup-child');\n if (!eChild.hasAttribute('role')) {\n setAriaRole(eChild, 'dialog');\n }\n setAriaLabel(eChild, ariaLabel);\n if (this.focusService.isKeyboardMode()) {\n eChild.classList.add(FocusService.AG_KEYBOARD_FOCUS);\n }\n eWrapper.appendChild(eChild);\n ePopupParent.appendChild(eWrapper);\n if (alwaysOnTop) {\n this.setAlwaysOnTop(eWrapper, true);\n }\n else {\n this.bringPopupToFront(eWrapper);\n }\n var popupHidden = false;\n var hidePopupOnKeyboardEvent = function (event) {\n if (!eWrapper.contains(eDocument.activeElement)) {\n return;\n }\n var key = event.key;\n if (key === KeyCode.ESCAPE) {\n hidePopup({ keyboardEvent: event });\n }\n };\n var hidePopupOnMouseEvent = function (event) { return hidePopup({ mouseEvent: event }); };\n var hidePopupOnTouchEvent = function (event) { return hidePopup({ touchEvent: event }); };\n var hidePopup = function (popupParams) {\n if (popupParams === void 0) { popupParams = {}; }\n var mouseEvent = popupParams.mouseEvent, touchEvent = popupParams.touchEvent, keyboardEvent = popupParams.keyboardEvent;\n if (\n // we don't hide popup if the event was on the child, or any\n // children of this child\n _this.isEventFromCurrentPopup({ mouseEvent: mouseEvent, touchEvent: touchEvent }, eChild) ||\n // if the event to close is actually the open event, then ignore it\n _this.isEventSameChainAsOriginalEvent({ originalMouseEvent: click, mouseEvent: mouseEvent, touchEvent: touchEvent }) ||\n // this method should only be called once. the client can have different\n // paths, each one wanting to close, so this method may be called multiple times.\n popupHidden) {\n return;\n }\n popupHidden = true;\n ePopupParent.removeChild(eWrapper);\n eDocument.removeEventListener('keydown', hidePopupOnKeyboardEvent);\n eDocument.removeEventListener('mousedown', hidePopupOnMouseEvent);\n eDocument.removeEventListener('touchstart', hidePopupOnTouchEvent);\n eDocument.removeEventListener('contextmenu', hidePopupOnMouseEvent);\n _this.eventService.removeEventListener(Events.EVENT_DRAG_STARTED, hidePopupOnMouseEvent);\n if (closedCallback) {\n closedCallback(mouseEvent || touchEvent || keyboardEvent);\n }\n _this.popupList = _this.popupList.filter(function (popup) { return popup.element !== eChild; });\n if (destroyPositionTracker) {\n destroyPositionTracker.then(function (destroyFunc) { return destroyFunc && destroyFunc(); });\n }\n };\n if (afterGuiAttached) {\n afterGuiAttached({ hidePopup: hidePopup });\n }\n // if we add these listeners now, then the current mouse\n // click will be included, which we don't want\n window.setTimeout(function () {\n if (closeOnEsc) {\n eDocument.addEventListener('keydown', hidePopupOnKeyboardEvent);\n }\n if (modal) {\n eDocument.addEventListener('mousedown', hidePopupOnMouseEvent);\n _this.eventService.addEventListener(Events.EVENT_DRAG_STARTED, hidePopupOnMouseEvent);\n eDocument.addEventListener('touchstart', hidePopupOnTouchEvent);\n eDocument.addEventListener('contextmenu', hidePopupOnMouseEvent);\n }\n }, 0);\n if (positionCallback) {\n positionCallback();\n }\n if (anchorToElement) {\n // keeps popup positioned under created, eg if context menu, if user scrolls\n // using touchpad and the cell moves, it moves the popup to keep it with the cell.\n destroyPositionTracker = this.keepPopupPositionedRelativeTo({\n element: anchorToElement,\n ePopup: eChild,\n hidePopup: hidePopup\n });\n }\n this.popupList.push({\n element: eChild,\n wrapper: eWrapper,\n hideFunc: hidePopup,\n stopAnchoringPromise: destroyPositionTracker,\n instanceId: instanceIdSeq++,\n isAnchored: !!anchorToElement\n });\n return {\n hideFunc: hidePopup,\n stopAnchoringPromise: destroyPositionTracker\n };\n };\n PopupService.prototype.hasAnchoredPopup = function () {\n return this.popupList.some(function (popup) { return popup.isAnchored; });\n };\n PopupService.prototype.isEventFromCurrentPopup = function (params, target) {\n var mouseEvent = params.mouseEvent, touchEvent = params.touchEvent;\n var event = mouseEvent ? mouseEvent : touchEvent;\n if (!event) {\n return false;\n }\n var indexOfThisChild = this.popupList.findIndex(function (popup) { return popup.element === target; });\n if (indexOfThisChild === -1) {\n return false;\n }\n for (var i = indexOfThisChild; i < this.popupList.length; i++) {\n var popup = this.popupList[i];\n if (isElementInEventPath(popup.element, event)) {\n return true;\n }\n }\n // if the user did not write their own Custom Element to be rendered as popup\n // and this component has an additional popup element, they should have the\n // `ag-custom-component-popup` class to be detected as part of the Custom Component\n return this.isElementWithinCustomPopup(event.target);\n };\n PopupService.prototype.isElementWithinCustomPopup = function (el) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n while (el && el !== eDocument.body) {\n if (el.classList.contains('ag-custom-component-popup') || el.parentElement === null) {\n return true;\n }\n el = el.parentElement;\n }\n return false;\n };\n // in some browsers, the context menu event can be fired before the click event, which means\n // the context menu event could open the popup, but then the click event closes it straight away.\n PopupService.prototype.isEventSameChainAsOriginalEvent = function (params) {\n var originalMouseEvent = params.originalMouseEvent, mouseEvent = params.mouseEvent, touchEvent = params.touchEvent;\n // we check the coordinates of the event, to see if it's the same event. there is a 1 / 1000 chance that\n // the event is a different event, however that is an edge case that is not very relevant (the user clicking\n // twice on the same location isn't a normal path).\n // event could be mouse event or touch event.\n var mouseEventOrTouch = null;\n if (mouseEvent) {\n // mouse event can be used direction, it has coordinates\n mouseEventOrTouch = mouseEvent;\n }\n else if (touchEvent) {\n // touch event doesn't have coordinates, need it's touch object\n mouseEventOrTouch = touchEvent.touches[0];\n }\n if (mouseEventOrTouch && originalMouseEvent) {\n // for x, allow 4px margin, to cover iPads, where touch (which opens menu) is followed\n // by browser click (when you finger up, touch is interrupted as click in browser)\n var screenX_1 = mouseEvent ? mouseEvent.screenX : 0;\n var screenY_1 = mouseEvent ? mouseEvent.screenY : 0;\n var xMatch = Math.abs(originalMouseEvent.screenX - screenX_1) < 5;\n var yMatch = Math.abs(originalMouseEvent.screenY - screenY_1) < 5;\n if (xMatch && yMatch) {\n return true;\n }\n }\n return false;\n };\n PopupService.prototype.getWrapper = function (ePopup) {\n while (!ePopup.classList.contains('ag-popup') && ePopup.parentElement) {\n ePopup = ePopup.parentElement;\n }\n return ePopup.classList.contains('ag-popup') ? ePopup : null;\n };\n PopupService.prototype.setAlwaysOnTop = function (ePopup, alwaysOnTop) {\n var eWrapper = this.getWrapper(ePopup);\n if (!eWrapper) {\n return;\n }\n eWrapper.classList.toggle('ag-always-on-top', !!alwaysOnTop);\n if (alwaysOnTop) {\n this.bringPopupToFront(eWrapper);\n }\n };\n PopupService.prototype.bringPopupToFront = function (ePopup) {\n var parent = this.getPopupParent();\n var popupList = Array.prototype.slice.call(parent.querySelectorAll('.ag-popup'));\n var popupLen = popupList.length;\n var alwaysOnTopList = Array.prototype.slice.call(parent.querySelectorAll('.ag-popup.ag-always-on-top'));\n var onTopLength = alwaysOnTopList.length;\n var eWrapper = this.getWrapper(ePopup);\n if (!eWrapper || popupLen <= 1 || !parent.contains(ePopup)) {\n return;\n }\n var pos = popupList.indexOf(eWrapper);\n var innerEls = eWrapper.querySelectorAll('div');\n var innerElsScrollMap = [];\n innerEls.forEach(function (el) {\n if (el.scrollTop !== 0) {\n innerElsScrollMap.push([el, el.scrollTop]);\n }\n });\n if (onTopLength) {\n var isPopupAlwaysOnTop = eWrapper.classList.contains('ag-always-on-top');\n if (isPopupAlwaysOnTop) {\n if (pos !== popupLen - 1) {\n last(alwaysOnTopList).insertAdjacentElement('afterend', eWrapper);\n }\n }\n else if (pos !== popupLen - onTopLength - 1) {\n alwaysOnTopList[0].insertAdjacentElement('beforebegin', eWrapper);\n }\n }\n else if (pos !== popupLen - 1) {\n last(popupList).insertAdjacentElement('afterend', eWrapper);\n }\n while (innerElsScrollMap.length) {\n var currentEl = innerElsScrollMap.pop();\n currentEl[0].scrollTop = currentEl[1];\n }\n var params = {\n type: 'popupToFront',\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n eWrapper: eWrapper\n };\n this.eventService.dispatchEvent(params);\n };\n var PopupService_1;\n PopupService.WAIT_FOR_POPUP_CONTENT_RESIZE = 200;\n __decorate$O([\n Autowired('environment')\n ], PopupService.prototype, \"environment\", void 0);\n __decorate$O([\n Autowired('focusService')\n ], PopupService.prototype, \"focusService\", void 0);\n __decorate$O([\n Autowired('ctrlsService')\n ], PopupService.prototype, \"ctrlsService\", void 0);\n __decorate$O([\n Autowired('resizeObserverService')\n ], PopupService.prototype, \"resizeObserverService\", void 0);\n __decorate$O([\n Autowired('gridOptionsWrapper')\n ], PopupService.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$O([\n PostConstruct\n ], PopupService.prototype, \"postConstruct\", null);\n PopupService = PopupService_1 = __decorate$O([\n Bean('popupService')\n ], PopupService);\n return PopupService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$L = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$N = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar VirtualList = /** @class */ (function (_super) {\n __extends$L(VirtualList, _super);\n function VirtualList(cssIdentifier, ariaRole, listName) {\n if (cssIdentifier === void 0) { cssIdentifier = 'default'; }\n if (ariaRole === void 0) { ariaRole = 'listbox'; }\n var _this = _super.call(this, VirtualList.getTemplate(cssIdentifier)) || this;\n _this.cssIdentifier = cssIdentifier;\n _this.ariaRole = ariaRole;\n _this.listName = listName;\n _this.renderedRows = new Map();\n _this.rowHeight = 20;\n return _this;\n }\n VirtualList.prototype.postConstruct = function () {\n var _this = this;\n this.addScrollListener();\n this.rowHeight = this.getItemHeight();\n this.addResizeObserver();\n this.initialiseTabGuard({\n onFocusIn: function (e) { return _this.onFocusIn(e); },\n onFocusOut: function (e) { return _this.onFocusOut(e); },\n focusInnerElement: function (fromBottom) { return _this.focusInnerElement(fromBottom); },\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); }\n });\n this.setAriaProperties();\n };\n VirtualList.prototype.setAriaProperties = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var listName = translate('ariaDefaultListName', this.listName || 'List');\n var ariaEl = this.eContainer;\n setAriaRole(ariaEl, this.ariaRole);\n setAriaLabel(ariaEl, listName);\n };\n VirtualList.prototype.addResizeObserver = function () {\n var listener = this.drawVirtualRows.bind(this);\n var destroyObserver = this.resizeObserverService.observeResize(this.getGui(), listener);\n this.addDestroyFunc(destroyObserver);\n };\n VirtualList.prototype.focusInnerElement = function (fromBottom) {\n this.focusRow(fromBottom ? this.model.getRowCount() - 1 : 0);\n };\n VirtualList.prototype.onFocusIn = function (e) {\n var target = e.target;\n if (target.classList.contains('ag-virtual-list-item')) {\n this.lastFocusedRowIndex = getAriaPosInSet(target) - 1;\n }\n return false;\n };\n VirtualList.prototype.onFocusOut = function (e) {\n if (!this.getFocusableElement().contains(e.relatedTarget)) {\n this.lastFocusedRowIndex = null;\n }\n return false;\n };\n VirtualList.prototype.handleKeyDown = function (e) {\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n if (this.navigate(e.key === KeyCode.UP)) {\n e.preventDefault();\n }\n break;\n }\n };\n VirtualList.prototype.onTabKeyDown = function (e) {\n if (this.navigate(e.shiftKey)) {\n e.preventDefault();\n }\n else {\n // focus on the first or last focusable element to ensure that any other handlers start from there\n this.focusService.focusInto(this.getGui(), !e.shiftKey);\n }\n };\n VirtualList.prototype.navigate = function (up) {\n if (this.lastFocusedRowIndex == null) {\n return false;\n }\n var nextRow = this.lastFocusedRowIndex + (up ? -1 : 1);\n if (nextRow < 0 || nextRow >= this.model.getRowCount()) {\n return false;\n }\n this.focusRow(nextRow);\n return true;\n };\n VirtualList.prototype.getLastFocusedRow = function () {\n return this.lastFocusedRowIndex;\n };\n VirtualList.prototype.focusRow = function (rowNumber) {\n var _this = this;\n this.ensureIndexVisible(rowNumber);\n window.setTimeout(function () {\n if (!_this.isAlive()) {\n return;\n }\n var renderedRow = _this.renderedRows.get(rowNumber);\n if (renderedRow) {\n renderedRow.eDiv.focus();\n }\n }, 10);\n };\n VirtualList.prototype.getComponentAt = function (rowIndex) {\n var comp = this.renderedRows.get(rowIndex);\n return comp && comp.rowComponent;\n };\n VirtualList.prototype.forEachRenderedRow = function (func) {\n this.renderedRows.forEach(function (value, key) { return func(value.rowComponent, key); });\n };\n VirtualList.getTemplate = function (cssIdentifier) {\n return /* html */ \"\\n
\\n
\\n
\";\n };\n VirtualList.prototype.getItemHeight = function () {\n return this.gridOptionsWrapper.getListItemHeight();\n };\n VirtualList.prototype.ensureIndexVisible = function (index) {\n var lastRow = this.model.getRowCount();\n if (typeof index !== 'number' || index < 0 || index >= lastRow) {\n console.warn('AG Grid: invalid row index for ensureIndexVisible: ' + index);\n return;\n }\n var rowTopPixel = index * this.rowHeight;\n var rowBottomPixel = rowTopPixel + this.rowHeight;\n var eGui = this.getGui();\n var viewportTopPixel = eGui.scrollTop;\n var viewportHeight = eGui.offsetHeight;\n var viewportBottomPixel = viewportTopPixel + viewportHeight;\n var viewportScrolledPastRow = viewportTopPixel > rowTopPixel;\n var viewportScrolledBeforeRow = viewportBottomPixel < rowBottomPixel;\n if (viewportScrolledPastRow) {\n // if row is before, scroll up with row at top\n eGui.scrollTop = rowTopPixel;\n }\n else if (viewportScrolledBeforeRow) {\n // if row is below, scroll down with row at bottom\n var newScrollPosition = rowBottomPixel - viewportHeight;\n eGui.scrollTop = newScrollPosition;\n }\n };\n VirtualList.prototype.setComponentCreator = function (componentCreator) {\n this.componentCreator = componentCreator;\n };\n VirtualList.prototype.getRowHeight = function () {\n return this.rowHeight;\n };\n VirtualList.prototype.getScrollTop = function () {\n return this.getGui().scrollTop;\n };\n VirtualList.prototype.setRowHeight = function (rowHeight) {\n this.rowHeight = rowHeight;\n this.refresh();\n };\n VirtualList.prototype.refresh = function () {\n var _this = this;\n if (this.model == null || !this.isAlive()) {\n return;\n }\n var rowCount = this.model.getRowCount();\n this.eContainer.style.height = rowCount * this.rowHeight + \"px\";\n // ensure height is applied before attempting to redraw rows\n waitUntil(function () { return _this.eContainer.clientHeight >= rowCount * _this.rowHeight; }, function () {\n if (!_this.isAlive()) {\n return;\n }\n _this.clearVirtualRows();\n _this.drawVirtualRows();\n });\n };\n VirtualList.prototype.clearVirtualRows = function () {\n var _this = this;\n this.renderedRows.forEach(function (_, rowIndex) { return _this.removeRow(rowIndex); });\n };\n VirtualList.prototype.drawVirtualRows = function () {\n if (!this.isAlive()) {\n return;\n }\n var gui = this.getGui();\n var topPixel = gui.scrollTop;\n var bottomPixel = topPixel + gui.offsetHeight;\n var firstRow = Math.floor(topPixel / this.rowHeight);\n var lastRow = Math.floor(bottomPixel / this.rowHeight);\n this.ensureRowsRendered(firstRow, lastRow);\n };\n VirtualList.prototype.ensureRowsRendered = function (start, finish) {\n var _this = this;\n // remove any rows that are no longer required\n this.renderedRows.forEach(function (_, rowIndex) {\n if ((rowIndex < start || rowIndex > finish) && rowIndex !== _this.lastFocusedRowIndex) {\n _this.removeRow(rowIndex);\n }\n });\n // insert any required new rows\n for (var rowIndex = start; rowIndex <= finish; rowIndex++) {\n if (this.renderedRows.has(rowIndex)) {\n continue;\n }\n // check this row actually exists (in case overflow buffer window exceeds real data)\n if (rowIndex < this.model.getRowCount()) {\n this.insertRow(rowIndex);\n }\n }\n };\n VirtualList.prototype.insertRow = function (rowIndex) {\n var _this = this;\n var value = this.model.getRow(rowIndex);\n var eDiv = document.createElement('div');\n eDiv.classList.add('ag-virtual-list-item', \"ag-\" + this.cssIdentifier + \"-virtual-list-item\");\n setAriaRole(eDiv, this.ariaRole === 'tree' ? 'treeitem' : 'option');\n setAriaSetSize(eDiv, this.model.getRowCount());\n setAriaPosInSet(eDiv, rowIndex + 1);\n eDiv.setAttribute('tabindex', '-1');\n if (typeof this.model.isRowSelected === 'function') {\n var isSelected = this.model.isRowSelected(rowIndex);\n setAriaSelected(eDiv, !!isSelected);\n setAriaChecked(eDiv, isSelected);\n }\n eDiv.style.height = this.rowHeight + \"px\";\n eDiv.style.top = this.rowHeight * rowIndex + \"px\";\n var rowComponent = this.componentCreator(value, eDiv);\n rowComponent.addGuiEventListener('focusin', function () { return _this.lastFocusedRowIndex = rowIndex; });\n eDiv.appendChild(rowComponent.getGui());\n // keep the DOM order consistent with the order of the rows\n if (this.renderedRows.has(rowIndex - 1)) {\n this.renderedRows.get(rowIndex - 1).eDiv.insertAdjacentElement('afterend', eDiv);\n }\n else if (this.renderedRows.has(rowIndex + 1)) {\n this.renderedRows.get(rowIndex + 1).eDiv.insertAdjacentElement('beforebegin', eDiv);\n }\n else {\n this.eContainer.appendChild(eDiv);\n }\n this.renderedRows.set(rowIndex, { rowComponent: rowComponent, eDiv: eDiv });\n };\n VirtualList.prototype.removeRow = function (rowIndex) {\n var component = this.renderedRows.get(rowIndex);\n this.eContainer.removeChild(component.eDiv);\n this.destroyBean(component.rowComponent);\n this.renderedRows.delete(rowIndex);\n };\n VirtualList.prototype.addScrollListener = function () {\n var _this = this;\n this.addGuiEventListener('scroll', function () { return _this.drawVirtualRows(); });\n };\n VirtualList.prototype.setModel = function (model) {\n this.model = model;\n };\n VirtualList.prototype.destroy = function () {\n if (!this.isAlive()) {\n return;\n }\n this.clearVirtualRows();\n _super.prototype.destroy.call(this);\n };\n __decorate$N([\n Autowired('resizeObserverService')\n ], VirtualList.prototype, \"resizeObserverService\", void 0);\n __decorate$N([\n Autowired('focusService')\n ], VirtualList.prototype, \"focusService\", void 0);\n __decorate$N([\n RefSelector('eContainer')\n ], VirtualList.prototype, \"eContainer\", void 0);\n __decorate$N([\n PostConstruct\n ], VirtualList.prototype, \"postConstruct\", null);\n return VirtualList;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar OUTSIDE_ANGULAR_EVENTS = ['mouseover', 'mouseout', 'mouseenter', 'mouseleave'];\nvar PASSIVE_EVENTS = ['touchstart', 'touchend', 'touchmove', 'touchcancel'];\n/** The base frameworks, eg React & Angular, override this bean with implementations specific to their requirement. */\nvar VanillaFrameworkOverrides = /** @class */ (function () {\n function VanillaFrameworkOverrides() {\n this.isOutsideAngular = function (eventType) { return includes(OUTSIDE_ANGULAR_EVENTS, eventType); };\n }\n // for Vanilla JS, we use simple timeout\n VanillaFrameworkOverrides.prototype.setTimeout = function (action, timeout) {\n window.setTimeout(action, timeout);\n };\n VanillaFrameworkOverrides.prototype.setInterval = function (action, timeout) {\n return new AgPromise(function (resolve) {\n resolve(window.setInterval(action, timeout));\n });\n };\n // for Vanilla JS, we just add the event to the element\n VanillaFrameworkOverrides.prototype.addEventListener = function (element, type, listener, useCapture) {\n var isPassive = includes(PASSIVE_EVENTS, type);\n element.addEventListener(type, listener, { capture: !!useCapture, passive: isPassive });\n };\n // for Vanilla JS, we just execute the listener\n VanillaFrameworkOverrides.prototype.dispatchEvent = function (eventType, listener, global) {\n listener();\n };\n VanillaFrameworkOverrides.prototype.frameworkComponent = function (name) {\n return null;\n };\n VanillaFrameworkOverrides.prototype.isFrameworkComponent = function (comp) {\n return false;\n };\n return VanillaFrameworkOverrides;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$K = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$M = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$5 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$4 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$5(arguments[i]));\n return ar;\n};\nvar CellNavigationService = /** @class */ (function (_super) {\n __extends$K(CellNavigationService, _super);\n function CellNavigationService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // returns null if no cell to focus on, ie at the end of the grid\n CellNavigationService.prototype.getNextCellToFocus = function (key, focusedCell, ctrlPressed) {\n if (ctrlPressed === void 0) { ctrlPressed = false; }\n if (ctrlPressed) {\n return this.getNextCellToFocusWithCtrlPressed(key, focusedCell);\n }\n return this.getNextCellToFocusWithoutCtrlPressed(key, focusedCell);\n };\n CellNavigationService.prototype.getNextCellToFocusWithCtrlPressed = function (key, focusedCell) {\n var upKey = key === KeyCode.UP;\n var downKey = key === KeyCode.DOWN;\n var leftKey = key === KeyCode.LEFT;\n var column;\n var rowIndex;\n if (upKey || downKey) {\n rowIndex = upKey ? this.paginationProxy.getPageFirstRow() : this.paginationProxy.getPageLastRow();\n column = focusedCell.column;\n }\n else {\n var allColumns = this.columnModel.getAllDisplayedColumns();\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n rowIndex = focusedCell.rowIndex;\n column = leftKey !== isRtl ? allColumns[0] : last(allColumns);\n }\n return {\n rowIndex: rowIndex,\n rowPinned: null,\n column: column\n };\n };\n CellNavigationService.prototype.getNextCellToFocusWithoutCtrlPressed = function (key, focusedCell) {\n // starting with the provided cell, we keep moving until we find a cell we can\n // focus on.\n var pointer = focusedCell;\n var finished = false;\n // finished will be true when either:\n // a) cell found that we can focus on\n // b) run out of cells (ie the method returns null)\n while (!finished) {\n switch (key) {\n case KeyCode.UP:\n pointer = this.getCellAbove(pointer);\n break;\n case KeyCode.DOWN:\n pointer = this.getCellBelow(pointer);\n break;\n case KeyCode.RIGHT:\n if (this.gridOptionsWrapper.isEnableRtl()) {\n pointer = this.getCellToLeft(pointer);\n }\n else {\n pointer = this.getCellToRight(pointer);\n }\n break;\n case KeyCode.LEFT:\n if (this.gridOptionsWrapper.isEnableRtl()) {\n pointer = this.getCellToRight(pointer);\n }\n else {\n pointer = this.getCellToLeft(pointer);\n }\n break;\n default:\n pointer = null;\n console.warn('AG Grid: unknown key for navigation ' + key);\n break;\n }\n if (pointer) {\n finished = this.isCellGoodToFocusOn(pointer);\n }\n else {\n finished = true;\n }\n }\n return pointer;\n };\n CellNavigationService.prototype.isCellGoodToFocusOn = function (gridCell) {\n var column = gridCell.column;\n var rowNode;\n switch (gridCell.rowPinned) {\n case Constants.PINNED_TOP:\n rowNode = this.pinnedRowModel.getPinnedTopRow(gridCell.rowIndex);\n break;\n case Constants.PINNED_BOTTOM:\n rowNode = this.pinnedRowModel.getPinnedBottomRow(gridCell.rowIndex);\n break;\n default:\n rowNode = this.rowModel.getRow(gridCell.rowIndex);\n break;\n }\n if (!rowNode) {\n return false;\n }\n var suppressNavigable = column.isSuppressNavigable(rowNode);\n return !suppressNavigable;\n };\n CellNavigationService.prototype.getCellToLeft = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var colToLeft = this.columnModel.getDisplayedColBefore(lastCell.column);\n if (!colToLeft) {\n return null;\n }\n return {\n rowIndex: lastCell.rowIndex,\n column: colToLeft,\n rowPinned: lastCell.rowPinned\n };\n };\n CellNavigationService.prototype.getCellToRight = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var colToRight = this.columnModel.getDisplayedColAfter(lastCell.column);\n // if already on right, do nothing\n if (!colToRight) {\n return null;\n }\n return {\n rowIndex: lastCell.rowIndex,\n column: colToRight,\n rowPinned: lastCell.rowPinned\n };\n };\n CellNavigationService.prototype.getRowBelow = function (rowPosition) {\n // if already on top row, do nothing\n var index = rowPosition.rowIndex;\n var pinned = rowPosition.rowPinned;\n if (this.isLastRowInContainer(rowPosition)) {\n switch (pinned) {\n case Constants.PINNED_BOTTOM:\n // never any rows after pinned bottom\n return null;\n case Constants.PINNED_TOP:\n // if on last row of pinned top, then next row is main body (if rows exist),\n // otherwise it's the pinned bottom\n if (this.rowModel.isRowsToRender()) {\n return { rowIndex: this.paginationProxy.getPageFirstRow(), rowPinned: null };\n }\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_BOTTOM)) {\n return { rowIndex: 0, rowPinned: Constants.PINNED_BOTTOM };\n }\n return null;\n default:\n // if in the main body, then try pinned bottom, otherwise return nothing\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_BOTTOM)) {\n return { rowIndex: 0, rowPinned: Constants.PINNED_BOTTOM };\n }\n return null;\n }\n }\n var rowNode = this.rowModel.getRow(rowPosition.rowIndex);\n var nextStickyPosition = this.getNextStickyPosition(rowNode);\n if (nextStickyPosition) {\n return nextStickyPosition;\n }\n return { rowIndex: index + 1, rowPinned: pinned };\n };\n CellNavigationService.prototype.getNextStickyPosition = function (rowNode, up) {\n if (!this.gridOptionsWrapper.isGroupRowsSticky() || !rowNode || !rowNode.sticky) {\n return;\n }\n var stickyRowCtrls = __spread$4(this.rowRenderer.getStickyTopRowCtrls()).sort(function (a, b) { return a.getRowNode().rowIndex - b.getRowNode().rowIndex; });\n var diff = up ? -1 : 1;\n var idx = stickyRowCtrls.findIndex(function (ctrl) { return ctrl.getRowNode().rowIndex === rowNode.rowIndex; });\n var nextCtrl = stickyRowCtrls[idx + diff];\n if (nextCtrl) {\n return { rowIndex: nextCtrl.getRowNode().rowIndex, rowPinned: null };\n }\n };\n CellNavigationService.prototype.getCellBelow = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var rowBelow = this.getRowBelow(lastCell);\n if (rowBelow) {\n return {\n rowIndex: rowBelow.rowIndex,\n column: lastCell.column,\n rowPinned: rowBelow.rowPinned\n };\n }\n return null;\n };\n CellNavigationService.prototype.isLastRowInContainer = function (rowPosition) {\n var pinned = rowPosition.rowPinned;\n var index = rowPosition.rowIndex;\n if (pinned === Constants.PINNED_TOP) {\n var lastTopIndex = this.pinnedRowModel.getPinnedTopRowData().length - 1;\n return lastTopIndex <= index;\n }\n if (pinned === Constants.PINNED_BOTTOM) {\n var lastBottomIndex = this.pinnedRowModel.getPinnedBottomRowData().length - 1;\n return lastBottomIndex <= index;\n }\n var lastBodyIndex = this.paginationProxy.getPageLastRow();\n return lastBodyIndex <= index;\n };\n CellNavigationService.prototype.getRowAbove = function (rowPosition) {\n // if already on top row, do nothing\n var index = rowPosition.rowIndex;\n var pinned = rowPosition.rowPinned;\n var isFirstRow = pinned ? index === 0 : index === this.paginationProxy.getPageFirstRow();\n // if already on top row, do nothing\n if (isFirstRow) {\n if (pinned === Constants.PINNED_TOP) {\n return null;\n }\n if (!pinned) {\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_TOP)) {\n return this.getLastFloatingTopRow();\n }\n return null;\n }\n // last floating bottom\n if (this.rowModel.isRowsToRender()) {\n return this.getLastBodyCell();\n }\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_TOP)) {\n return this.getLastFloatingTopRow();\n }\n return null;\n }\n var rowNode = this.rowModel.getRow(rowPosition.rowIndex);\n var nextStickyPosition = this.getNextStickyPosition(rowNode, true);\n if (nextStickyPosition) {\n return nextStickyPosition;\n }\n return { rowIndex: index - 1, rowPinned: pinned };\n };\n CellNavigationService.prototype.getCellAbove = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var rowAbove = this.getRowAbove({ rowIndex: lastCell.rowIndex, rowPinned: lastCell.rowPinned });\n if (rowAbove) {\n return {\n rowIndex: rowAbove.rowIndex,\n column: lastCell.column,\n rowPinned: rowAbove.rowPinned\n };\n }\n return null;\n };\n CellNavigationService.prototype.getLastBodyCell = function () {\n var lastBodyRow = this.paginationProxy.getPageLastRow();\n return { rowIndex: lastBodyRow, rowPinned: null };\n };\n CellNavigationService.prototype.getLastFloatingTopRow = function () {\n var lastFloatingRow = this.pinnedRowModel.getPinnedTopRowData().length - 1;\n return { rowIndex: lastFloatingRow, rowPinned: Constants.PINNED_TOP };\n };\n CellNavigationService.prototype.getNextTabbedCell = function (gridCell, backwards) {\n if (backwards) {\n return this.getNextTabbedCellBackwards(gridCell);\n }\n return this.getNextTabbedCellForwards(gridCell);\n };\n CellNavigationService.prototype.getNextTabbedCellForwards = function (gridCell) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var newRowIndex = gridCell.rowIndex;\n var newFloating = gridCell.rowPinned;\n // move along to the next cell\n var newColumn = this.columnModel.getDisplayedColAfter(gridCell.column);\n // check if end of the row, and if so, go forward a row\n if (!newColumn) {\n newColumn = displayedColumns[0];\n var rowBelow = this.getRowBelow(gridCell);\n if (missing(rowBelow)) {\n return null;\n }\n // If we are tabbing and there is a paging panel present, tabbing should go\n // to the paging panel instead of loading the next page.\n if (!rowBelow.rowPinned && !this.paginationProxy.isRowInPage(rowBelow)) {\n return null;\n }\n newRowIndex = rowBelow ? rowBelow.rowIndex : null;\n newFloating = rowBelow ? rowBelow.rowPinned : null;\n }\n return { rowIndex: newRowIndex, column: newColumn, rowPinned: newFloating };\n };\n CellNavigationService.prototype.getNextTabbedCellBackwards = function (gridCell) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var newRowIndex = gridCell.rowIndex;\n var newFloating = gridCell.rowPinned;\n // move along to the next cell\n var newColumn = this.columnModel.getDisplayedColBefore(gridCell.column);\n // check if end of the row, and if so, go forward a row\n if (!newColumn) {\n newColumn = last(displayedColumns);\n var rowAbove = this.getRowAbove({ rowIndex: gridCell.rowIndex, rowPinned: gridCell.rowPinned });\n if (missing(rowAbove)) {\n return null;\n }\n // If we are tabbing and there is a paging panel present, tabbing should go\n // to the paging panel instead of loading the next page.\n if (!rowAbove.rowPinned && !this.paginationProxy.isRowInPage(rowAbove)) {\n return null;\n }\n newRowIndex = rowAbove ? rowAbove.rowIndex : null;\n newFloating = rowAbove ? rowAbove.rowPinned : null;\n }\n return { rowIndex: newRowIndex, column: newColumn, rowPinned: newFloating };\n };\n __decorate$M([\n Autowired('columnModel')\n ], CellNavigationService.prototype, \"columnModel\", void 0);\n __decorate$M([\n Autowired('rowModel')\n ], CellNavigationService.prototype, \"rowModel\", void 0);\n __decorate$M([\n Autowired('rowRenderer')\n ], CellNavigationService.prototype, \"rowRenderer\", void 0);\n __decorate$M([\n Autowired('pinnedRowModel')\n ], CellNavigationService.prototype, \"pinnedRowModel\", void 0);\n __decorate$M([\n Autowired('paginationProxy')\n ], CellNavigationService.prototype, \"paginationProxy\", void 0);\n CellNavigationService = __decorate$M([\n Bean('cellNavigationService')\n ], CellNavigationService);\n return CellNavigationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$J = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$L = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$5 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar AlignedGridsService = /** @class */ (function (_super) {\n __extends$J(AlignedGridsService, _super);\n function AlignedGridsService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // flag to mark if we are consuming. to avoid cyclic events (ie other grid firing back to master\n // while processing a master event) we mark this if consuming an event, and if we are, then\n // we don't fire back any events.\n _this.consuming = false;\n return _this;\n }\n AlignedGridsService.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('AlignedGridsService');\n };\n AlignedGridsService.prototype.init = function () {\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_MOVED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VISIBLE, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PINNED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_GROUP_OPENED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_RESIZED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL, this.fireScrollEvent.bind(this));\n };\n // common logic across all the fire methods\n AlignedGridsService.prototype.fireEvent = function (callback) {\n // if we are already consuming, then we are acting on an event from a master,\n // so we don't cause a cyclic firing of events\n if (this.consuming) {\n return;\n }\n // iterate through the aligned grids, and pass each aligned grid service to the callback\n var otherGrids = this.gridOptionsWrapper.getAlignedGrids();\n if (otherGrids) {\n otherGrids.forEach(function (otherGridOptions) {\n if (otherGridOptions.api) {\n var alignedGridService = otherGridOptions.api.__getAlignedGridService();\n callback(alignedGridService);\n }\n });\n }\n };\n // common logic across all consume methods. very little common logic, however extracting\n // guarantees consistency across the methods.\n AlignedGridsService.prototype.onEvent = function (callback) {\n this.consuming = true;\n callback();\n this.consuming = false;\n };\n AlignedGridsService.prototype.fireColumnEvent = function (event) {\n this.fireEvent(function (alignedGridsService) {\n alignedGridsService.onColumnEvent(event);\n });\n };\n AlignedGridsService.prototype.fireScrollEvent = function (event) {\n if (event.direction !== 'horizontal') {\n return;\n }\n this.fireEvent(function (alignedGridsService) {\n alignedGridsService.onScrollEvent(event);\n });\n };\n AlignedGridsService.prototype.onScrollEvent = function (event) {\n var _this = this;\n this.onEvent(function () {\n var gridBodyCon = _this.ctrlsService.getGridBodyCtrl();\n gridBodyCon.getScrollFeature().setHorizontalScrollPosition(event.left);\n });\n };\n AlignedGridsService.prototype.getMasterColumns = function (event) {\n var result = [];\n if (event.columns) {\n event.columns.forEach(function (column) {\n result.push(column);\n });\n }\n else if (event.column) {\n result.push(event.column);\n }\n return result;\n };\n AlignedGridsService.prototype.getColumnIds = function (event) {\n var result = [];\n if (event.columns) {\n event.columns.forEach(function (column) {\n result.push(column.getColId());\n });\n }\n else if (event.column) {\n result.push(event.column.getColId());\n }\n return result;\n };\n AlignedGridsService.prototype.onColumnEvent = function (event) {\n var _this = this;\n this.onEvent(function () {\n switch (event.type) {\n case Events.EVENT_COLUMN_MOVED:\n case Events.EVENT_COLUMN_VISIBLE:\n case Events.EVENT_COLUMN_PINNED:\n case Events.EVENT_COLUMN_RESIZED:\n var colEvent = event;\n _this.processColumnEvent(colEvent);\n break;\n case Events.EVENT_COLUMN_GROUP_OPENED:\n var groupOpenedEvent = event;\n _this.processGroupOpenedEvent(groupOpenedEvent);\n break;\n case Events.EVENT_COLUMN_PIVOT_CHANGED:\n // we cannot support pivoting with aligned grids as the columns will be out of sync as the\n // grids will have columns created based on the row data of the grid.\n console.warn('AG Grid: pivoting is not supported with aligned grids. ' +\n 'You can only use one of these features at a time in a grid.');\n break;\n }\n });\n };\n AlignedGridsService.prototype.processGroupOpenedEvent = function (groupOpenedEvent) {\n // likewise for column group\n var masterColumnGroup = groupOpenedEvent.columnGroup;\n var otherColumnGroup = null;\n if (masterColumnGroup) {\n var groupId = masterColumnGroup.getGroupId();\n otherColumnGroup = this.columnModel.getProvidedColumnGroup(groupId);\n }\n if (masterColumnGroup && !otherColumnGroup) {\n return;\n }\n this.logger.log('onColumnEvent-> processing ' + groupOpenedEvent + ' expanded = ' + masterColumnGroup.isExpanded());\n this.columnModel.setColumnGroupOpened(otherColumnGroup, masterColumnGroup.isExpanded(), \"alignedGridChanged\");\n };\n AlignedGridsService.prototype.processColumnEvent = function (colEvent) {\n var _this = this;\n var _a;\n // the column in the event is from the master grid. need to\n // look up the equivalent from this (other) grid\n var masterColumn = colEvent.column;\n var otherColumn = null;\n if (masterColumn) {\n otherColumn = this.columnModel.getPrimaryColumn(masterColumn.getColId());\n }\n // if event was with respect to a master column, that is not present in this\n // grid, then we ignore the event\n if (masterColumn && !otherColumn) {\n return;\n }\n // in time, all the methods below should use the column ids, it's a more generic way\n // of handling columns, and also allows for single or multi column events\n var masterColumns = this.getMasterColumns(colEvent);\n switch (colEvent.type) {\n case Events.EVENT_COLUMN_MOVED:\n // when the user moves columns via setColumnState, we can't depend on moving specific columns\n // to an index, as there maybe be many indexes columns moved to (as wasn't result of a mouse drag).\n // so only way to be sure is match the order of all columns using Column State.\n {\n var movedEvent = colEvent;\n var srcColState = colEvent.columnApi.getColumnState();\n var destColState = srcColState.map(function (s) { return ({ colId: s.colId }); });\n this.columnModel.applyColumnState({ state: destColState, applyOrder: true }, \"alignedGridChanged\");\n this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" toIndex = \" + movedEvent.toIndex);\n }\n break;\n case Events.EVENT_COLUMN_VISIBLE:\n // when the user changes visibility via setColumnState, we can't depend on visibility flag in event\n // as there maybe be mix of true/false (as wasn't result of a mouse click to set visiblity).\n // so only way to be sure is match the visibility of all columns using Column State.\n {\n var visibleEvent = colEvent;\n var srcColState = colEvent.columnApi.getColumnState();\n var destColState = srcColState.map(function (s) { return ({ colId: s.colId, hide: s.hide }); });\n this.columnModel.applyColumnState({ state: destColState }, \"alignedGridChanged\");\n this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" visible = \" + visibleEvent.visible);\n }\n break;\n case Events.EVENT_COLUMN_PINNED:\n {\n var pinnedEvent = colEvent;\n var srcColState = colEvent.columnApi.getColumnState();\n var destColState = srcColState.map(function (s) { return ({ colId: s.colId, pinned: s.pinned }); });\n this.columnModel.applyColumnState({ state: destColState }, \"alignedGridChanged\");\n this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" pinned = \" + pinnedEvent.pinned);\n }\n break;\n case Events.EVENT_COLUMN_RESIZED:\n var resizedEvent = colEvent;\n var columnWidths_1 = {};\n masterColumns.forEach(function (column) {\n _this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" actualWidth = \" + column.getActualWidth());\n columnWidths_1[column.getId()] = { key: column.getColId(), newWidth: column.getActualWidth() };\n });\n // don't set flex columns width\n (_a = resizedEvent.flexColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {\n if (columnWidths_1[col.getId()]) {\n delete columnWidths_1[col.getId()];\n }\n });\n this.columnModel.setColumnWidths(Object.values(columnWidths_1), false, resizedEvent.finished, \"alignedGridChanged\");\n break;\n }\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var isVerticalScrollShowing = gridBodyCon.isVerticalScrollShowing();\n var alignedGrids = this.gridOptionsWrapper.getAlignedGrids();\n if (alignedGrids) {\n alignedGrids.forEach(function (grid) {\n if (grid.api) {\n grid.api.setAlwaysShowVerticalScroll(isVerticalScrollShowing);\n }\n });\n }\n };\n __decorate$L([\n Autowired('columnModel')\n ], AlignedGridsService.prototype, \"columnModel\", void 0);\n __decorate$L([\n Autowired('ctrlsService')\n ], AlignedGridsService.prototype, \"ctrlsService\", void 0);\n __decorate$L([\n __param$5(0, Qualifier('loggerFactory'))\n ], AlignedGridsService.prototype, \"setBeans\", null);\n __decorate$L([\n PostConstruct\n ], AlignedGridsService.prototype, \"init\", null);\n AlignedGridsService = __decorate$L([\n Bean('alignedGridsService')\n ], AlignedGridsService);\n return AlignedGridsService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$I = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$K = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$4 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar SelectionService = /** @class */ (function (_super) {\n __extends$I(SelectionService, _super);\n function SelectionService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionService.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('selectionService');\n this.reset();\n };\n SelectionService.prototype.init = function () {\n this.groupSelectsChildren = this.gridOptionsWrapper.isGroupSelectsChildren();\n this.addManagedListener(this.eventService, Events.EVENT_ROW_SELECTED, this.onRowSelected.bind(this));\n };\n SelectionService.prototype.setLastSelectedNode = function (rowNode) {\n this.lastSelectedNode = rowNode;\n };\n SelectionService.prototype.getLastSelectedNode = function () {\n return this.lastSelectedNode;\n };\n SelectionService.prototype.getSelectedNodes = function () {\n var selectedNodes = [];\n iterateObject(this.selectedNodes, function (key, rowNode) {\n if (rowNode) {\n selectedNodes.push(rowNode);\n }\n });\n return selectedNodes;\n };\n SelectionService.prototype.getSelectedRows = function () {\n var selectedRows = [];\n iterateObject(this.selectedNodes, function (key, rowNode) {\n if (rowNode && rowNode.data) {\n selectedRows.push(rowNode.data);\n }\n });\n return selectedRows;\n };\n SelectionService.prototype.removeGroupsFromSelection = function () {\n var _this = this;\n iterateObject(this.selectedNodes, function (key, rowNode) {\n if (rowNode && rowNode.group) {\n _this.selectedNodes[rowNode.id] = undefined;\n }\n });\n };\n // should only be called if groupSelectsChildren=true\n SelectionService.prototype.updateGroupsFromChildrenSelections = function (changedPath) {\n // we only do this when group selection state depends on selected children\n if (!this.gridOptionsWrapper.isGroupSelectsChildren()) {\n return;\n }\n // also only do it if CSRM (code should never allow this anyway)\n if (this.rowModel.getType() !== Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n return;\n }\n var clientSideRowModel = this.rowModel;\n var rootNode = clientSideRowModel.getRootNode();\n if (!changedPath) {\n changedPath = new ChangedPath(true, rootNode);\n changedPath.setInactive();\n }\n changedPath.forEachChangedNodeDepthFirst(function (rowNode) {\n if (rowNode !== rootNode) {\n var selected = rowNode.calculateSelectedFromChildren();\n rowNode.selectThisNode(selected === null ? false : selected);\n }\n });\n // clientSideRowModel.getTopLevelNodes()!.forEach((rowNode: RowNode) => {\n // rowNode.depthFirstSearch((node) => {\n // if (node.group) {\n // }\n // });\n // });\n };\n SelectionService.prototype.getNodeForIdIfSelected = function (id) {\n return this.selectedNodes[id];\n };\n SelectionService.prototype.clearOtherNodes = function (rowNodeToKeepSelected) {\n var _this = this;\n var groupsToRefresh = {};\n var updatedCount = 0;\n iterateObject(this.selectedNodes, function (key, otherRowNode) {\n if (otherRowNode && otherRowNode.id !== rowNodeToKeepSelected.id) {\n var rowNode = _this.selectedNodes[otherRowNode.id];\n updatedCount += rowNode.setSelectedParams({\n newValue: false,\n clearSelection: false,\n suppressFinishActions: true\n });\n if (_this.groupSelectsChildren && otherRowNode.parent) {\n groupsToRefresh[otherRowNode.parent.id] = otherRowNode.parent;\n }\n }\n });\n iterateObject(groupsToRefresh, function (key, group) {\n var selected = group.calculateSelectedFromChildren();\n group.selectThisNode(selected === null ? false : selected);\n });\n return updatedCount;\n };\n SelectionService.prototype.onRowSelected = function (event) {\n var rowNode = event.node;\n // we do not store the group rows when the groups select children\n if (this.groupSelectsChildren && rowNode.group) {\n return;\n }\n if (rowNode.isSelected()) {\n this.selectedNodes[rowNode.id] = rowNode;\n }\n else {\n this.selectedNodes[rowNode.id] = undefined;\n }\n };\n SelectionService.prototype.syncInRowNode = function (rowNode, oldNode) {\n this.syncInOldRowNode(rowNode, oldNode);\n this.syncInNewRowNode(rowNode);\n };\n // if the id has changed for the node, then this means the rowNode\n // is getting used for a different data item, which breaks\n // our selectedNodes, as the node now is mapped by the old id\n // which is inconsistent. so to keep the old node as selected,\n // we swap in the clone (with the old id and old data). this means\n // the oldNode is effectively a daemon we keep a reference to,\n // so if client calls api.getSelectedNodes(), it gets the daemon\n // in the result. when the client un-selects, the reference to the\n // daemon is removed. the daemon, because it's an oldNode, is not\n // used by the grid for rendering, it's a copy of what the node used\n // to be like before the id was changed.\n SelectionService.prototype.syncInOldRowNode = function (rowNode, oldNode) {\n var oldNodeHasDifferentId = exists(oldNode) && (rowNode.id !== oldNode.id);\n if (oldNodeHasDifferentId && oldNode) {\n var id = oldNode.id;\n var oldNodeSelected = this.selectedNodes[id] == rowNode;\n if (oldNodeSelected) {\n this.selectedNodes[oldNode.id] = oldNode;\n }\n }\n };\n SelectionService.prototype.syncInNewRowNode = function (rowNode) {\n if (exists(this.selectedNodes[rowNode.id])) {\n rowNode.setSelectedInitialValue(true);\n this.selectedNodes[rowNode.id] = rowNode;\n }\n else {\n rowNode.setSelectedInitialValue(false);\n }\n };\n SelectionService.prototype.reset = function () {\n this.logger.log('reset');\n this.selectedNodes = {};\n this.lastSelectedNode = null;\n };\n // returns a list of all nodes at 'best cost' - a feature to be used\n // with groups / trees. if a group has all it's children selected,\n // then the group appears in the result, but not the children.\n // Designed for use with 'children' as the group selection type,\n // where groups don't actually appear in the selection normally.\n SelectionService.prototype.getBestCostNodeSelection = function () {\n if (this.rowModel.getType() !== Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n console.warn('AG Grid: `getBestCostNodeSelection` is only available when using normal row model');\n return;\n }\n var clientSideRowModel = this.rowModel;\n var topLevelNodes = clientSideRowModel.getTopLevelNodes();\n if (topLevelNodes === null) {\n console.warn('AG Grid: `selectAll` not available doing `rowModel=virtual`');\n return;\n }\n var result = [];\n // recursive function, to find the selected nodes\n function traverse(nodes) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n var node = nodes[i];\n if (node.isSelected()) {\n result.push(node);\n }\n else {\n // if not selected, then if it's a group, and the group\n // has children, continue to search for selections\n var maybeGroup = node;\n if (maybeGroup.group && maybeGroup.children) {\n traverse(maybeGroup.children);\n }\n }\n }\n }\n traverse(topLevelNodes);\n return result;\n };\n SelectionService.prototype.setRowModel = function (rowModel) {\n this.rowModel = rowModel;\n };\n SelectionService.prototype.isEmpty = function () {\n var count = 0;\n iterateObject(this.selectedNodes, function (nodeId, rowNode) {\n if (rowNode) {\n count++;\n }\n });\n return count === 0;\n };\n SelectionService.prototype.deselectAllRowNodes = function (justFiltered) {\n if (justFiltered === void 0) { justFiltered = false; }\n var callback = function (rowNode) { return rowNode.selectThisNode(false); };\n var rowModelClientSide = this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n if (justFiltered) {\n if (!rowModelClientSide) {\n console.error('AG Grid: selecting just filtered only works with In Memory Row Model');\n return;\n }\n var clientSideRowModel = this.rowModel;\n clientSideRowModel.forEachNodeAfterFilter(callback);\n }\n else {\n iterateObject(this.selectedNodes, function (id, rowNode) {\n // remember the reference can be to null, as we never 'delete' from the map\n if (rowNode) {\n callback(rowNode);\n }\n });\n // this clears down the map (whereas above only sets the items in map to 'undefined')\n this.reset();\n }\n // the above does not clean up the parent rows if they are selected\n if (rowModelClientSide && this.groupSelectsChildren) {\n this.updateGroupsFromChildrenSelections();\n }\n var event = {\n type: Events.EVENT_SELECTION_CHANGED,\n };\n this.eventService.dispatchEvent(event);\n };\n SelectionService.prototype.selectAllRowNodes = function (justFiltered) {\n if (justFiltered === void 0) { justFiltered = false; }\n if (this.rowModel.getType() !== Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n throw new Error(\"selectAll only available with normal row model, ie not \" + this.rowModel.getType());\n }\n var clientSideRowModel = this.rowModel;\n var callback = function (rowNode) { return rowNode.selectThisNode(true); };\n if (justFiltered) {\n clientSideRowModel.forEachNodeAfterFilter(callback);\n }\n else {\n clientSideRowModel.forEachNode(callback);\n }\n // the above does not clean up the parent rows if they are selected\n if (this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE && this.groupSelectsChildren) {\n this.updateGroupsFromChildrenSelections();\n }\n var event = {\n type: Events.EVENT_SELECTION_CHANGED,\n };\n this.eventService.dispatchEvent(event);\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.selectNode = function (rowNode, tryMulti) {\n if (rowNode) {\n rowNode.setSelectedParams({ newValue: true, clearSelection: !tryMulti });\n }\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.deselectIndex = function (rowIndex) {\n var node = this.rowModel.getRow(rowIndex);\n this.deselectNode(node);\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.deselectNode = function (rowNode) {\n if (rowNode) {\n rowNode.setSelectedParams({ newValue: false, clearSelection: false });\n }\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.selectIndex = function (index, tryMulti) {\n var node = this.rowModel.getRow(index);\n this.selectNode(node, tryMulti);\n };\n __decorate$K([\n Autowired('rowModel')\n ], SelectionService.prototype, \"rowModel\", void 0);\n __decorate$K([\n __param$4(0, Qualifier('loggerFactory'))\n ], SelectionService.prototype, \"setBeans\", null);\n __decorate$K([\n PostConstruct\n ], SelectionService.prototype, \"init\", null);\n SelectionService = __decorate$K([\n Bean('selectionService')\n ], SelectionService);\n return SelectionService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$J = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnApi = /** @class */ (function () {\n function ColumnApi() {\n }\n /** Gets the grid to size the columns to the specified width in pixels, e.g. `sizeColumnsToFit(900)`. To have the grid fit the columns to the grid's width, use the Grid API `gridApi.sizeColumnsToFit()` instead. */\n ColumnApi.prototype.sizeColumnsToFit = function (gridWidth) {\n // AG-3403 validate that gridWidth is provided because this method has the same name as\n // a method on the grid API that takes no arguments, and it's easy to confuse the two\n if (typeof gridWidth === \"undefined\") {\n console.error('AG Grid: missing parameter to columnApi.sizeColumnsToFit(gridWidth)');\n }\n this.columnModel.sizeColumnsToFit(gridWidth, 'api');\n };\n /** Call this if you want to open or close a column group. */\n ColumnApi.prototype.setColumnGroupOpened = function (group, newValue) { this.columnModel.setColumnGroupOpened(group, newValue, 'api'); };\n /** Returns the column group with the given name. */\n ColumnApi.prototype.getColumnGroup = function (name, instanceId) { return this.columnModel.getColumnGroup(name, instanceId); };\n /** Returns the provided column group with the given name. */\n ColumnApi.prototype.getProvidedColumnGroup = function (name) { return this.columnModel.getProvidedColumnGroup(name); };\n /** Returns the display name for a column. Useful if you are doing your own header rendering and want the grid to work out if `headerValueGetter` is used, or if you are doing your own column management GUI, to know what to show as the column name. */\n ColumnApi.prototype.getDisplayNameForColumn = function (column, location) { return this.columnModel.getDisplayNameForColumn(column, location) || ''; };\n /** Returns the display name for a column group (when grouping columns). */\n ColumnApi.prototype.getDisplayNameForColumnGroup = function (columnGroup, location) { return this.columnModel.getDisplayNameForColumnGroup(columnGroup, location) || ''; };\n /** Returns the column with the given `colKey`, which can either be the `colId` (a string) or the `colDef` (an object). */\n ColumnApi.prototype.getColumn = function (key) { return this.columnModel.getPrimaryColumn(key); };\n /** Returns all the columns, regardless of visible or not. */\n ColumnApi.prototype.getColumns = function () { return this.columnModel.getAllPrimaryColumns(); };\n /** Applies the state of the columns from a previous state. Returns `false` if one or more columns could not be found. */\n ColumnApi.prototype.applyColumnState = function (params) { return this.columnModel.applyColumnState(params, 'api'); };\n /** Gets the state of the columns. Typically used when saving column state. */\n ColumnApi.prototype.getColumnState = function () { return this.columnModel.getColumnState(); };\n /** Sets the state back to match the originally provided column definitions. */\n ColumnApi.prototype.resetColumnState = function () { this.columnModel.resetColumnState('api'); };\n /** Gets the state of the column groups. Typically used when saving column group state. */\n ColumnApi.prototype.getColumnGroupState = function () { return this.columnModel.getColumnGroupState(); };\n /** Sets the state of the column group state from a previous state. */\n ColumnApi.prototype.setColumnGroupState = function (stateItems) { this.columnModel.setColumnGroupState(stateItems, 'api'); };\n /** Sets the state back to match the originally provided column definitions. */\n ColumnApi.prototype.resetColumnGroupState = function () { this.columnModel.resetColumnGroupState('api'); };\n /** Returns `true` if pinning left or right, otherwise `false`. */\n ColumnApi.prototype.isPinning = function () { return this.columnModel.isPinningLeft() || this.columnModel.isPinningRight(); };\n /** Returns `true` if pinning left, otherwise `false`. */\n ColumnApi.prototype.isPinningLeft = function () { return this.columnModel.isPinningLeft(); };\n /** Returns `true` if pinning right, otherwise `false`. */\n ColumnApi.prototype.isPinningRight = function () { return this.columnModel.isPinningRight(); };\n /** Returns the column to the right of the provided column, taking into consideration open / closed column groups and visible columns. This is useful if you need to know what column is beside yours e.g. if implementing your own cell navigation. */\n ColumnApi.prototype.getDisplayedColAfter = function (col) { return this.columnModel.getDisplayedColAfter(col); };\n /** Same as `getVisibleColAfter` except gives column to the left. */\n ColumnApi.prototype.getDisplayedColBefore = function (col) { return this.columnModel.getDisplayedColBefore(col); };\n /** Sets the visibility of a column. Key can be the column ID or `Column` object. */\n ColumnApi.prototype.setColumnVisible = function (key, visible) { this.columnModel.setColumnVisible(key, visible, 'api'); };\n /** Same as `setColumnVisible`, but provide a list of column keys. */\n ColumnApi.prototype.setColumnsVisible = function (keys, visible) { this.columnModel.setColumnsVisible(keys, visible, 'api'); };\n /** Sets the column pinned / unpinned. Key can be the column ID, field, `ColDef` object or `Column` object. */\n ColumnApi.prototype.setColumnPinned = function (key, pinned) { this.columnModel.setColumnPinned(key, pinned, 'api'); };\n /** Same as `setColumnPinned`, but provide a list of column keys. */\n ColumnApi.prototype.setColumnsPinned = function (keys, pinned) { this.columnModel.setColumnsPinned(keys, pinned, 'api'); };\n /**\n * Returns all the grid columns, same as `getColumns()`, except\n *\n * a) it has the order of the columns that are presented in the grid\n *\n * b) it's after the 'pivot' step, so if pivoting, has the value columns for the pivot.\n */\n ColumnApi.prototype.getAllGridColumns = function () { return this.columnModel.getAllGridColumns(); };\n /** Same as `getAllDisplayedColumns` but just for the pinned left portion of the grid. */\n ColumnApi.prototype.getDisplayedLeftColumns = function () { return this.columnModel.getDisplayedLeftColumns(); };\n /** Same as `getAllDisplayedColumns` but just for the center portion of the grid. */\n ColumnApi.prototype.getDisplayedCenterColumns = function () { return this.columnModel.getDisplayedCenterColumns(); };\n /** Same as `getAllDisplayedColumns` but just for the pinned right portion of the grid. */\n ColumnApi.prototype.getDisplayedRightColumns = function () { return this.columnModel.getDisplayedRightColumns(); };\n /** Returns all columns currently displayed (e.g. are visible and if in a group, the group is showing the columns) for the pinned left, centre and pinned right portions of the grid. */\n ColumnApi.prototype.getAllDisplayedColumns = function () { return this.columnModel.getAllDisplayedColumns(); };\n /** Same as `getAllGridColumns()`, except only returns rendered columns, i.e. columns that are not within the viewport and therefore not rendered, due to column virtualisation, are not displayed. */\n ColumnApi.prototype.getAllDisplayedVirtualColumns = function () { return this.columnModel.getViewportColumns(); };\n /** Moves a column to `toIndex`. The column is first removed, then added at the `toIndex` location, thus index locations will change to the right of the column after the removal. */\n ColumnApi.prototype.moveColumn = function (key, toIndex) {\n if (typeof key === 'number') {\n // moveColumn used to take indexes, so this is advising user who hasn't moved to new method name\n console.warn('AG Grid: you are using moveColumn(fromIndex, toIndex) - moveColumn takes a column key and a destination index, not two indexes, to move with indexes use moveColumnByIndex(from,to) instead');\n this.columnModel.moveColumnByIndex(key, toIndex, 'api');\n }\n else {\n this.columnModel.moveColumn(key, toIndex, 'api');\n }\n };\n /** Same as `moveColumn` but works on index locations. */\n ColumnApi.prototype.moveColumnByIndex = function (fromIndex, toIndex) { this.columnModel.moveColumnByIndex(fromIndex, toIndex, 'api'); };\n /** Same as `moveColumn` but works on list. */\n ColumnApi.prototype.moveColumns = function (columnsToMoveKeys, toIndex) { this.columnModel.moveColumns(columnsToMoveKeys, toIndex, 'api'); };\n /** Move the column to a new position in the row grouping order. */\n ColumnApi.prototype.moveRowGroupColumn = function (fromIndex, toIndex) { this.columnModel.moveRowGroupColumn(fromIndex, toIndex); };\n /** Sets the agg function for a column. `aggFunc` can be one of the built-in aggregations or a custom aggregation by name or direct function. */\n ColumnApi.prototype.setColumnAggFunc = function (key, aggFunc) { this.columnModel.setColumnAggFunc(key, aggFunc); };\n /** Sets the column width on a single column. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`. */\n ColumnApi.prototype.setColumnWidth = function (key, newWidth, finished, source) {\n if (finished === void 0) { finished = true; }\n this.columnModel.setColumnWidths([{ key: key, newWidth: newWidth }], false, finished, source);\n };\n /** Sets the column widths on multiple columns. This method offers better performance than calling `setColumnWidth` multiple times. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`. */\n ColumnApi.prototype.setColumnWidths = function (columnWidths, finished, source) {\n if (finished === void 0) { finished = true; }\n this.columnModel.setColumnWidths(columnWidths, false, finished, source);\n };\n /** Set the pivot mode. */\n ColumnApi.prototype.setPivotMode = function (pivotMode) { this.columnModel.setPivotMode(pivotMode); };\n /** Get the pivot mode. */\n ColumnApi.prototype.isPivotMode = function () { return this.columnModel.isPivotMode(); };\n /** @deprecated Use `getPivotResultColumn` instead */\n ColumnApi.prototype.getSecondaryPivotColumn = function (pivotKeys, valueColKey) {\n console.warn('AG Grid: since version 28.0.x getSecondaryPivotColumn has been renamed, please use getPivotResultColumn instead');\n return this.getPivotResultColumn(pivotKeys, valueColKey);\n };\n /** Returns the pivot result column for the given `pivotKeys` and `valueColId`. Useful to then call operations on the pivot column. */\n ColumnApi.prototype.getPivotResultColumn = function (pivotKeys, valueColKey) { return this.columnModel.getSecondaryPivotColumn(pivotKeys, valueColKey); };\n /** Set the value columns to the provided list of columns. */\n ColumnApi.prototype.setValueColumns = function (colKeys) { this.columnModel.setValueColumns(colKeys, 'api'); };\n /** Get a list of the existing value columns. */\n ColumnApi.prototype.getValueColumns = function () { return this.columnModel.getValueColumns(); };\n /** Remove the given column from the existing set of value columns. */\n ColumnApi.prototype.removeValueColumn = function (colKey) { this.columnModel.removeValueColumn(colKey, 'api'); };\n /** Like `removeValueColumn` but remove the given list of columns from the existing set of value columns. */\n ColumnApi.prototype.removeValueColumns = function (colKeys) { this.columnModel.removeValueColumns(colKeys, 'api'); };\n /** Add the given column to the set of existing value columns. */\n ColumnApi.prototype.addValueColumn = function (colKey) { this.columnModel.addValueColumn(colKey, 'api'); };\n /** Like `addValueColumn` but add the given list of columns to the existing set of value columns. */\n ColumnApi.prototype.addValueColumns = function (colKeys) { this.columnModel.addValueColumns(colKeys, 'api'); };\n /** Set the row group columns. */\n ColumnApi.prototype.setRowGroupColumns = function (colKeys) { this.columnModel.setRowGroupColumns(colKeys, 'api'); };\n /** Remove a column from the row groups. */\n ColumnApi.prototype.removeRowGroupColumn = function (colKey) { this.columnModel.removeRowGroupColumn(colKey, 'api'); };\n /** Same as `removeRowGroupColumn` but provide a list of columns. */\n ColumnApi.prototype.removeRowGroupColumns = function (colKeys) { this.columnModel.removeRowGroupColumns(colKeys, 'api'); };\n /** Add a column to the row groups. */\n ColumnApi.prototype.addRowGroupColumn = function (colKey) { this.columnModel.addRowGroupColumn(colKey, 'api'); };\n /** Same as `addRowGroupColumn` but provide a list of columns. */\n ColumnApi.prototype.addRowGroupColumns = function (colKeys) { this.columnModel.addRowGroupColumns(colKeys, 'api'); };\n /** Get row group columns. */\n ColumnApi.prototype.getRowGroupColumns = function () { return this.columnModel.getRowGroupColumns(); };\n /** Set the pivot columns. */\n ColumnApi.prototype.setPivotColumns = function (colKeys) { this.columnModel.setPivotColumns(colKeys, 'api'); };\n /** Remove a pivot column. */\n ColumnApi.prototype.removePivotColumn = function (colKey) { this.columnModel.removePivotColumn(colKey, 'api'); };\n /** Same as `removePivotColumn` but provide a list of columns. */\n ColumnApi.prototype.removePivotColumns = function (colKeys) { this.columnModel.removePivotColumns(colKeys, 'api'); };\n /** Add a pivot column. */\n ColumnApi.prototype.addPivotColumn = function (colKey) { this.columnModel.addPivotColumn(colKey, 'api'); };\n /** Same as `addPivotColumn` but provide a list of columns. */\n ColumnApi.prototype.addPivotColumns = function (colKeys) { this.columnModel.addPivotColumns(colKeys, 'api'); };\n /** Get the pivot columns. */\n ColumnApi.prototype.getPivotColumns = function () { return this.columnModel.getPivotColumns(); };\n /** Same as `getAllDisplayedColumnGroups` but just for the pinned left portion of the grid. */\n ColumnApi.prototype.getLeftDisplayedColumnGroups = function () { return this.columnModel.getDisplayedTreeLeft(); };\n /** Same as `getAllDisplayedColumnGroups` but just for the center portion of the grid. */\n ColumnApi.prototype.getCenterDisplayedColumnGroups = function () { return this.columnModel.getDisplayedTreeCentre(); };\n /** Same as `getAllDisplayedColumnGroups` but just for the pinned right portion of the grid. */\n ColumnApi.prototype.getRightDisplayedColumnGroups = function () { return this.columnModel.getDisplayedTreeRight(); };\n /** Returns all 'root' column headers. If you are not grouping columns, these return the columns. If you are grouping, these return the top level groups - you can navigate down through each one to get the other lower level headers and finally the columns at the bottom. */\n ColumnApi.prototype.getAllDisplayedColumnGroups = function () { return this.columnModel.getAllDisplayedTrees(); };\n /** Auto-sizes a column based on its contents. */\n ColumnApi.prototype.autoSizeColumn = function (key, skipHeader) { return this.columnModel.autoSizeColumn(key, skipHeader, 'api'); };\n /** Same as `autoSizeColumn`, but provide a list of column keys. */\n ColumnApi.prototype.autoSizeColumns = function (keys, skipHeader) {\n this.columnModel.autoSizeColumns({ columns: keys, skipHeader: skipHeader });\n };\n /** Calls `autoSizeColumns` on all displayed columns. */\n ColumnApi.prototype.autoSizeAllColumns = function (skipHeader) { this.columnModel.autoSizeAllColumns(skipHeader, 'api'); };\n /** @deprecated Use `setPivotResultColumns` instead. */\n ColumnApi.prototype.setSecondaryColumns = function (colDefs) {\n console.warn('AG Grid: since version 28.0.x setSecondaryColumns has been renamed, please use setPivotResultColumns instead');\n this.setPivotResultColumns(colDefs);\n };\n /** Set the pivot result columns. */\n ColumnApi.prototype.setPivotResultColumns = function (colDefs) { this.columnModel.setSecondaryColumns(colDefs, 'api'); };\n /** @deprecated Use `getPivotResultColumns` instead. */\n ColumnApi.prototype.getSecondaryColumns = function () {\n console.warn('AG Grid: since version 28.0.x getSecondaryColumns has been renamed, please use getPivotResultColumns instead');\n return this.getPivotResultColumns();\n };\n /** Returns the grid's pivot result columns. */\n ColumnApi.prototype.getPivotResultColumns = function () { return this.columnModel.getSecondaryColumns(); };\n /** @deprecated Use `getColumns` instead. */\n ColumnApi.prototype.getPrimaryColumns = function () {\n console.warn('AG Grid: since version 28.0.x getPrimaryColumns has been renamed, please use getColumns instead');\n return this.getColumns();\n };\n ColumnApi.prototype.cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid = function () {\n // some users were raising support issues with regards memory leaks. the problem was the customers applications\n // were keeping references to the API. trying to educate them all would be difficult, easier to just remove\n // all references in the API so at least the core grid can be garbage collected.\n //\n // wait about 100ms before clearing down the references, in case user has some cleanup to do,\n // and needs to deference the API first\n setTimeout(_.removeAllReferences.bind(window, this, 'Column API'), 100);\n };\n // below goes through deprecated items, prints message to user, then calls the new version of the same method\n // public getColumnDefs(): (ColDef | ColGroupDef)[] {\n // this.setColumnGroupOpened(group, newValue);\n // return null;\n // }\n /** @deprecated Use `getColumns` instead */\n ColumnApi.prototype.getAllColumns = function () {\n console.warn('AG Grid: since version 28.0.x getAllColumns has been renamed, please use getColumns instead');\n return this.getColumns();\n };\n /** @deprecated columnGroupOpened no longer exists, use setColumnGroupOpened */\n ColumnApi.prototype.columnGroupOpened = function (group, newValue) {\n console.error('AG Grid: columnGroupOpened no longer exists, use setColumnGroupOpened');\n this.setColumnGroupOpened(group, newValue);\n };\n /** @deprecated hideColumns is deprecated, use setColumnsVisible */\n ColumnApi.prototype.hideColumns = function (colIds, hide) {\n console.error('AG Grid: hideColumns is deprecated, use setColumnsVisible');\n this.columnModel.setColumnsVisible(colIds, !hide, 'api');\n };\n /** @deprecated hideColumn is deprecated, use setColumnVisible */\n ColumnApi.prototype.hideColumn = function (colId, hide) {\n console.error('AG Grid: hideColumn is deprecated, use setColumnVisible');\n this.columnModel.setColumnVisible(colId, !hide, 'api');\n };\n /** @deprecated setState is deprecated, use setColumnState */\n ColumnApi.prototype.setState = function (columnState) {\n console.error('AG Grid: setState is deprecated, use setColumnState');\n return this.setColumnState(columnState);\n };\n /** @deprecated getState is deprecated, use getColumnState */\n ColumnApi.prototype.getState = function () {\n console.error('AG Grid: getState is deprecated, use getColumnState');\n return this.getColumnState();\n };\n /** @deprecated resetState is deprecated, use resetColumnState */\n ColumnApi.prototype.resetState = function () {\n console.error('AG Grid: resetState is deprecated, use resetColumnState');\n this.resetColumnState();\n };\n /** @deprecated getAggregationColumns is deprecated, use getValueColumns */\n ColumnApi.prototype.getAggregationColumns = function () {\n console.error('AG Grid: getAggregationColumns is deprecated, use getValueColumns');\n return this.columnModel.getValueColumns();\n };\n /** @deprecated removeAggregationColumn is deprecated, use removeValueColumn */\n ColumnApi.prototype.removeAggregationColumn = function (colKey) {\n console.error('AG Grid: removeAggregationColumn is deprecated, use removeValueColumn');\n this.columnModel.removeValueColumn(colKey, 'api');\n };\n /** @deprecated removeAggregationColumns is deprecated, use removeValueColumns */\n ColumnApi.prototype.removeAggregationColumns = function (colKeys) {\n console.error('AG Grid: removeAggregationColumns is deprecated, use removeValueColumns');\n this.columnModel.removeValueColumns(colKeys, 'api');\n };\n /** @deprecated addAggregationColumn is deprecated, use addValueColumn */\n ColumnApi.prototype.addAggregationColumn = function (colKey) {\n console.error('AG Grid: addAggregationColumn is deprecated, use addValueColumn');\n this.columnModel.addValueColumn(colKey, 'api');\n };\n /** @deprecated addAggregationColumns is deprecated, use addValueColumns */\n ColumnApi.prototype.addAggregationColumns = function (colKeys) {\n console.error('AG Grid: addAggregationColumns is deprecated, use addValueColumns');\n this.columnModel.addValueColumns(colKeys, 'api');\n };\n /** @deprecated setColumnAggFunction is deprecated, use setColumnAggFunc */\n ColumnApi.prototype.setColumnAggFunction = function (column, aggFunc) {\n console.error('AG Grid: setColumnAggFunction is deprecated, use setColumnAggFunc');\n this.columnModel.setColumnAggFunc(column, aggFunc, 'api');\n };\n /** @deprecated getDisplayNameForCol is deprecated, use getDisplayNameForColumn */\n ColumnApi.prototype.getDisplayNameForCol = function (column) {\n console.error('AG Grid: getDisplayNameForCol is deprecated, use getDisplayNameForColumn');\n return this.getDisplayNameForColumn(column, null);\n };\n /** @deprecated setColumnState is deprecated, use applyColumnState. */\n ColumnApi.prototype.setColumnState = function (columnState) {\n console.error('AG Grid: setColumnState is deprecated, use applyColumnState');\n return this.columnModel.applyColumnState({ state: columnState, applyOrder: true }, 'api');\n };\n /** @deprecated getOriginalColumnGroup is deprecated, use getProvidedColumnGroup. */\n ColumnApi.prototype.getOriginalColumnGroup = function (name) {\n console.error('AG Grid: getOriginalColumnGroup is deprecated, use getProvidedColumnGroup');\n return this.columnModel.getProvidedColumnGroup(name);\n };\n __decorate$J([\n Autowired('columnModel')\n ], ColumnApi.prototype, \"columnModel\", void 0);\n __decorate$J([\n PreDestroy\n ], ColumnApi.prototype, \"cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid\", null);\n ColumnApi = __decorate$J([\n Bean('columnApi')\n ], ColumnApi);\n return ColumnApi;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$H = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ValueService = /** @class */ (function (_super) {\n __extends$H(ValueService, _super);\n function ValueService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.initialised = false;\n return _this;\n }\n ValueService.prototype.init = function () {\n var _this = this;\n this.cellExpressions = this.gridOptionsWrapper.isEnableCellExpressions();\n this.initialised = true;\n // We listen to our own event and use it to call the columnSpecific callback,\n // this way the handler calls are correctly interleaved with other global events\n this.eventService.addEventListener(Events.EVENT_CELL_VALUE_CHANGED, function (event) { return _this.callColumnCellValueChangedHandler(event); }, this.gridOptionsWrapper.useAsyncEvents());\n };\n ValueService.prototype.getValue = function (column, rowNode, forFilter, ignoreAggData) {\n if (forFilter === void 0) { forFilter = false; }\n if (ignoreAggData === void 0) { ignoreAggData = false; }\n // hack - the grid is getting refreshed before this bean gets initialised, race condition.\n // really should have a way so they get initialised in the right order???\n if (!this.initialised) {\n this.init();\n }\n if (!rowNode) {\n return;\n }\n // pull these out to make code below easier to read\n var colDef = column.getColDef();\n var field = colDef.field;\n var colId = column.getId();\n var data = rowNode.data;\n var result;\n // if there is a value getter, this gets precedence over a field\n var groupDataExists = rowNode.groupData && rowNode.groupData[colId] !== undefined;\n var aggDataExists = !ignoreAggData && rowNode.aggData && rowNode.aggData[colId] !== undefined;\n if (forFilter && colDef.filterValueGetter) {\n result = this.executeFilterValueGetter(colDef.filterValueGetter, data, column, rowNode);\n }\n else if (this.gridOptionsWrapper.isTreeData() && aggDataExists) {\n result = rowNode.aggData[colId];\n }\n else if (this.gridOptionsWrapper.isTreeData() && colDef.valueGetter) {\n result = this.executeValueGetter(colDef.valueGetter, data, column, rowNode);\n }\n else if (this.gridOptionsWrapper.isTreeData() && (field && data)) {\n result = getValueUsingField(data, field, column.isFieldContainsDots());\n }\n else if (groupDataExists) {\n result = rowNode.groupData[colId];\n }\n else if (aggDataExists) {\n result = rowNode.aggData[colId];\n }\n else if (colDef.valueGetter) {\n result = this.executeValueGetter(colDef.valueGetter, data, column, rowNode);\n }\n else if (field && data) {\n result = getValueUsingField(data, field, column.isFieldContainsDots());\n }\n // the result could be an expression itself, if we are allowing cell values to be expressions\n if (this.cellExpressions && (typeof result === 'string') && result.indexOf('=') === 0) {\n var cellValueGetter = result.substring(1);\n result = this.executeValueGetter(cellValueGetter, data, column, rowNode);\n }\n if (result == null) {\n var openedGroup = this.getOpenedGroup(rowNode, column);\n if (openedGroup != null) {\n return openedGroup;\n }\n }\n return result;\n };\n ValueService.prototype.getOpenedGroup = function (rowNode, column) {\n if (!this.gridOptionsWrapper.isShowOpenedGroup()) {\n return;\n }\n var colDef = column.getColDef();\n if (!colDef.showRowGroup) {\n return;\n }\n var showRowGroup = column.getColDef().showRowGroup;\n var pointer = rowNode.parent;\n while (pointer != null) {\n if (pointer.rowGroupColumn && (showRowGroup === true || showRowGroup === pointer.rowGroupColumn.getId())) {\n return pointer.key;\n }\n pointer = pointer.parent;\n }\n return undefined;\n };\n /**\n * Sets the value of a GridCell\n * @param rowNode The `RowNode` to be updated\n * @param colKey The `Column` to be updated\n * @param newValue The new value to be set\n * @param eventSource The event source\n * @returns `True` if the value has been updated, otherwise`False`.\n */\n ValueService.prototype.setValue = function (rowNode, colKey, newValue, eventSource) {\n var column = this.columnModel.getPrimaryColumn(colKey);\n if (!rowNode || !column) {\n return false;\n }\n // this will only happen if user is trying to paste into a group row, which doesn't make sense\n // the user should not be trying to paste into group rows\n if (missing(rowNode.data)) {\n rowNode.data = {};\n }\n // for backwards compatibility we are also retrieving the newValueHandler as well as the valueSetter\n var _a = column.getColDef(), field = _a.field, newValueHandler = _a.newValueHandler, valueSetter = _a.valueSetter;\n // need either a field or a newValueHandler for this to work\n if (missing(field) && missing(newValueHandler) && missing(valueSetter)) {\n // we don't tell user about newValueHandler, as that is deprecated\n console.warn(\"AG Grid: you need either field or valueSetter set on colDef for editing to work\");\n return false;\n }\n var params = {\n node: rowNode,\n data: rowNode.data,\n oldValue: this.getValue(column, rowNode),\n newValue: newValue,\n colDef: column.getColDef(),\n column: column,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n params.newValue = newValue;\n var valueWasDifferent;\n if (newValueHandler && exists(newValueHandler)) {\n valueWasDifferent = newValueHandler(params);\n }\n else if (exists(valueSetter)) {\n valueWasDifferent = this.expressionService.evaluate(valueSetter, params);\n }\n else {\n valueWasDifferent = this.setValueUsingField(rowNode.data, field, newValue, column.isFieldContainsDots());\n }\n // in case user forgot to return something (possible if they are not using TypeScript\n // and just forgot, or using an old newValueHandler we didn't always expect a return\n // value here), we default the return value to true, so we always refresh.\n if (valueWasDifferent === undefined) {\n valueWasDifferent = true;\n }\n // if no change to the value, then no need to do the updating, or notifying via events.\n // otherwise the user could be tabbing around the grid, and cellValueChange would get called\n // all the time.\n if (!valueWasDifferent) {\n return false;\n }\n // reset quick filter on this row\n rowNode.resetQuickFilterAggregateText();\n this.valueCache.onDataChanged();\n params.newValue = this.getValue(column, rowNode);\n var event = {\n type: Events.EVENT_CELL_VALUE_CHANGED,\n event: null,\n rowIndex: rowNode.rowIndex,\n rowPinned: rowNode.rowPinned,\n column: params.column,\n api: params.api,\n columnApi: params.columnApi,\n colDef: params.colDef,\n context: params.context,\n data: rowNode.data,\n node: rowNode,\n oldValue: params.oldValue,\n newValue: params.newValue,\n value: params.newValue,\n source: eventSource\n };\n this.eventService.dispatchEvent(event);\n return true;\n };\n ValueService.prototype.callColumnCellValueChangedHandler = function (event) {\n var onCellValueChanged = event.colDef.onCellValueChanged;\n if (typeof onCellValueChanged === 'function') {\n onCellValueChanged({\n node: event.node,\n data: event.data,\n oldValue: event.oldValue,\n newValue: event.newValue,\n colDef: event.colDef,\n column: event.column,\n api: event.api,\n columnApi: event.columnApi,\n context: event.context\n });\n }\n };\n ValueService.prototype.setValueUsingField = function (data, field, newValue, isFieldContainsDots) {\n if (!field) {\n return false;\n }\n // if no '.', then it's not a deep value\n var valuesAreSame = false;\n if (!isFieldContainsDots) {\n // soft comparison to match strings and numbers\n valuesAreSame = data[field] == newValue;\n if (!valuesAreSame) {\n data[field] = newValue;\n }\n }\n else {\n // otherwise it is a deep value, so need to dig for it\n var fieldPieces = field.split('.');\n var currentObject = data;\n while (fieldPieces.length > 0 && currentObject) {\n var fieldPiece = fieldPieces.shift();\n if (fieldPieces.length === 0) {\n // soft comparison to match strings and numbers\n valuesAreSame = currentObject[fieldPiece] == newValue;\n if (!valuesAreSame) {\n currentObject[fieldPiece] = newValue;\n }\n }\n else {\n currentObject = currentObject[fieldPiece];\n }\n }\n }\n return !valuesAreSame;\n };\n ValueService.prototype.executeFilterValueGetter = function (valueGetter, data, column, rowNode) {\n var params = {\n data: data,\n node: rowNode,\n column: column,\n colDef: column.getColDef(),\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n getValue: this.getValueCallback.bind(this, rowNode)\n };\n return this.expressionService.evaluate(valueGetter, params);\n };\n ValueService.prototype.executeValueGetter = function (valueGetter, data, column, rowNode) {\n var colId = column.getId();\n // if inside the same turn, just return back the value we got last time\n var valueFromCache = this.valueCache.getValue(rowNode, colId);\n if (valueFromCache !== undefined) {\n return valueFromCache;\n }\n var params = {\n data: data,\n node: rowNode,\n column: column,\n colDef: column.getColDef(),\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n getValue: this.getValueCallback.bind(this, rowNode)\n };\n var result = this.expressionService.evaluate(valueGetter, params);\n // if a turn is active, store the value in case the grid asks for it again\n this.valueCache.setValue(rowNode, colId, result);\n return result;\n };\n ValueService.prototype.getValueCallback = function (node, field) {\n var otherColumn = this.columnModel.getPrimaryColumn(field);\n if (otherColumn) {\n return this.getValue(otherColumn, node);\n }\n return null;\n };\n // used by row grouping and pivot, to get key for a row. col can be a pivot col or a row grouping col\n ValueService.prototype.getKeyForNode = function (col, rowNode) {\n var value = this.getValue(col, rowNode);\n var keyCreator = col.getColDef().keyCreator;\n var result = value;\n if (keyCreator) {\n var keyParams = {\n value: value,\n colDef: col.getColDef(),\n column: col,\n node: rowNode,\n data: rowNode.data,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n result = keyCreator(keyParams);\n }\n // if already a string, or missing, just return it\n if (typeof result === 'string' || result == null) {\n return result;\n }\n result = String(result);\n if (result === '[object Object]') {\n doOnce(function () {\n console.warn('AG Grid: a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (se AG Grid docs) or b) to toString() on the object to return a key');\n }, 'getKeyForNode - warn about [object,object]');\n }\n return result;\n };\n __decorate$I([\n Autowired('expressionService')\n ], ValueService.prototype, \"expressionService\", void 0);\n __decorate$I([\n Autowired('columnModel')\n ], ValueService.prototype, \"columnModel\", void 0);\n __decorate$I([\n Autowired('valueCache')\n ], ValueService.prototype, \"valueCache\", void 0);\n __decorate$I([\n PostConstruct\n ], ValueService.prototype, \"init\", null);\n ValueService = __decorate$I([\n Bean('valueService')\n ], ValueService);\n return ValueService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$G = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$3 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar ExpressionService = /** @class */ (function (_super) {\n __extends$G(ExpressionService, _super);\n function ExpressionService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.expressionToFunctionCache = {};\n return _this;\n }\n ExpressionService.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('ExpressionService');\n };\n ExpressionService.prototype.evaluate = function (expressionOrFunc, params) {\n if (typeof expressionOrFunc === 'function') {\n // valueGetter is a function, so just call it\n var func = expressionOrFunc;\n return func(params);\n }\n else if (typeof expressionOrFunc === 'string') {\n // valueGetter is an expression, so execute the expression\n var expression = expressionOrFunc;\n return this.evaluateExpression(expression, params);\n }\n else {\n console.error('AG Grid: value should be either a string or a function', expressionOrFunc);\n }\n };\n ExpressionService.prototype.evaluateExpression = function (expression, params) {\n try {\n var javaScriptFunction = this.createExpressionFunction(expression);\n // the params don't have all these values, rather we add every possible\n // value a params can have, which makes whatever is in the params available.\n var result = javaScriptFunction(params.value, params.context, params.oldValue, params.newValue, params.value, params.node, params.data, params.colDef, params.rowIndex, params.api, params.columnApi, params.getValue, params.column, params.columnGroup);\n return result;\n }\n catch (e) {\n // the expression failed, which can happen, as it's the client that\n // provides the expression. so print a nice message\n // tslint:disable-next-line\n console.log('Processing of the expression failed');\n // tslint:disable-next-line\n console.log('Expression = ' + expression);\n // tslint:disable-next-line\n console.log('Params =', params);\n // tslint:disable-next-line\n console.log('Exception = ' + e);\n return null;\n }\n };\n ExpressionService.prototype.createExpressionFunction = function (expression) {\n // check cache first\n if (this.expressionToFunctionCache[expression]) {\n return this.expressionToFunctionCache[expression];\n }\n // if not found in cache, return the function\n var functionBody = this.createFunctionBody(expression);\n var theFunction = new Function('x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, columnApi, getValue, column, columnGroup', functionBody);\n // store in cache\n this.expressionToFunctionCache[expression] = theFunction;\n return theFunction;\n };\n ExpressionService.prototype.createFunctionBody = function (expression) {\n // if the expression has the 'return' word in it, then use as is,\n // if not, then wrap it with return and ';' to make a function\n if (expression.indexOf('return') >= 0) {\n return expression;\n }\n else {\n return 'return ' + expression + ';';\n }\n };\n __decorate$H([\n __param$3(0, Qualifier('loggerFactory'))\n ], ExpressionService.prototype, \"setBeans\", null);\n ExpressionService = __decorate$H([\n Bean('expressionService')\n ], ExpressionService);\n return ExpressionService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$F = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TemplateService = /** @class */ (function (_super) {\n __extends$F(TemplateService, _super);\n function TemplateService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.templateCache = {};\n _this.waitingCallbacks = {};\n return _this;\n }\n // returns the template if it is loaded, or null if it is not loaded\n // but will call the callback when it is loaded\n TemplateService.prototype.getTemplate = function (url, callback) {\n var templateFromCache = this.templateCache[url];\n if (templateFromCache) {\n return templateFromCache;\n }\n var callbackList = this.waitingCallbacks[url];\n var that = this;\n if (!callbackList) {\n // first time this was called, so need a new list for callbacks\n callbackList = [];\n this.waitingCallbacks[url] = callbackList;\n // and also need to do the http request\n var client = new XMLHttpRequest();\n client.onload = function () {\n that.handleHttpResult(this, url);\n };\n client.open(\"GET\", url);\n client.send();\n }\n // add this callback\n if (callback) {\n callbackList.push(callback);\n }\n // caller needs to wait for template to load, so return null\n return null;\n };\n TemplateService.prototype.handleHttpResult = function (httpResult, url) {\n if (httpResult.status !== 200 || httpResult.response === null) {\n console.warn(\"AG Grid: Unable to get template error \" + httpResult.status + \" - \" + url);\n return;\n }\n // response success, so process it\n // in IE9 the response is in - responseText\n this.templateCache[url] = httpResult.response || httpResult.responseText;\n // inform all listeners that this is now in the cache\n var callbacks = this.waitingCallbacks[url];\n for (var i = 0; i < callbacks.length; i++) {\n var callback = callbacks[i];\n // we could pass the callback the response, however we know the client of this code\n // is the cell renderer, and it passes the 'cellRefresh' method in as the callback\n // which doesn't take any parameters.\n callback();\n }\n };\n TemplateService = __decorate$G([\n Bean('templateService')\n ], TemplateService);\n return TemplateService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$E = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$2 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar LoggerFactory = /** @class */ (function (_super) {\n __extends$E(LoggerFactory, _super);\n function LoggerFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoggerFactory.prototype.setBeans = function (gridOptionsWrapper) {\n this.logging = gridOptionsWrapper.isDebug();\n };\n LoggerFactory.prototype.create = function (name) {\n return new Logger(name, this.isLogging.bind(this));\n };\n LoggerFactory.prototype.isLogging = function () {\n return this.logging;\n };\n __decorate$F([\n __param$2(0, Qualifier('gridOptionsWrapper'))\n ], LoggerFactory.prototype, \"setBeans\", null);\n LoggerFactory = __decorate$F([\n Bean('loggerFactory')\n ], LoggerFactory);\n return LoggerFactory;\n}(BeanStub));\nvar Logger = /** @class */ (function () {\n function Logger(name, isLoggingFunc) {\n this.name = name;\n this.isLoggingFunc = isLoggingFunc;\n }\n Logger.prototype.isLogging = function () {\n return this.isLoggingFunc();\n };\n Logger.prototype.log = function (message) {\n if (this.isLoggingFunc()) {\n // tslint:disable-next-line\n console.log('AG Grid.' + this.name + ': ' + message);\n }\n };\n return Logger;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$D = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridCtrl = /** @class */ (function (_super) {\n __extends$D(GridCtrl, _super);\n function GridCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridCtrl.prototype.setComp = function (view, eGridDiv, eGui) {\n var _this = this;\n this.view = view;\n this.eGridHostDiv = eGridDiv;\n this.eGui = eGui;\n // this drop target is just used to see if the drop event is inside the grid\n this.dragAndDropService.addDropTarget({\n getContainer: function () { return _this.eGui; },\n isInterestedIn: function (type) { return type === DragSourceType.HeaderCell || type === DragSourceType.ToolPanel; },\n getIconName: function () { return DragAndDropService.ICON_NOT_ALLOWED; },\n });\n this.mouseEventService.stampTopLevelGridCompWithGridInstance(eGridDiv);\n this.createManagedBean(new LayoutFeature(this.view));\n // important to set rtl before doLayout, as setting the RTL class impacts the scroll position,\n // which doLayout indirectly depends on\n this.addRtlSupport();\n this.addManagedListener(this, Events.EVENT_KEYBOARD_FOCUS, function () {\n _this.view.addOrRemoveKeyboardFocusClass(true);\n });\n this.addManagedListener(this, Events.EVENT_MOUSE_FOCUS, function () {\n _this.view.addOrRemoveKeyboardFocusClass(false);\n });\n var unsubscribeFromResize = this.resizeObserverService.observeResize(this.eGridHostDiv, this.onGridSizeChanged.bind(this));\n this.addDestroyFunc(function () { return unsubscribeFromResize(); });\n this.ctrlsService.registerGridCtrl(this);\n };\n GridCtrl.prototype.isDetailGrid = function () {\n var _a, _b;\n var el = this.focusService.findTabbableParent(this.getGui());\n return ((_b = (_a = el) === null || _a === void 0 ? void 0 : _a.getAttribute('row-id')) === null || _b === void 0 ? void 0 : _b.startsWith('detail')) || false;\n };\n GridCtrl.prototype.showDropZones = function () {\n return ModuleRegistry.isRegistered(ModuleNames.RowGroupingModule);\n };\n GridCtrl.prototype.showSideBar = function () {\n return ModuleRegistry.isRegistered(ModuleNames.SideBarModule);\n };\n GridCtrl.prototype.showStatusBar = function () {\n return ModuleRegistry.isRegistered(ModuleNames.StatusBarModule);\n };\n GridCtrl.prototype.showWatermark = function () {\n return ModuleRegistry.isRegistered(ModuleNames.EnterpriseCoreModule);\n };\n GridCtrl.prototype.onGridSizeChanged = function () {\n var event = {\n type: Events.EVENT_GRID_SIZE_CHANGED,\n clientWidth: this.eGridHostDiv.clientWidth,\n clientHeight: this.eGridHostDiv.clientHeight\n };\n this.eventService.dispatchEvent(event);\n };\n GridCtrl.prototype.addRtlSupport = function () {\n var cssClass = this.gridOptionsWrapper.isEnableRtl() ? 'ag-rtl' : 'ag-ltr';\n this.view.setRtlClass(cssClass);\n };\n GridCtrl.prototype.destroyGridUi = function () {\n this.view.destroyGridUi();\n };\n GridCtrl.prototype.getGui = function () {\n return this.eGui;\n };\n GridCtrl.prototype.setResizeCursor = function (on) {\n this.view.setCursor(on ? 'ew-resize' : null);\n };\n GridCtrl.prototype.disableUserSelect = function (on) {\n this.view.setUserSelect(on ? 'none' : null);\n };\n GridCtrl.prototype.focusNextInnerContainer = function (backwards) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var focusableContainers = this.view.getFocusableContainers();\n var idxWithFocus = focusableContainers.findIndex(function (container) { return container.contains(eDocument.activeElement); });\n var nextIdx = idxWithFocus + (backwards ? -1 : 1);\n if (nextIdx <= 0 || nextIdx >= focusableContainers.length) {\n return false;\n }\n return this.focusService.focusInto(focusableContainers[nextIdx]);\n };\n GridCtrl.prototype.focusInnerElement = function (fromBottom) {\n var focusableContainers = this.view.getFocusableContainers();\n if (fromBottom) {\n if (focusableContainers.length > 1) {\n return this.focusService.focusInto(last(focusableContainers), true);\n }\n var lastColumn = last(this.columnModel.getAllDisplayedColumns());\n if (this.focusService.focusGridView(lastColumn, true)) {\n return true;\n }\n }\n return this.focusService.focusFirstHeader();\n };\n GridCtrl.prototype.forceFocusOutOfContainer = function (up) {\n if (up === void 0) { up = false; }\n this.view.forceFocusOutOfContainer(up);\n };\n __decorate$E([\n Autowired('focusService')\n ], GridCtrl.prototype, \"focusService\", void 0);\n __decorate$E([\n Autowired('resizeObserverService')\n ], GridCtrl.prototype, \"resizeObserverService\", void 0);\n __decorate$E([\n Autowired('columnModel')\n ], GridCtrl.prototype, \"columnModel\", void 0);\n __decorate$E([\n Autowired('ctrlsService')\n ], GridCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$E([\n Autowired('mouseEventService')\n ], GridCtrl.prototype, \"mouseEventService\", void 0);\n __decorate$E([\n Autowired('dragAndDropService')\n ], GridCtrl.prototype, \"dragAndDropService\", void 0);\n return GridCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$C = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridComp = /** @class */ (function (_super) {\n __extends$C(GridComp, _super);\n function GridComp(eGridDiv) {\n var _this = _super.call(this, undefined) || this;\n _this.eGridDiv = eGridDiv;\n return _this;\n }\n GridComp.prototype.postConstruct = function () {\n var _this = this;\n this.logger = this.loggerFactory.create('GridComp');\n var compProxy = {\n destroyGridUi: function () { return _this.destroyBean(_this); },\n setRtlClass: function (cssClass) { return _this.addCssClass(cssClass); },\n addOrRemoveKeyboardFocusClass: function (addOrRemove) { return _this.addOrRemoveCssClass(FocusService.AG_KEYBOARD_FOCUS, addOrRemove); },\n forceFocusOutOfContainer: this.forceFocusOutOfContainer.bind(this),\n updateLayoutClasses: this.updateLayoutClasses.bind(this),\n getFocusableContainers: this.getFocusableContainers.bind(this),\n setUserSelect: function (value) {\n _this.getGui().style.userSelect = value != null ? value : '';\n _this.getGui().style.webkitUserSelect = value != null ? value : '';\n },\n setCursor: function (value) {\n _this.getGui().style.cursor = value != null ? value : '';\n }\n };\n this.ctrl = this.createManagedBean(new GridCtrl());\n var template = this.createTemplate();\n this.setTemplate(template);\n this.ctrl.setComp(compProxy, this.eGridDiv, this.getGui());\n this.insertGridIntoDom();\n this.initialiseTabGuard({\n // we want to override the default behaviour to do nothing for onTabKeyDown\n onTabKeyDown: function () { return undefined; },\n focusInnerElement: function (fromBottom) { return _this.ctrl.focusInnerElement(fromBottom); }\n });\n };\n GridComp.prototype.insertGridIntoDom = function () {\n var _this = this;\n var eGui = this.getGui();\n this.eGridDiv.appendChild(eGui);\n this.addDestroyFunc(function () {\n _this.eGridDiv.removeChild(eGui);\n _this.logger.log('Grid removed from DOM');\n });\n };\n GridComp.prototype.updateLayoutClasses = function (cssClass, params) {\n var eRootWrapperBodyClassList = this.eRootWrapperBody.classList;\n eRootWrapperBodyClassList.toggle(LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n eRootWrapperBodyClassList.toggle(LayoutCssClasses.NORMAL, params.normal);\n eRootWrapperBodyClassList.toggle(LayoutCssClasses.PRINT, params.print);\n this.addOrRemoveCssClass(LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n this.addOrRemoveCssClass(LayoutCssClasses.NORMAL, params.normal);\n this.addOrRemoveCssClass(LayoutCssClasses.PRINT, params.print);\n };\n GridComp.prototype.createTemplate = function () {\n var dropZones = this.ctrl.showDropZones() ? '' : '';\n var sideBar = this.ctrl.showSideBar() ? '' : '';\n var statusBar = this.ctrl.showStatusBar() ? '' : '';\n var watermark = this.ctrl.showWatermark() ? '' : '';\n var template = /* html */ \"
\\n \" + dropZones + \"\\n
\\n \\n \" + sideBar + \"\\n
\\n \" + statusBar + \"\\n \\n \" + watermark + \"\\n
\";\n return template;\n };\n GridComp.prototype.getFocusableElement = function () {\n return this.eRootWrapperBody;\n };\n GridComp.prototype.getFocusableContainers = function () {\n var focusableContainers = [\n this.gridBodyComp.getGui()\n ];\n if (this.sideBarComp) {\n focusableContainers.push(this.sideBarComp.getGui());\n }\n return focusableContainers.filter(function (el) { return isVisible(el); });\n };\n __decorate$D([\n Autowired('loggerFactory')\n ], GridComp.prototype, \"loggerFactory\", void 0);\n __decorate$D([\n RefSelector('gridBody')\n ], GridComp.prototype, \"gridBodyComp\", void 0);\n __decorate$D([\n RefSelector('sideBar')\n ], GridComp.prototype, \"sideBarComp\", void 0);\n __decorate$D([\n RefSelector('rootWrapperBody')\n ], GridComp.prototype, \"eRootWrapperBody\", void 0);\n __decorate$D([\n PostConstruct\n ], GridComp.prototype, \"postConstruct\", null);\n return GridComp;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$B = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$4 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$3 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$4(arguments[i]));\n return ar;\n};\nvar SortController = /** @class */ (function (_super) {\n __extends$B(SortController, _super);\n function SortController() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortController_1 = SortController;\n SortController.prototype.progressSort = function (column, multiSort, source) {\n var nextDirection = this.getNextSortDirection(column);\n this.setSortForColumn(column, nextDirection, multiSort, source);\n };\n SortController.prototype.setSortForColumn = function (column, sort, multiSort, source) {\n var _a;\n // auto correct - if sort not legal value, then set it to 'no sort' (which is null)\n if (sort !== Constants.SORT_ASC && sort !== Constants.SORT_DESC) {\n sort = null;\n }\n var isColumnsSortingCoupledToGroup = this.gridOptionsWrapper.isColumnsSortingCoupledToGroup();\n var columnsToUpdate = [column];\n if (isColumnsSortingCoupledToGroup) {\n if (column.getColDef().showRowGroup) {\n var rowGroupColumns = this.columnModel.getSourceColumnsForGroupColumn(column);\n var sortableRowGroupColumns = (_a = rowGroupColumns) === null || _a === void 0 ? void 0 : _a.filter(function (col) { return col.getColDef().sortable; });\n if (sortableRowGroupColumns) {\n columnsToUpdate = __spread$3([column], sortableRowGroupColumns);\n }\n }\n }\n columnsToUpdate.forEach(function (col) { return col.setSort(sort, source); });\n var doingMultiSort = (multiSort || this.gridOptionsWrapper.isAlwaysMultiSort()) && !this.gridOptionsWrapper.isSuppressMultiSort();\n // clear sort on all columns except those changed, and update the icons\n if (!doingMultiSort) {\n this.clearSortBarTheseColumns(columnsToUpdate, source);\n }\n // sortIndex used for knowing order of cols when multi-col sort\n this.updateSortIndex(column);\n this.dispatchSortChangedEvents(source);\n };\n SortController.prototype.updateSortIndex = function (lastColToChange) {\n var isCoupled = this.gridOptionsWrapper.isColumnsSortingCoupledToGroup();\n var groupParent = this.columnModel.getGroupDisplayColumnForGroup(lastColToChange.getId());\n var lastSortIndexCol = isCoupled ? groupParent || lastColToChange : lastColToChange;\n var allSortedCols = this.getIndexableColumnsOrdered();\n // reset sort index on everything\n this.columnModel.getPrimaryAndSecondaryAndAutoColumns().forEach(function (col) { return col.setSortIndex(null); });\n var allSortedColsWithoutChanges = allSortedCols.filter(function (col) { return col !== lastSortIndexCol; });\n var sortedColsWithIndices = !!lastSortIndexCol.getSort() ? __spread$3(allSortedColsWithoutChanges, [lastSortIndexCol]) : allSortedColsWithoutChanges;\n sortedColsWithIndices.forEach(function (col, idx) { return (col.setSortIndex(idx)); });\n };\n // gets called by API, so if data changes, use can call this, which will end up\n // working out the sort order again of the rows.\n SortController.prototype.onSortChanged = function (source) {\n this.dispatchSortChangedEvents(source);\n };\n SortController.prototype.isSortActive = function () {\n // pull out all the columns that have sorting set\n var allCols = this.columnModel.getPrimaryAndSecondaryAndAutoColumns();\n var sortedCols = allCols.filter(function (column) { return !!column.getSort(); });\n return sortedCols && sortedCols.length > 0;\n };\n SortController.prototype.dispatchSortChangedEvents = function (source) {\n var event = {\n type: Events.EVENT_SORT_CHANGED,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n SortController.prototype.clearSortBarTheseColumns = function (columnsToSkip, source) {\n this.columnModel.getPrimaryAndSecondaryAndAutoColumns().forEach(function (columnToClear) {\n // Do not clear if either holding shift, or if column in question was clicked\n if (!columnsToSkip.includes(columnToClear)) {\n // setting to 'undefined' as null means 'none' rather than cleared, otherwise issue will arise\n // if sort order is: ['desc', null , 'asc'], as it will start at null rather than 'desc'.\n columnToClear.setSort(undefined, source);\n }\n });\n };\n SortController.prototype.getNextSortDirection = function (column) {\n var sortingOrder;\n if (column.getColDef().sortingOrder) {\n sortingOrder = column.getColDef().sortingOrder;\n }\n else if (this.gridOptionsWrapper.getSortingOrder()) {\n sortingOrder = this.gridOptionsWrapper.getSortingOrder();\n }\n else {\n sortingOrder = SortController_1.DEFAULT_SORTING_ORDER;\n }\n if (!Array.isArray(sortingOrder) || sortingOrder.length <= 0) {\n console.warn(\"AG Grid: sortingOrder must be an array with at least one element, currently it's \" + sortingOrder);\n return null;\n }\n var currentIndex = sortingOrder.indexOf(column.getSort());\n var notInArray = currentIndex < 0;\n var lastItemInArray = currentIndex == sortingOrder.length - 1;\n var result;\n if (notInArray || lastItemInArray) {\n result = sortingOrder[0];\n }\n else {\n result = sortingOrder[currentIndex + 1];\n }\n // verify the sort type exists, as the user could provide the sortingOrder, need to make sure it's valid\n if (SortController_1.DEFAULT_SORTING_ORDER.indexOf(result) < 0) {\n console.warn('AG Grid: invalid sort type ' + result);\n return null;\n }\n return result;\n };\n SortController.prototype.getColumnsOrderedForSort = function () {\n // pull out all the columns that have sorting set\n var allColumnsIncludingAuto = this.columnModel.getPrimaryAndSecondaryAndAutoColumns();\n // when both cols are missing sortIndex, we use the position of the col in all cols list.\n // this means if colDefs only have sort, but no sortIndex, we deterministically pick which\n // cols is sorted by first.\n var allColsIndexes = {};\n allColumnsIncludingAuto.forEach(function (col, index) { return allColsIndexes[col.getId()] = index; });\n // put the columns in order of which one got sorted first\n allColumnsIncludingAuto.sort(function (a, b) {\n var iA = a.getSortIndex();\n var iB = b.getSortIndex();\n if (iA != null && iB != null) {\n return iA - iB; // both present, normal comparison\n }\n else if (iA == null && iB == null) {\n // both missing, compare using column positions\n var posA = allColsIndexes[a.getId()];\n var posB = allColsIndexes[b.getId()];\n return posA > posB ? 1 : -1;\n }\n else if (iB == null) {\n return -1; // iB missing\n }\n else {\n return 1; // iA missing\n }\n });\n return allColumnsIncludingAuto;\n };\n SortController.prototype.getIndexableColumnsOrdered = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isColumnsSortingCoupledToGroup()) {\n return this.getColumnsWithSortingOrdered();\n }\n return this.getColumnsOrderedForSort()\n .filter(function (col) {\n var _a;\n if (!!col.getColDef().showRowGroup) {\n if (col.getColDef().field && col.getSort()) {\n return true;\n }\n var sourceCols = _this.columnModel.getSourceColumnsForGroupColumn(col);\n return (_a = sourceCols) === null || _a === void 0 ? void 0 : _a.some(function (col) { return !!col.getSort(); });\n }\n return !!col.getSort();\n });\n };\n SortController.prototype.getColumnsWithSortingOrdered = function () {\n // pull out all the columns that have sorting set\n var orderedColumns = this.getColumnsOrderedForSort();\n return orderedColumns.filter(function (column) { return !!column.getSort(); });\n };\n // used by server side row models, to sent sort to server\n SortController.prototype.getSortModel = function () {\n return this.getColumnsWithSortingOrdered().map(function (column) { return ({\n sort: column.getSort(),\n colId: column.getId()\n }); });\n };\n SortController.prototype.getSortOptions = function () {\n return this.getColumnsWithSortingOrdered().map(function (column) { return ({\n sort: column.getSort(),\n column: column\n }); });\n };\n SortController.prototype.canColumnDisplayMixedSort = function (column) {\n var isColumnSortCouplingActive = this.gridOptionsWrapper.isColumnsSortingCoupledToGroup();\n var isGroupDisplayColumn = !!column.getColDef().showRowGroup;\n return isColumnSortCouplingActive && isGroupDisplayColumn;\n };\n SortController.prototype.getDisplaySortForColumn = function (column) {\n var _a;\n var linkedColumns = this.columnModel.getSourceColumnsForGroupColumn(column);\n if (!this.canColumnDisplayMixedSort(column) || !((_a = linkedColumns) === null || _a === void 0 ? void 0 : _a.length)) {\n return column.getSort();\n }\n // if column has unique data, its sorting is independent - but can still be mixed\n var columnHasUniqueData = !!column.getColDef().field;\n var sortableColumns = columnHasUniqueData ? __spread$3([column], linkedColumns) : linkedColumns;\n var firstSort = sortableColumns[0].getSort();\n // the == is intentional, as null and undefined both represent no sort, which means they are equivalent\n var allMatch = sortableColumns.every(function (col) { return col.getSort() == firstSort; });\n if (!allMatch) {\n return 'mixed';\n }\n return firstSort;\n };\n SortController.prototype.getDisplaySortIndexForColumn = function (column) {\n var _this = this;\n var isColumnSortCouplingActive = this.gridOptionsWrapper.isColumnsSortingCoupledToGroup();\n if (!isColumnSortCouplingActive) {\n return this.getColumnsWithSortingOrdered().indexOf(column);\n }\n var displayColumn = this.columnModel.getGroupDisplayColumnForGroup(column.getId());\n if (displayColumn) {\n if (!!column.getSort()) {\n return this.getDisplaySortIndexForColumn(displayColumn);\n }\n return null;\n }\n var allSortedCols = this.getIndexableColumnsOrdered()\n .filter(function (col) { return !_this.columnModel.getGroupDisplayColumnForGroup(col.getId()); });\n return allSortedCols.indexOf(column);\n };\n var SortController_1;\n SortController.DEFAULT_SORTING_ORDER = [Constants.SORT_ASC, Constants.SORT_DESC, null];\n __decorate$C([\n Autowired('columnModel')\n ], SortController.prototype, \"columnModel\", void 0);\n SortController = SortController_1 = __decorate$C([\n Bean('sortController')\n ], SortController);\n return SortController;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$A = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnHoverService = /** @class */ (function (_super) {\n __extends$A(ColumnHoverService, _super);\n function ColumnHoverService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnHoverService.prototype.setMouseOver = function (columns) {\n this.selectedColumns = columns;\n var event = {\n type: Events.EVENT_COLUMN_HOVER_CHANGED\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnHoverService.prototype.clearMouseOver = function () {\n this.selectedColumns = null;\n var event = {\n type: Events.EVENT_COLUMN_HOVER_CHANGED\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnHoverService.prototype.isHovered = function (column) {\n return !!this.selectedColumns && this.selectedColumns.indexOf(column) >= 0;\n };\n ColumnHoverService = __decorate$B([\n Bean('columnHoverService')\n ], ColumnHoverService);\n return ColumnHoverService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnAnimationService = /** @class */ (function (_super) {\n __extends$z(ColumnAnimationService, _super);\n function ColumnAnimationService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.executeNextFuncs = [];\n _this.executeLaterFuncs = [];\n _this.active = false;\n _this.animationThreadCount = 0;\n return _this;\n }\n ColumnAnimationService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) { return _this.gridBodyCtrl = p.gridBodyCtrl; });\n };\n ColumnAnimationService.prototype.isActive = function () {\n return this.active;\n };\n ColumnAnimationService.prototype.start = function () {\n if (this.active) {\n return;\n }\n if (this.gridOptionsWrapper.isSuppressColumnMoveAnimation()) {\n return;\n }\n // if doing RTL, we don't animate open / close as due to how the pixels are inverted,\n // the animation moves all the row the the right rather than to the left (ie it's the static\n // columns that actually get their coordinates updated)\n if (this.gridOptionsWrapper.isEnableRtl()) {\n return;\n }\n this.ensureAnimationCssClassPresent();\n this.active = true;\n };\n ColumnAnimationService.prototype.finish = function () {\n if (!this.active) {\n return;\n }\n this.flush();\n this.active = false;\n };\n ColumnAnimationService.prototype.executeNextVMTurn = function (func) {\n if (this.active) {\n this.executeNextFuncs.push(func);\n }\n else {\n func();\n }\n };\n ColumnAnimationService.prototype.executeLaterVMTurn = function (func) {\n if (this.active) {\n this.executeLaterFuncs.push(func);\n }\n else {\n func();\n }\n };\n ColumnAnimationService.prototype.ensureAnimationCssClassPresent = function () {\n var _this = this;\n // up the count, so we can tell if someone else has updated the count\n // by the time the 'wait' func executes\n this.animationThreadCount++;\n var animationThreadCountCopy = this.animationThreadCount;\n this.gridBodyCtrl.setColumnMovingCss(true);\n this.executeLaterFuncs.push(function () {\n // only remove the class if this thread was the last one to update it\n if (_this.animationThreadCount === animationThreadCountCopy) {\n _this.gridBodyCtrl.setColumnMovingCss(false);\n }\n });\n };\n ColumnAnimationService.prototype.flush = function () {\n var nowFuncs = this.executeNextFuncs;\n this.executeNextFuncs = [];\n var waitFuncs = this.executeLaterFuncs;\n this.executeLaterFuncs = [];\n if (nowFuncs.length === 0 && waitFuncs.length === 0) {\n return;\n }\n window.setTimeout(function () { return nowFuncs.forEach(function (func) { return func(); }); }, 0);\n window.setTimeout(function () { return waitFuncs.forEach(function (func) { return func(); }); }, 300);\n };\n __decorate$A([\n Autowired('ctrlsService')\n ], ColumnAnimationService.prototype, \"ctrlsService\", void 0);\n __decorate$A([\n PostConstruct\n ], ColumnAnimationService.prototype, \"postConstruct\", null);\n ColumnAnimationService = __decorate$A([\n Bean('columnAnimationService')\n ], ColumnAnimationService);\n return ColumnAnimationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AutoGroupColService = /** @class */ (function (_super) {\n __extends$y(AutoGroupColService, _super);\n function AutoGroupColService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AutoGroupColService_1 = AutoGroupColService;\n AutoGroupColService.prototype.createAutoGroupColumns = function (existingCols, rowGroupColumns) {\n var _this = this;\n var groupAutoColumns = [];\n var doingTreeData = this.gridOptionsWrapper.isTreeData();\n var doingMultiAutoColumn = this.gridOptionsWrapper.isGroupMultiAutoColumn();\n if (doingTreeData && doingMultiAutoColumn) {\n console.warn('AG Grid: you cannot mix groupMultiAutoColumn with treeData, only one column can be used to display groups when doing tree data');\n doingMultiAutoColumn = false;\n }\n // if doing groupMultiAutoColumn, then we call the method multiple times, once\n // for each column we are grouping by\n if (doingMultiAutoColumn) {\n rowGroupColumns.forEach(function (rowGroupCol, index) {\n groupAutoColumns.push(_this.createOneAutoGroupColumn(existingCols, rowGroupCol, index));\n });\n }\n else {\n groupAutoColumns.push(this.createOneAutoGroupColumn(existingCols));\n }\n return groupAutoColumns;\n };\n // rowGroupCol and index are missing if groupMultiAutoColumn=false\n AutoGroupColService.prototype.createOneAutoGroupColumn = function (existingCols, rowGroupCol, index) {\n // if one provided by user, use it, otherwise create one\n var defaultAutoColDef = this.generateDefaultColDef(rowGroupCol);\n // if doing multi, set the field\n var colId;\n if (rowGroupCol) {\n colId = Constants.GROUP_AUTO_COLUMN_ID + \"-\" + rowGroupCol.getId();\n }\n else {\n colId = AutoGroupColService_1.GROUP_AUTO_COLUMN_BUNDLE_ID;\n }\n var userAutoColDef = this.gridOptionsWrapper.getAutoGroupColumnDef();\n mergeDeep(defaultAutoColDef, userAutoColDef);\n defaultAutoColDef = this.columnFactory.mergeColDefs(defaultAutoColDef);\n defaultAutoColDef.colId = colId;\n // For tree data the filter is always allowed\n if (!this.gridOptionsWrapper.isTreeData()) {\n // we would only allow filter if the user has provided field or value getter. otherwise the filter\n // would not be able to work.\n var noFieldOrValueGetter = missing(defaultAutoColDef.field) && missing(defaultAutoColDef.valueGetter) && missing(defaultAutoColDef.filterValueGetter);\n if (noFieldOrValueGetter) {\n defaultAutoColDef.filter = false;\n }\n }\n // if showing many cols, we don't want to show more than one with a checkbox for selection\n if (index && index > 0) {\n defaultAutoColDef.headerCheckboxSelection = false;\n }\n var existingCol = existingCols.find(function (col) { return col.getId() == colId; });\n if (existingCol) {\n existingCol.setColDef(defaultAutoColDef, null);\n this.columnFactory.applyColumnState(existingCol, defaultAutoColDef);\n return existingCol;\n }\n var newCol = new Column(defaultAutoColDef, null, colId, true);\n this.context.createBean(newCol);\n return newCol;\n };\n AutoGroupColService.prototype.generateDefaultColDef = function (rowGroupCol) {\n var userDef = this.gridOptionsWrapper.getAutoGroupColumnDef();\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var res = {\n headerName: localeTextFunc('group', 'Group')\n };\n var userHasProvidedGroupCellRenderer = userDef &&\n (userDef.cellRenderer || userDef.cellRendererFramework || userDef.cellRendererSelector);\n // only add the default group cell renderer if user hasn't provided one\n if (!userHasProvidedGroupCellRenderer) {\n res.cellRenderer = 'agGroupCellRenderer';\n }\n // we never allow moving the group column\n // defaultAutoColDef.suppressMovable = true;\n if (rowGroupCol) {\n var colDef = rowGroupCol.getColDef();\n Object.assign(res, {\n // cellRendererParams.groupKey: colDefToCopy.field;\n headerName: this.columnModel.getDisplayNameForColumn(rowGroupCol, 'header'),\n headerValueGetter: colDef.headerValueGetter\n });\n if (colDef.cellRenderer || colDef.cellRendererFramework) {\n Object.assign(res, {\n cellRendererParams: {\n innerRenderer: colDef.cellRenderer,\n innerRendererFramework: colDef.cellRendererFramework,\n innerRendererParams: colDef.cellRendererParams\n }\n });\n }\n res.showRowGroup = rowGroupCol.getColId();\n }\n else {\n res.showRowGroup = true;\n }\n return res;\n };\n var AutoGroupColService_1;\n AutoGroupColService.GROUP_AUTO_COLUMN_BUNDLE_ID = Constants.GROUP_AUTO_COLUMN_ID;\n __decorate$z([\n Autowired('columnModel')\n ], AutoGroupColService.prototype, \"columnModel\", void 0);\n __decorate$z([\n Autowired('columnFactory')\n ], AutoGroupColService.prototype, \"columnFactory\", void 0);\n AutoGroupColService = AutoGroupColService_1 = __decorate$z([\n Bean('autoGroupColService')\n ], AutoGroupColService);\n return AutoGroupColService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$x = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PaginationAutoPageSizeService = /** @class */ (function (_super) {\n __extends$x(PaginationAutoPageSizeService, _super);\n function PaginationAutoPageSizeService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PaginationAutoPageSizeService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.centerRowContainerCon = p.centerRowContainerCtrl;\n _this.addManagedListener(_this.eventService, Events.EVENT_BODY_HEIGHT_CHANGED, _this.onBodyHeightChanged.bind(_this));\n _this.addManagedListener(_this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, _this.onScrollVisibilityChanged.bind(_this));\n _this.checkPageSize();\n });\n };\n PaginationAutoPageSizeService.prototype.notActive = function () {\n return !this.gridOptionsWrapper.isPaginationAutoPageSize();\n };\n PaginationAutoPageSizeService.prototype.onScrollVisibilityChanged = function () {\n this.checkPageSize();\n };\n PaginationAutoPageSizeService.prototype.onBodyHeightChanged = function () {\n this.checkPageSize();\n };\n PaginationAutoPageSizeService.prototype.checkPageSize = function () {\n if (this.notActive()) {\n return;\n }\n var rowHeight = this.gridOptionsWrapper.getRowHeightAsNumber();\n var bodyHeight = this.centerRowContainerCon.getViewportSizeFeature().getBodyHeight();\n if (bodyHeight > 0) {\n var newPageSize = Math.floor(bodyHeight / rowHeight);\n this.gridOptionsWrapper.setProperty('paginationPageSize', newPageSize);\n }\n };\n __decorate$y([\n Autowired('ctrlsService')\n ], PaginationAutoPageSizeService.prototype, \"ctrlsService\", void 0);\n __decorate$y([\n PostConstruct\n ], PaginationAutoPageSizeService.prototype, \"postConstruct\", null);\n PaginationAutoPageSizeService = __decorate$y([\n Bean('paginationAutoPageSizeService')\n ], PaginationAutoPageSizeService);\n return PaginationAutoPageSizeService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$w = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ValueCache = /** @class */ (function (_super) {\n __extends$w(ValueCache, _super);\n function ValueCache() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cacheVersion = 0;\n return _this;\n }\n ValueCache.prototype.init = function () {\n this.active = this.gridOptionsWrapper.isValueCache();\n this.neverExpires = this.gridOptionsWrapper.isValueCacheNeverExpires();\n };\n ValueCache.prototype.onDataChanged = function () {\n if (this.neverExpires) {\n return;\n }\n this.expire();\n };\n ValueCache.prototype.expire = function () {\n this.cacheVersion++;\n };\n ValueCache.prototype.setValue = function (rowNode, colId, value) {\n if (this.active) {\n if (rowNode.__cacheVersion !== this.cacheVersion) {\n rowNode.__cacheVersion = this.cacheVersion;\n rowNode.__cacheData = {};\n }\n rowNode.__cacheData[colId] = value;\n }\n };\n ValueCache.prototype.getValue = function (rowNode, colId) {\n if (!this.active || rowNode.__cacheVersion !== this.cacheVersion) {\n return undefined;\n }\n return rowNode.__cacheData[colId];\n };\n __decorate$x([\n PostConstruct\n ], ValueCache.prototype, \"init\", null);\n ValueCache = __decorate$x([\n Bean('valueCache')\n ], ValueCache);\n return ValueCache;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$v = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ChangeDetectionService = /** @class */ (function (_super) {\n __extends$v(ChangeDetectionService, _super);\n function ChangeDetectionService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChangeDetectionService.prototype.init = function () {\n if (this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n this.clientSideRowModel = this.rowModel;\n }\n this.addManagedListener(this.eventService, Events.EVENT_CELL_VALUE_CHANGED, this.onCellValueChanged.bind(this));\n };\n ChangeDetectionService.prototype.onCellValueChanged = function (event) {\n // Clipboard service manages its own change detection, so no need to do it here.\n // The clipboard manages its own as otherwise this would happen once for every cell\n // that got updated as part of a paste operation, so e.g. if 100 cells in a paste operation,\n // this doChangeDetection would get called 100 times (once for each cell), instead clipboard\n // service executes the logic we have here once (in essence batching up all cell changes\n // into one change detection).\n if (event.source === Constants.SOURCE_PASTE) {\n return;\n }\n this.doChangeDetection(event.node, event.column);\n };\n ChangeDetectionService.prototype.doChangeDetection = function (rowNode, column) {\n if (this.gridOptionsWrapper.isSuppressChangeDetection()) {\n return;\n }\n // step 1 of change detection is to update the aggregated values\n if (this.clientSideRowModel && !rowNode.isRowPinned()) {\n var onlyChangedColumns = this.gridOptionsWrapper.isAggregateOnlyChangedColumns();\n var changedPath = new ChangedPath(onlyChangedColumns, this.clientSideRowModel.getRootNode());\n changedPath.addParentNode(rowNode.parent, [column]);\n this.clientSideRowModel.doAggregate(changedPath);\n }\n // step 2 of change detection is to refresh the cells\n this.rowRenderer.refreshCells();\n };\n __decorate$w([\n Autowired('rowModel')\n ], ChangeDetectionService.prototype, \"rowModel\", void 0);\n __decorate$w([\n Autowired('rowRenderer')\n ], ChangeDetectionService.prototype, \"rowRenderer\", void 0);\n __decorate$w([\n PostConstruct\n ], ChangeDetectionService.prototype, \"init\", null);\n ChangeDetectionService = __decorate$w([\n Bean('changeDetectionService')\n ], ChangeDetectionService);\n return ChangeDetectionService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$u = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgComponentUtils = /** @class */ (function (_super) {\n __extends$u(AgComponentUtils, _super);\n function AgComponentUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AgComponentUtils.prototype.adaptFunction = function (propertyName, jsCompFunc) {\n var metadata = this.componentMetadataProvider.retrieve(propertyName);\n if (metadata && metadata.functionAdapter) {\n return metadata.functionAdapter(jsCompFunc);\n }\n return null;\n };\n AgComponentUtils.prototype.adaptCellRendererFunction = function (callback) {\n var Adapter = /** @class */ (function () {\n function Adapter() {\n }\n Adapter.prototype.refresh = function (params) {\n return false;\n };\n Adapter.prototype.getGui = function () {\n return this.eGui;\n };\n Adapter.prototype.init = function (params) {\n var callbackResult = callback(params);\n var type = typeof callbackResult;\n if (type === 'string' || type === 'number' || type === 'boolean') {\n this.eGui = loadTemplate('' + callbackResult + '');\n return;\n }\n if (callbackResult == null) {\n this.eGui = loadTemplate('');\n return;\n }\n this.eGui = callbackResult;\n };\n return Adapter;\n }());\n return Adapter;\n };\n AgComponentUtils.prototype.doesImplementIComponent = function (candidate) {\n if (!candidate) {\n return false;\n }\n return candidate.prototype && 'getGui' in candidate.prototype;\n };\n __decorate$v([\n Autowired(\"componentMetadataProvider\")\n ], AgComponentUtils.prototype, \"componentMetadataProvider\", void 0);\n AgComponentUtils = __decorate$v([\n Bean(\"agComponentUtils\")\n ], AgComponentUtils);\n return AgComponentUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$t = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ComponentMetadataProvider = /** @class */ (function (_super) {\n __extends$t(ComponentMetadataProvider, _super);\n function ComponentMetadataProvider() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComponentMetadataProvider.prototype.postConstruct = function () {\n this.componentMetaData = {\n dateComponent: {\n mandatoryMethodList: ['getDate', 'setDate'],\n optionalMethodList: ['afterGuiAttached', 'setInputPlaceholder', 'setInputAriaLabel']\n },\n detailCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n headerComponent: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh']\n },\n headerGroupComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n loadingCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n loadingOverlayComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n noRowsOverlayComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n floatingFilterComponent: {\n mandatoryMethodList: ['onParentModelChanged'],\n optionalMethodList: ['afterGuiAttached']\n },\n floatingFilterWrapperComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n cellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n cellEditor: {\n mandatoryMethodList: ['getValue'],\n optionalMethodList: ['isPopup', 'isCancelBeforeStart', 'isCancelAfterEnd', 'getPopupPosition', 'focusIn', 'focusOut', 'afterGuiAttached']\n },\n innerRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n fullWidthCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n pinnedRowCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n groupRowRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n filter: {\n mandatoryMethodList: ['isFilterActive', 'doesFilterPass', 'getModel', 'setModel'],\n optionalMethodList: ['afterGuiAttached', 'onNewRowsLoaded', 'getModelAsString', 'onFloatingFilterChanged', 'onAnyFilterChanged']\n },\n filterComponent: {\n mandatoryMethodList: ['isFilterActive', 'doesFilterPass', 'getModel', 'setModel'],\n optionalMethodList: ['afterGuiAttached', 'onNewRowsLoaded', 'getModelAsString', 'onFloatingFilterChanged', 'onAnyFilterChanged']\n },\n statusPanel: {\n mandatoryMethodList: [],\n optionalMethodList: ['afterGuiAttached'],\n },\n toolPanel: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached']\n },\n tooltipComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n }\n };\n };\n ComponentMetadataProvider.prototype.retrieve = function (name) {\n return this.componentMetaData[name];\n };\n __decorate$u([\n Autowired(\"agComponentUtils\")\n ], ComponentMetadataProvider.prototype, \"agComponentUtils\", void 0);\n __decorate$u([\n PostConstruct\n ], ComponentMetadataProvider.prototype, \"postConstruct\", null);\n ComponentMetadataProvider = __decorate$u([\n Bean(\"componentMetadataProvider\")\n ], ComponentMetadataProvider);\n return ComponentMetadataProvider;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$s = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar MAT_GRID_SIZE = 8;\nvar BASE_GRID_SIZE = 4;\nvar BALHAM_GRID_SIZE = 4;\nvar ALPINE_GRID_SIZE = 6;\nvar HARD_CODED_SIZES = {\n // this item is required for custom themes\n 'ag-theme-custom': {\n headerHeight: 25,\n headerCellMinWidth: 24,\n listItemHeight: BASE_GRID_SIZE * 5,\n rowHeight: 25,\n chartMenuPanelWidth: 220\n },\n 'ag-theme-material': {\n headerHeight: MAT_GRID_SIZE * 7,\n headerCellMinWidth: 48,\n listItemHeight: MAT_GRID_SIZE * 4,\n rowHeight: MAT_GRID_SIZE * 6,\n chartMenuPanelWidth: 240\n },\n 'ag-theme-balham': {\n headerHeight: BALHAM_GRID_SIZE * 8,\n headerCellMinWidth: 24,\n listItemHeight: BALHAM_GRID_SIZE * 6,\n rowHeight: BALHAM_GRID_SIZE * 7,\n chartMenuPanelWidth: 220\n },\n 'ag-theme-alpine': {\n headerHeight: ALPINE_GRID_SIZE * 8,\n headerCellMinWidth: 36,\n listItemHeight: ALPINE_GRID_SIZE * 4,\n rowHeight: ALPINE_GRID_SIZE * 7,\n chartMenuPanelWidth: 240\n }\n};\n/**\n * this object contains a list of Sass variables and an array\n * of CSS styles required to get the correct value.\n * eg. $virtual-item-height requires a structure, so we can get its height.\n *
\n *
\n *
\n *
\n *
\n */\nvar SASS_PROPERTY_BUILDER = {\n headerHeight: ['ag-header-row'],\n headerCellMinWidth: ['ag-header-cell'],\n listItemHeight: ['ag-virtual-list-item'],\n rowHeight: ['ag-row'],\n chartMenuPanelWidth: ['ag-chart-docked-container']\n};\nvar CALCULATED_SIZES = {};\nvar Environment = /** @class */ (function (_super) {\n __extends$s(Environment, _super);\n function Environment() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Environment.prototype.getSassVariable = function (theme, key) {\n var useTheme = 'ag-theme-' + (theme.match('material') ? 'material' : theme.match('balham') ? 'balham' : theme.match('alpine') ? 'alpine' : 'custom');\n var defaultValue = HARD_CODED_SIZES[useTheme][key];\n var calculatedValue = 0;\n if (!CALCULATED_SIZES[theme]) {\n CALCULATED_SIZES[theme] = {};\n }\n var size = CALCULATED_SIZES[theme][key];\n if (size != null) {\n return size;\n }\n if (SASS_PROPERTY_BUILDER[key]) {\n var classList = SASS_PROPERTY_BUILDER[key];\n var div = document.createElement('div');\n div.classList.add(theme);\n div.style.position = 'absolute';\n var el = classList.reduce(function (prevEl, currentClass) {\n var currentDiv = document.createElement('div');\n currentDiv.style.position = 'static';\n currentDiv.classList.add(currentClass);\n prevEl.appendChild(currentDiv);\n return currentDiv;\n }, div);\n if (document.body) {\n document.body.appendChild(div);\n var sizeName = key.toLowerCase().indexOf('height') !== -1 ? 'height' : 'width';\n calculatedValue = parseInt(window.getComputedStyle(el)[sizeName], 10);\n document.body.removeChild(div);\n }\n }\n CALCULATED_SIZES[theme][key] = calculatedValue || defaultValue;\n return CALCULATED_SIZES[theme][key];\n };\n Environment.prototype.isThemeDark = function () {\n var theme = this.getTheme().theme;\n return !!theme && theme.indexOf('dark') >= 0;\n };\n Environment.prototype.chartMenuPanelWidth = function () {\n var theme = this.getTheme().themeFamily;\n return this.getSassVariable(theme, 'chartMenuPanelWidth');\n };\n Environment.prototype.getTheme = function () {\n var reg = /\\bag-(material|(?:theme-([\\w\\-]*)))\\b/g;\n var el = this.eGridDiv;\n var themeMatch = null;\n var allThemes = [];\n while (el) {\n themeMatch = reg.exec(el.className);\n if (!themeMatch) {\n el = el.parentElement || undefined;\n }\n else {\n var matched = el.className.match(reg);\n if (matched) {\n allThemes = matched;\n }\n break;\n }\n }\n if (!themeMatch) {\n return { allThemes: allThemes };\n }\n var theme = themeMatch[0];\n var usingOldTheme = themeMatch[2] === undefined;\n if (usingOldTheme) {\n var newTheme_1 = theme.replace('ag-', 'ag-theme-');\n doOnce(function () { return console.warn(\"AG Grid: As of v19 old theme are no longer provided. Please replace \" + theme + \" with \" + newTheme_1 + \".\"); }, 'using-old-theme');\n }\n return { theme: theme, el: el, themeFamily: theme.replace(/-dark$/, ''), allThemes: allThemes };\n };\n __decorate$t([\n Autowired('eGridDiv')\n ], Environment.prototype, \"eGridDiv\", void 0);\n Environment = __decorate$t([\n Bean('environment')\n ], Environment);\n return Environment;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$r = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$1 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\n/**\n * This class solves the 'max height' problem, where the user might want to show more data than\n * the max div height actually allows.\n */\nvar RowContainerHeightService = /** @class */ (function (_super) {\n __extends$r(RowContainerHeightService, _super);\n function RowContainerHeightService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // the scrollY position\n _this.scrollY = 0;\n // how tall the body is\n _this.uiBodyHeight = 0;\n return _this;\n }\n RowContainerHeightService.prototype.agWire = function (loggerFactory) {\n this.logger = loggerFactory.create(\"RowContainerHeightService\");\n };\n RowContainerHeightService.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_BODY_HEIGHT_CHANGED, this.updateOffset.bind(this));\n this.maxDivHeight = getMaxDivHeight();\n this.logger.log('maxDivHeight = ' + this.maxDivHeight);\n };\n RowContainerHeightService.prototype.isStretching = function () {\n return this.stretching;\n };\n RowContainerHeightService.prototype.getDivStretchOffset = function () {\n return this.divStretchOffset;\n };\n RowContainerHeightService.prototype.updateOffset = function () {\n if (!this.stretching) {\n return;\n }\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var newScrollY = gridBodyCon.getScrollFeature().getVScrollPosition().top;\n var newBodyHeight = this.getUiBodyHeight();\n var atLeastOneChanged = newScrollY !== this.scrollY || newBodyHeight !== this.uiBodyHeight;\n if (atLeastOneChanged) {\n this.scrollY = newScrollY;\n this.uiBodyHeight = newBodyHeight;\n this.calculateOffset();\n }\n };\n RowContainerHeightService.prototype.calculateOffset = function () {\n this.setUiContainerHeight(this.maxDivHeight);\n this.pixelsToShave = this.modelHeight - this.uiContainerHeight;\n this.maxScrollY = this.uiContainerHeight - this.uiBodyHeight;\n var scrollPercent = this.scrollY / this.maxScrollY;\n var divStretchOffset = scrollPercent * this.pixelsToShave;\n this.logger.log(\"Div Stretch Offset = \" + divStretchOffset + \" (\" + this.pixelsToShave + \" * \" + scrollPercent + \")\");\n this.setDivStretchOffset(divStretchOffset);\n };\n RowContainerHeightService.prototype.setUiContainerHeight = function (height) {\n if (height !== this.uiContainerHeight) {\n this.uiContainerHeight = height;\n this.eventService.dispatchEvent({ type: Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED });\n }\n };\n RowContainerHeightService.prototype.clearOffset = function () {\n this.setUiContainerHeight(this.modelHeight);\n this.pixelsToShave = 0;\n this.setDivStretchOffset(0);\n };\n RowContainerHeightService.prototype.setDivStretchOffset = function (newOffset) {\n // because we are talking pixels, no point in confusing things with half numbers\n var newOffsetFloor = typeof newOffset === 'number' ? Math.floor(newOffset) : null;\n if (this.divStretchOffset === newOffsetFloor) {\n return;\n }\n this.divStretchOffset = newOffsetFloor;\n this.eventService.dispatchEvent({ type: Events.EVENT_HEIGHT_SCALE_CHANGED });\n };\n RowContainerHeightService.prototype.setModelHeight = function (modelHeight) {\n this.modelHeight = modelHeight;\n this.stretching = modelHeight != null // null happens when in print layout\n && this.maxDivHeight > 0\n && modelHeight > this.maxDivHeight;\n if (this.stretching) {\n this.calculateOffset();\n }\n else {\n this.clearOffset();\n }\n };\n RowContainerHeightService.prototype.getUiContainerHeight = function () {\n return this.uiContainerHeight;\n };\n RowContainerHeightService.prototype.getRealPixelPosition = function (modelPixel) {\n return modelPixel - this.divStretchOffset;\n };\n RowContainerHeightService.prototype.getUiBodyHeight = function () {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var pos = gridBodyCon.getScrollFeature().getVScrollPosition();\n return pos.bottom - pos.top;\n };\n RowContainerHeightService.prototype.getScrollPositionForPixel = function (rowTop) {\n if (this.pixelsToShave <= 0) {\n return rowTop;\n }\n var modelMaxScroll = this.modelHeight - this.getUiBodyHeight();\n var scrollPercent = rowTop / modelMaxScroll;\n var scrollPixel = this.maxScrollY * scrollPercent;\n return scrollPixel;\n };\n __decorate$s([\n Autowired('ctrlsService')\n ], RowContainerHeightService.prototype, \"ctrlsService\", void 0);\n __decorate$s([\n __param$1(0, Qualifier(\"loggerFactory\"))\n ], RowContainerHeightService.prototype, \"agWire\", null);\n __decorate$s([\n PostConstruct\n ], RowContainerHeightService.prototype, \"postConstruct\", null);\n RowContainerHeightService = __decorate$s([\n Bean('rowContainerHeightService')\n ], RowContainerHeightService);\n return RowContainerHeightService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SelectableService = /** @class */ (function (_super) {\n __extends$q(SelectableService, _super);\n function SelectableService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectableService.prototype.init = function () {\n this.groupSelectsChildren = this.gridOptionsWrapper.isGroupSelectsChildren();\n this.isRowSelectableFunc = this.gridOptionsWrapper.getIsRowSelectableFunc();\n };\n SelectableService.prototype.updateSelectableAfterGrouping = function (rowNode) {\n if (this.isRowSelectableFunc) {\n var nextChildrenFunc = function (node) { return node.childrenAfterGroup; };\n this.recurseDown(rowNode.childrenAfterGroup, nextChildrenFunc);\n }\n };\n SelectableService.prototype.recurseDown = function (children, nextChildrenFunc) {\n var _this = this;\n if (!children) {\n return;\n }\n children.forEach(function (child) {\n if (!child.group) {\n return;\n } // only interested in groups\n if (child.hasChildren()) {\n _this.recurseDown(nextChildrenFunc(child), nextChildrenFunc);\n }\n var rowSelectable;\n if (_this.groupSelectsChildren) {\n // have this group selectable if at least one direct child is selectable\n var firstSelectable = (nextChildrenFunc(child) || []).find(function (rowNode) { return rowNode.selectable === true; });\n rowSelectable = exists(firstSelectable);\n }\n else {\n // directly retrieve selectable value from user callback\n rowSelectable = _this.isRowSelectableFunc ? _this.isRowSelectableFunc(child) : false;\n }\n child.setRowSelectable(rowSelectable);\n });\n };\n __decorate$r([\n PostConstruct\n ], SelectableService.prototype, \"init\", null);\n SelectableService = __decorate$r([\n Bean('selectableService')\n ], SelectableService);\n return SelectableService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$p = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PaginationComp = /** @class */ (function (_super) {\n __extends$p(PaginationComp, _super);\n function PaginationComp() {\n var _this = _super.call(this) || this;\n _this.previousAndFirstButtonsDisabled = false;\n _this.nextButtonDisabled = false;\n _this.lastButtonDisabled = false;\n return _this;\n }\n PaginationComp.prototype.postConstruct = function () {\n var _this = this;\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n this.setTemplate(this.getTemplate());\n this.btFirst.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'last' : 'first', this.gridOptionsWrapper));\n this.btPrevious.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'next' : 'previous', this.gridOptionsWrapper));\n this.btNext.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'previous' : 'next', this.gridOptionsWrapper));\n this.btLast.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'first' : 'last', this.gridOptionsWrapper));\n var isPaging = this.gridOptionsWrapper.isPagination();\n var paginationPanelEnabled = isPaging && !this.gridOptionsWrapper.isSuppressPaginationPanel();\n if (!paginationPanelEnabled) {\n this.setDisplayed(false);\n return;\n }\n this.addManagedListener(this.eventService, Events.EVENT_PAGINATION_CHANGED, this.onPaginationChanged.bind(this));\n [\n { el: this.btFirst, fn: this.onBtFirst.bind(this) },\n { el: this.btPrevious, fn: this.onBtPrevious.bind(this) },\n { el: this.btNext, fn: this.onBtNext.bind(this) },\n { el: this.btLast, fn: this.onBtLast.bind(this) }\n ].forEach(function (item) {\n var el = item.el, fn = item.fn;\n _this.addManagedListener(el, 'click', fn);\n _this.addManagedListener(el, 'keydown', function (e) {\n if (e.key === KeyCode.ENTER || e.key === KeyCode.SPACE) {\n e.preventDefault();\n fn();\n }\n });\n });\n this.onPaginationChanged();\n };\n PaginationComp.prototype.onPaginationChanged = function () {\n this.enableOrDisableButtons();\n this.updateRowLabels();\n this.setCurrentPageLabel();\n this.setTotalLabels();\n };\n PaginationComp.prototype.onBtFirst = function () {\n if (!this.previousAndFirstButtonsDisabled) {\n this.paginationProxy.goToFirstPage();\n }\n };\n PaginationComp.prototype.setCurrentPageLabel = function () {\n var pagesExist = this.paginationProxy.getTotalPages() > 0;\n var currentPage = this.paginationProxy.getCurrentPage();\n var toDisplay = pagesExist ? currentPage + 1 : 0;\n this.lbCurrent.innerHTML = this.formatNumber(toDisplay);\n };\n PaginationComp.prototype.formatNumber = function (value) {\n var userFunc = this.gridOptionsWrapper.getPaginationNumberFormatterFunc();\n if (userFunc) {\n var params = { value: value };\n return userFunc(params);\n }\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var thousandSeparator = localeTextFunc('thousandSeparator', ',');\n var decimalSeparator = localeTextFunc('decimalSeparator', '.');\n return formatNumberCommas(value, thousandSeparator, decimalSeparator);\n };\n PaginationComp.prototype.getTemplate = function () {\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var strPage = localeTextFunc('page', 'Page');\n var strTo = localeTextFunc('to', 'to');\n var strOf = localeTextFunc('of', 'of');\n var strFirst = localeTextFunc('firstPage', 'First Page');\n var strPrevious = localeTextFunc('previousPage', 'Previous Page');\n var strNext = localeTextFunc('nextPage', 'Next Page');\n var strLast = localeTextFunc('lastPage', 'Last Page');\n var compId = this.getCompId();\n return /* html */ \"
\\n \\n \\n \" + strTo + \"\\n \\n \" + strOf + \"\\n \\n \\n \\n
\\n
\\n \\n \" + strPage + \"\\n \\n \" + strOf + \"\\n \\n \\n
\\n
\\n
\\n
\";\n };\n PaginationComp.prototype.onBtNext = function () {\n if (!this.nextButtonDisabled) {\n this.paginationProxy.goToNextPage();\n }\n };\n PaginationComp.prototype.onBtPrevious = function () {\n if (!this.previousAndFirstButtonsDisabled) {\n this.paginationProxy.goToPreviousPage();\n }\n };\n PaginationComp.prototype.onBtLast = function () {\n if (!this.lastButtonDisabled) {\n this.paginationProxy.goToLastPage();\n }\n };\n PaginationComp.prototype.enableOrDisableButtons = function () {\n var currentPage = this.paginationProxy.getCurrentPage();\n var maxRowFound = this.paginationProxy.isLastPageFound();\n var totalPages = this.paginationProxy.getTotalPages();\n this.previousAndFirstButtonsDisabled = currentPage === 0;\n this.toggleButtonDisabled(this.btFirst, this.previousAndFirstButtonsDisabled);\n this.toggleButtonDisabled(this.btPrevious, this.previousAndFirstButtonsDisabled);\n var zeroPagesToDisplay = this.isZeroPagesToDisplay();\n var onLastPage = maxRowFound && currentPage === (totalPages - 1);\n this.nextButtonDisabled = onLastPage || zeroPagesToDisplay;\n this.lastButtonDisabled = !maxRowFound || zeroPagesToDisplay || currentPage === (totalPages - 1);\n this.toggleButtonDisabled(this.btNext, this.nextButtonDisabled);\n this.toggleButtonDisabled(this.btLast, this.lastButtonDisabled);\n };\n PaginationComp.prototype.toggleButtonDisabled = function (button, disabled) {\n setAriaDisabled(button, disabled);\n button.classList.toggle('ag-disabled', disabled);\n if (disabled) {\n button.removeAttribute('tabindex');\n }\n else {\n button.setAttribute('tabindex', '0');\n }\n };\n PaginationComp.prototype.updateRowLabels = function () {\n var currentPage = this.paginationProxy.getCurrentPage();\n var pageSize = this.paginationProxy.getPageSize();\n var maxRowFound = this.paginationProxy.isLastPageFound();\n var rowCount = this.paginationProxy.isLastPageFound() ?\n this.paginationProxy.getMasterRowCount() : null;\n var startRow;\n var endRow;\n if (this.isZeroPagesToDisplay()) {\n startRow = endRow = 0;\n }\n else {\n startRow = (pageSize * currentPage) + 1;\n endRow = startRow + pageSize - 1;\n if (maxRowFound && endRow > rowCount) {\n endRow = rowCount;\n }\n }\n this.lbFirstRowOnPage.innerHTML = this.formatNumber(startRow);\n if (this.rowNodeBlockLoader.isLoading()) {\n this.lbLastRowOnPage.innerHTML = '?';\n }\n else {\n this.lbLastRowOnPage.innerHTML = this.formatNumber(endRow);\n }\n };\n PaginationComp.prototype.isZeroPagesToDisplay = function () {\n var maxRowFound = this.paginationProxy.isLastPageFound();\n var totalPages = this.paginationProxy.getTotalPages();\n return maxRowFound && totalPages === 0;\n };\n PaginationComp.prototype.setTotalLabels = function () {\n var lastPageFound = this.paginationProxy.isLastPageFound();\n var totalPages = this.paginationProxy.getTotalPages();\n var rowCount = lastPageFound ? this.paginationProxy.getMasterRowCount() : null;\n // When `pivotMode=true` and no grouping or value columns exist, a single 'hidden' group row (root node) is in\n // the grid and the pagination totals will correctly display total = 1. However this is confusing to users as\n // they can't see it. To address this UX issue we simply set the totals to zero in the pagination panel.\n if (rowCount === 1) {\n var firstRow = this.paginationProxy.getRow(0);\n // a group node with no group or agg data will not be visible to users\n var hiddenGroupRow = firstRow && firstRow.group && !(firstRow.groupData || firstRow.aggData);\n if (hiddenGroupRow) {\n this.setTotalLabelsToZero();\n return;\n }\n }\n if (lastPageFound) {\n this.lbTotal.innerHTML = this.formatNumber(totalPages);\n this.lbRecordCount.innerHTML = this.formatNumber(rowCount);\n }\n else {\n var moreText = this.gridOptionsWrapper.getLocaleTextFunc()('more', 'more');\n this.lbTotal.innerHTML = moreText;\n this.lbRecordCount.innerHTML = moreText;\n }\n };\n PaginationComp.prototype.setTotalLabelsToZero = function () {\n this.lbFirstRowOnPage.innerHTML = this.formatNumber(0);\n this.lbCurrent.innerHTML = this.formatNumber(0);\n this.lbLastRowOnPage.innerHTML = this.formatNumber(0);\n this.lbTotal.innerHTML = this.formatNumber(0);\n this.lbRecordCount.innerHTML = this.formatNumber(0);\n };\n __decorate$q([\n Autowired('paginationProxy')\n ], PaginationComp.prototype, \"paginationProxy\", void 0);\n __decorate$q([\n Autowired('rowNodeBlockLoader')\n ], PaginationComp.prototype, \"rowNodeBlockLoader\", void 0);\n __decorate$q([\n RefSelector('btFirst')\n ], PaginationComp.prototype, \"btFirst\", void 0);\n __decorate$q([\n RefSelector('btPrevious')\n ], PaginationComp.prototype, \"btPrevious\", void 0);\n __decorate$q([\n RefSelector('btNext')\n ], PaginationComp.prototype, \"btNext\", void 0);\n __decorate$q([\n RefSelector('btLast')\n ], PaginationComp.prototype, \"btLast\", void 0);\n __decorate$q([\n RefSelector('lbRecordCount')\n ], PaginationComp.prototype, \"lbRecordCount\", void 0);\n __decorate$q([\n RefSelector('lbFirstRowOnPage')\n ], PaginationComp.prototype, \"lbFirstRowOnPage\", void 0);\n __decorate$q([\n RefSelector('lbLastRowOnPage')\n ], PaginationComp.prototype, \"lbLastRowOnPage\", void 0);\n __decorate$q([\n RefSelector('lbCurrent')\n ], PaginationComp.prototype, \"lbCurrent\", void 0);\n __decorate$q([\n RefSelector('lbTotal')\n ], PaginationComp.prototype, \"lbTotal\", void 0);\n __decorate$q([\n PostConstruct\n ], PaginationComp.prototype, \"postConstruct\", null);\n return PaginationComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$o = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar LoadingType;\n(function (LoadingType) {\n LoadingType[LoadingType[\"Loading\"] = 0] = \"Loading\";\n LoadingType[LoadingType[\"NoRows\"] = 1] = \"NoRows\";\n})(LoadingType || (LoadingType = {}));\nvar OverlayWrapperComponent = /** @class */ (function (_super) {\n __extends$o(OverlayWrapperComponent, _super);\n function OverlayWrapperComponent() {\n var _this = _super.call(this, OverlayWrapperComponent.TEMPLATE) || this;\n _this.inProgress = false;\n _this.destroyRequested = false;\n _this.manuallyDisplayed = false;\n return _this;\n }\n OverlayWrapperComponent.prototype.updateLayoutClasses = function (cssClass, params) {\n var overlayWrapperClassList = this.eOverlayWrapper.classList;\n overlayWrapperClassList.toggle(LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n overlayWrapperClassList.toggle(LayoutCssClasses.NORMAL, params.normal);\n overlayWrapperClassList.toggle(LayoutCssClasses.PRINT, params.print);\n };\n OverlayWrapperComponent.prototype.postConstruct = function () {\n this.createManagedBean(new LayoutFeature(this));\n this.setDisplayed(false);\n this.addManagedListener(this.eventService, Events.EVENT_ROW_DATA_UPDATED, this.onRowDataUpdated.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onNewColumnsLoaded.bind(this));\n if (this.gridOptionsWrapper.isRowModelDefault() && !this.gridOptionsWrapper.getRowData()) {\n this.showLoadingOverlay();\n }\n this.gridApi.registerOverlayWrapperComp(this);\n };\n OverlayWrapperComponent.prototype.setWrapperTypeClass = function (loadingType) {\n var overlayWrapperClassList = this.eOverlayWrapper.classList;\n overlayWrapperClassList.toggle('ag-overlay-loading-wrapper', loadingType === LoadingType.Loading);\n overlayWrapperClassList.toggle('ag-overlay-no-rows-wrapper', loadingType === LoadingType.NoRows);\n };\n OverlayWrapperComponent.prototype.showLoadingOverlay = function () {\n if (this.gridOptionsWrapper.isSuppressLoadingOverlay()) {\n return;\n }\n var params = {};\n var compDetails = this.userComponentFactory.getLoadingOverlayCompDetails(params);\n var promise = compDetails.newAgStackInstance();\n this.showOverlay(promise, LoadingType.Loading);\n };\n OverlayWrapperComponent.prototype.showNoRowsOverlay = function () {\n if (this.gridOptionsWrapper.isSuppressNoRowsOverlay()) {\n return;\n }\n var params = {};\n var compDetails = this.userComponentFactory.getNoRowsOverlayCompDetails(params);\n var promise = compDetails.newAgStackInstance();\n this.showOverlay(promise, LoadingType.NoRows);\n };\n OverlayWrapperComponent.prototype.showOverlay = function (workItem, type) {\n var _this = this;\n if (this.inProgress) {\n return;\n }\n this.setWrapperTypeClass(type);\n this.destroyActiveOverlay();\n this.inProgress = true;\n if (workItem) {\n workItem.then(function (comp) {\n _this.inProgress = false;\n _this.eOverlayWrapper.appendChild(comp.getGui());\n _this.activeOverlay = comp;\n if (_this.destroyRequested) {\n _this.destroyRequested = false;\n _this.destroyActiveOverlay();\n }\n });\n }\n this.manuallyDisplayed = this.columnModel.isReady() && !this.paginationProxy.isEmpty();\n this.setDisplayed(true);\n };\n OverlayWrapperComponent.prototype.destroyActiveOverlay = function () {\n if (this.inProgress) {\n this.destroyRequested = true;\n return;\n }\n if (!this.activeOverlay) {\n return;\n }\n this.activeOverlay = this.getContext().destroyBean(this.activeOverlay);\n clearElement(this.eOverlayWrapper);\n };\n OverlayWrapperComponent.prototype.hideOverlay = function () {\n this.manuallyDisplayed = false;\n this.destroyActiveOverlay();\n this.setDisplayed(false);\n };\n OverlayWrapperComponent.prototype.destroy = function () {\n this.destroyActiveOverlay();\n _super.prototype.destroy.call(this);\n };\n OverlayWrapperComponent.prototype.showOrHideOverlay = function () {\n var isEmpty = this.paginationProxy.isEmpty();\n var isSuppressNoRowsOverlay = this.gridOptionsWrapper.isSuppressNoRowsOverlay();\n if (isEmpty && !isSuppressNoRowsOverlay) {\n this.showNoRowsOverlay();\n }\n else {\n this.hideOverlay();\n }\n };\n OverlayWrapperComponent.prototype.onRowDataUpdated = function () {\n this.showOrHideOverlay();\n };\n OverlayWrapperComponent.prototype.onNewColumnsLoaded = function () {\n // hide overlay if columns and rows exist, this can happen if columns are loaded after data.\n // this problem exists before of the race condition between the services (column controller in this case)\n // and the view (grid panel). if the model beans were all initialised first, and then the view beans second,\n // this race condition would not happen.\n if (this.columnModel.isReady() && !this.paginationProxy.isEmpty() && !this.manuallyDisplayed) {\n this.hideOverlay();\n }\n };\n // wrapping in outer div, and wrapper, is needed to center the loading icon\n // The idea for centering came from here: http://www.vanseodesign.com/css/vertical-centering/\n OverlayWrapperComponent.TEMPLATE = \"\\n
\\n
\\n
\\n
\\n
\";\n __decorate$p([\n Autowired('userComponentFactory')\n ], OverlayWrapperComponent.prototype, \"userComponentFactory\", void 0);\n __decorate$p([\n Autowired('paginationProxy')\n ], OverlayWrapperComponent.prototype, \"paginationProxy\", void 0);\n __decorate$p([\n Autowired('gridApi')\n ], OverlayWrapperComponent.prototype, \"gridApi\", void 0);\n __decorate$p([\n Autowired('columnModel')\n ], OverlayWrapperComponent.prototype, \"columnModel\", void 0);\n __decorate$p([\n RefSelector('eOverlayWrapper')\n ], OverlayWrapperComponent.prototype, \"eOverlayWrapper\", void 0);\n __decorate$p([\n PostConstruct\n ], OverlayWrapperComponent.prototype, \"postConstruct\", null);\n return OverlayWrapperComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$n = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowPositionUtils = /** @class */ (function (_super) {\n __extends$n(RowPositionUtils, _super);\n function RowPositionUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RowPositionUtils.prototype.getFirstRow = function () {\n var rowIndex = 0;\n var rowPinned;\n if (this.pinnedRowModel.getPinnedTopRowCount()) {\n rowPinned = Constants.PINNED_TOP;\n }\n else if (this.rowModel.getRowCount()) {\n rowPinned = null;\n rowIndex = this.paginationProxy.getPageFirstRow();\n }\n else if (this.pinnedRowModel.getPinnedBottomRowCount()) {\n rowPinned = Constants.PINNED_BOTTOM;\n }\n return rowPinned === undefined ? null : { rowIndex: rowIndex, rowPinned: rowPinned };\n };\n RowPositionUtils.prototype.getLastRow = function () {\n var rowIndex;\n var rowPinned = null;\n var pinnedBottomCount = this.pinnedRowModel.getPinnedBottomRowCount();\n var pinnedTopCount = this.pinnedRowModel.getPinnedTopRowCount();\n if (pinnedBottomCount) {\n rowPinned = Constants.PINNED_BOTTOM;\n rowIndex = pinnedBottomCount - 1;\n }\n else if (this.rowModel.getRowCount()) {\n rowPinned = null;\n rowIndex = this.paginationProxy.getPageLastRow();\n }\n else if (pinnedTopCount) {\n rowPinned = Constants.PINNED_TOP;\n rowIndex = pinnedTopCount - 1;\n }\n return rowIndex === undefined ? null : { rowIndex: rowIndex, rowPinned: rowPinned };\n };\n RowPositionUtils.prototype.getRowNode = function (gridRow) {\n switch (gridRow.rowPinned) {\n case Constants.PINNED_TOP:\n return this.pinnedRowModel.getPinnedTopRowData()[gridRow.rowIndex];\n case Constants.PINNED_BOTTOM:\n return this.pinnedRowModel.getPinnedBottomRowData()[gridRow.rowIndex];\n default:\n return this.rowModel.getRow(gridRow.rowIndex);\n }\n };\n RowPositionUtils.prototype.sameRow = function (rowA, rowB) {\n // if both missing\n if (!rowA && !rowB) {\n return true;\n }\n // if only one missing\n if ((rowA && !rowB) || (!rowA && rowB)) {\n return false;\n }\n // otherwise compare (use == to compare rowPinned because it can be null or undefined)\n return rowA.rowIndex === rowB.rowIndex && rowA.rowPinned == rowB.rowPinned;\n };\n // tests if this row selection is before the other row selection\n RowPositionUtils.prototype.before = function (rowA, rowB) {\n switch (rowA.rowPinned) {\n case Constants.PINNED_TOP:\n // we we are floating top, and other isn't, then we are always before\n if (rowB.rowPinned !== Constants.PINNED_TOP) {\n return true;\n }\n break;\n case Constants.PINNED_BOTTOM:\n // if we are floating bottom, and the other isn't, then we are never before\n if (rowB.rowPinned !== Constants.PINNED_BOTTOM) {\n return false;\n }\n break;\n default:\n // if we are not floating, but the other one is floating...\n if (exists(rowB.rowPinned)) {\n return rowB.rowPinned !== Constants.PINNED_TOP;\n }\n break;\n }\n return rowA.rowIndex < rowB.rowIndex;\n };\n RowPositionUtils.prototype.rowMax = function (rows) {\n var _this = this;\n var max;\n rows.forEach(function (row) {\n if (max === undefined || _this.before(max, row)) {\n max = row;\n }\n });\n return max;\n };\n RowPositionUtils.prototype.rowMin = function (rows) {\n var _this = this;\n var min;\n rows.forEach(function (row) {\n if (min === undefined || _this.before(row, min)) {\n min = row;\n }\n });\n return min;\n };\n __decorate$o([\n Autowired('rowModel')\n ], RowPositionUtils.prototype, \"rowModel\", void 0);\n __decorate$o([\n Autowired('pinnedRowModel')\n ], RowPositionUtils.prototype, \"pinnedRowModel\", void 0);\n __decorate$o([\n Autowired('paginationProxy')\n ], RowPositionUtils.prototype, \"paginationProxy\", void 0);\n RowPositionUtils = __decorate$o([\n Bean('rowPositionUtils')\n ], RowPositionUtils);\n return RowPositionUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$m = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CellPositionUtils = /** @class */ (function (_super) {\n __extends$m(CellPositionUtils, _super);\n function CellPositionUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CellPositionUtils.prototype.createId = function (cellPosition) {\n var rowIndex = cellPosition.rowIndex, rowPinned = cellPosition.rowPinned, column = cellPosition.column;\n return this.createIdFromValues(rowIndex, column, rowPinned);\n };\n CellPositionUtils.prototype.createIdFromValues = function (rowIndex, column, rowPinned) {\n return rowIndex + \".\" + (rowPinned == null ? 'null' : rowPinned) + \".\" + column.getId();\n };\n CellPositionUtils.prototype.equals = function (cellA, cellB) {\n var colsMatch = cellA.column === cellB.column;\n var floatingMatch = cellA.rowPinned === cellB.rowPinned;\n var indexMatch = cellA.rowIndex === cellB.rowIndex;\n return colsMatch && floatingMatch && indexMatch;\n };\n CellPositionUtils = __decorate$n([\n Bean('cellPositionUtils')\n ], CellPositionUtils);\n return CellPositionUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$l = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar UndoRedoAction = /** @class */ (function () {\n function UndoRedoAction(cellValueChanges) {\n this.cellValueChanges = cellValueChanges;\n }\n return UndoRedoAction;\n}());\nvar RangeUndoRedoAction = /** @class */ (function (_super) {\n __extends$l(RangeUndoRedoAction, _super);\n function RangeUndoRedoAction(cellValueChanges, initialRange, finalRange, ranges) {\n var _this = _super.call(this, cellValueChanges) || this;\n _this.initialRange = initialRange;\n _this.finalRange = finalRange;\n _this.ranges = ranges;\n return _this;\n }\n return RangeUndoRedoAction;\n}(UndoRedoAction));\nvar UndoRedoStack = /** @class */ (function () {\n function UndoRedoStack(maxStackSize) {\n this.actionStack = [];\n this.maxStackSize = maxStackSize ? maxStackSize : UndoRedoStack.DEFAULT_STACK_SIZE;\n this.actionStack = new Array(this.maxStackSize);\n }\n UndoRedoStack.prototype.pop = function () {\n return this.actionStack.pop();\n };\n UndoRedoStack.prototype.push = function (item) {\n var shouldAddActions = item.cellValueChanges && item.cellValueChanges.length > 0;\n if (!shouldAddActions) {\n return;\n }\n if (this.actionStack.length === this.maxStackSize) {\n this.actionStack.shift();\n }\n this.actionStack.push(item);\n };\n UndoRedoStack.prototype.clear = function () {\n this.actionStack = [];\n };\n UndoRedoStack.prototype.getCurrentStackSize = function () {\n return this.actionStack.length;\n };\n UndoRedoStack.DEFAULT_STACK_SIZE = 10;\n return UndoRedoStack;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$k = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$3 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$2 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$3(arguments[i]));\n return ar;\n};\nvar UndoRedoService = /** @class */ (function (_super) {\n __extends$k(UndoRedoService, _super);\n function UndoRedoService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cellValueChanges = [];\n _this.activeCellEdit = null;\n _this.activeRowEdit = null;\n _this.isPasting = false;\n _this.isRangeInAction = false;\n _this.onCellValueChanged = function (event) {\n var eventCell = { column: event.column, rowIndex: event.rowIndex, rowPinned: event.rowPinned };\n var isCellEditing = _this.activeCellEdit !== null && _this.cellPositionUtils.equals(_this.activeCellEdit, eventCell);\n var isRowEditing = _this.activeRowEdit !== null && _this.rowPositionUtils.sameRow(_this.activeRowEdit, eventCell);\n var shouldCaptureAction = isCellEditing || isRowEditing || _this.isPasting || _this.isRangeInAction;\n if (!shouldCaptureAction) {\n return;\n }\n var rowPinned = event.rowPinned, rowIndex = event.rowIndex, column = event.column, oldValue = event.oldValue, value = event.value;\n var cellValueChange = {\n rowPinned: rowPinned,\n rowIndex: rowIndex,\n columnId: column.getColId(),\n newValue: value,\n oldValue: oldValue\n };\n _this.cellValueChanges.push(cellValueChange);\n };\n _this.clearStacks = function () {\n _this.undoStack.clear();\n _this.redoStack.clear();\n };\n return _this;\n }\n UndoRedoService.prototype.init = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isUndoRedoCellEditing()) {\n return;\n }\n var undoRedoLimit = this.gridOptionsWrapper.getUndoRedoCellEditingLimit();\n if (undoRedoLimit <= 0) {\n return;\n }\n this.undoStack = new UndoRedoStack(undoRedoLimit);\n this.redoStack = new UndoRedoStack(undoRedoLimit);\n this.addRowEditingListeners();\n this.addCellEditingListeners();\n this.addPasteListeners();\n this.addFillListeners();\n this.addCellKeyListeners();\n this.addManagedListener(this.eventService, Events.EVENT_CELL_VALUE_CHANGED, this.onCellValueChanged);\n // undo / redo is restricted to actual editing so we clear the stacks when other operations are\n // performed that change the order of the row / cols.\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, function (e) {\n if (!e.keepUndoRedoStack) {\n _this.clearStacks();\n }\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_GROUP_OPENED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_MOVED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PINNED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VISIBLE, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_ROW_DRAG_END, this.clearStacks);\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCtrl = _this.ctrlsService.getGridBodyCtrl();\n });\n };\n UndoRedoService.prototype.getCurrentUndoStackSize = function () {\n return this.undoStack ? this.undoStack.getCurrentStackSize() : 0;\n };\n UndoRedoService.prototype.getCurrentRedoStackSize = function () {\n return this.redoStack ? this.redoStack.getCurrentStackSize() : 0;\n };\n UndoRedoService.prototype.undo = function () {\n if (!this.undoStack) {\n return;\n }\n var undoAction = this.undoStack.pop();\n if (!undoAction || !undoAction.cellValueChanges) {\n return;\n }\n this.processAction(undoAction, function (cellValueChange) { return cellValueChange.oldValue; });\n if (undoAction instanceof RangeUndoRedoAction) {\n this.processRange(undoAction.ranges || [undoAction.initialRange]);\n }\n else {\n this.processCell(undoAction.cellValueChanges);\n }\n this.redoStack.push(undoAction);\n };\n UndoRedoService.prototype.redo = function () {\n if (!this.redoStack) {\n return;\n }\n var redoAction = this.redoStack.pop();\n if (!redoAction || !redoAction.cellValueChanges) {\n return;\n }\n this.processAction(redoAction, function (cellValueChange) { return cellValueChange.newValue; });\n if (redoAction instanceof RangeUndoRedoAction) {\n this.processRange(redoAction.ranges || [redoAction.finalRange]);\n }\n else {\n this.processCell(redoAction.cellValueChanges);\n }\n this.undoStack.push(redoAction);\n };\n UndoRedoService.prototype.processAction = function (action, valueExtractor) {\n var _this = this;\n action.cellValueChanges.forEach(function (cellValueChange) {\n var _a;\n var rowIndex = cellValueChange.rowIndex, rowPinned = cellValueChange.rowPinned, columnId = cellValueChange.columnId;\n var rowPosition = { rowIndex: rowIndex, rowPinned: rowPinned };\n var currentRow = _this.getRowNode(rowPosition);\n // checks if the row has been filtered out\n if (!currentRow.displayed) {\n return;\n }\n var extractedValue = valueExtractor(cellValueChange);\n // when values are 'complex objects' we need to invoke their `toString()` to obtain value\n var value = (typeof ((_a = extractedValue) === null || _a === void 0 ? void 0 : _a.toString) === 'function') ? extractedValue.toString() : extractedValue;\n currentRow.setDataValue(columnId, value);\n });\n };\n UndoRedoService.prototype.processRange = function (ranges) {\n var _this = this;\n var lastFocusedCell;\n this.rangeService.removeAllCellRanges(true);\n ranges.forEach(function (range, idx) {\n if (!range) {\n return;\n }\n var startRow = range.startRow;\n var endRow = range.endRow;\n if (idx === ranges.length - 1) {\n lastFocusedCell = {\n rowPinned: startRow.rowPinned,\n rowIndex: startRow.rowIndex,\n columnId: range.startColumn.getColId()\n };\n _this.setLastFocusedCell(lastFocusedCell);\n }\n var cellRangeParams = {\n rowStartIndex: startRow.rowIndex,\n rowStartPinned: startRow.rowPinned,\n rowEndIndex: endRow.rowIndex,\n rowEndPinned: endRow.rowPinned,\n columnStart: range.startColumn,\n columns: range.columns\n };\n _this.rangeService.addCellRange(cellRangeParams);\n });\n };\n UndoRedoService.prototype.processCell = function (cellValueChanges) {\n var cellValueChange = cellValueChanges[0];\n var rowIndex = cellValueChange.rowIndex, rowPinned = cellValueChange.rowPinned;\n var rowPosition = { rowIndex: rowIndex, rowPinned: rowPinned };\n var row = this.getRowNode(rowPosition);\n var lastFocusedCell = {\n rowPinned: cellValueChange.rowPinned,\n rowIndex: row.rowIndex,\n columnId: cellValueChange.columnId\n };\n this.setLastFocusedCell(lastFocusedCell, true);\n };\n UndoRedoService.prototype.setLastFocusedCell = function (lastFocusedCell, setRangeToCell) {\n var rowIndex = lastFocusedCell.rowIndex, columnId = lastFocusedCell.columnId, rowPinned = lastFocusedCell.rowPinned;\n var scrollFeature = this.gridBodyCtrl.getScrollFeature();\n var column = this.columnModel.getGridColumn(columnId);\n if (!column) {\n return;\n }\n scrollFeature.ensureIndexVisible(rowIndex);\n scrollFeature.ensureColumnVisible(column);\n var cellPosition = { rowIndex: rowIndex, column: column, rowPinned: rowPinned };\n this.focusService.setFocusedCell(__assign(__assign({}, cellPosition), { forceBrowserFocus: true }));\n if (setRangeToCell) {\n this.rangeService.setRangeToCell(cellPosition);\n }\n };\n UndoRedoService.prototype.addRowEditingListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_ROW_EDITING_STARTED, function (e) {\n _this.activeRowEdit = { rowIndex: e.rowIndex, rowPinned: e.rowPinned };\n });\n this.addManagedListener(this.eventService, Events.EVENT_ROW_EDITING_STOPPED, function () {\n var action = new UndoRedoAction(_this.cellValueChanges);\n _this.pushActionsToUndoStack(action);\n _this.activeRowEdit = null;\n });\n };\n UndoRedoService.prototype.addCellEditingListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_CELL_EDITING_STARTED, function (e) {\n _this.activeCellEdit = { column: e.column, rowIndex: e.rowIndex, rowPinned: e.rowPinned };\n });\n this.addManagedListener(this.eventService, Events.EVENT_CELL_EDITING_STOPPED, function (e) {\n _this.activeCellEdit = null;\n var shouldPushAction = e.valueChanged && !_this.activeRowEdit && !_this.isPasting && !_this.isRangeInAction;\n if (shouldPushAction) {\n var action = new UndoRedoAction(_this.cellValueChanges);\n _this.pushActionsToUndoStack(action);\n }\n });\n };\n UndoRedoService.prototype.addPasteListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_PASTE_START, function () {\n _this.isPasting = true;\n });\n this.addManagedListener(this.eventService, Events.EVENT_PASTE_END, function () {\n var action = new UndoRedoAction(_this.cellValueChanges);\n _this.pushActionsToUndoStack(action);\n _this.isPasting = false;\n });\n };\n UndoRedoService.prototype.addFillListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_FILL_START, function () {\n _this.isRangeInAction = true;\n });\n this.addManagedListener(this.eventService, Events.EVENT_FILL_END, function (event) {\n var action = new RangeUndoRedoAction(_this.cellValueChanges, event.initialRange, event.finalRange);\n _this.pushActionsToUndoStack(action);\n _this.isRangeInAction = false;\n });\n };\n UndoRedoService.prototype.addCellKeyListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_START, function () {\n _this.isRangeInAction = true;\n });\n this.addManagedListener(this.eventService, Events.EVENT_KEY_SHORTCUT_CHANGED_CELL_END, function () {\n var action;\n if (_this.rangeService && _this.gridOptionsWrapper.isEnableRangeSelection()) {\n action = new RangeUndoRedoAction(_this.cellValueChanges, undefined, undefined, __spread$2(_this.rangeService.getCellRanges()));\n }\n else {\n action = new UndoRedoAction(_this.cellValueChanges);\n }\n _this.pushActionsToUndoStack(action);\n _this.isRangeInAction = false;\n });\n };\n UndoRedoService.prototype.pushActionsToUndoStack = function (action) {\n this.undoStack.push(action);\n this.cellValueChanges = [];\n this.redoStack.clear();\n };\n UndoRedoService.prototype.getRowNode = function (gridRow) {\n switch (gridRow.rowPinned) {\n case Constants.PINNED_TOP:\n return this.pinnedRowModel.getPinnedTopRowData()[gridRow.rowIndex];\n case Constants.PINNED_BOTTOM:\n return this.pinnedRowModel.getPinnedBottomRowData()[gridRow.rowIndex];\n default:\n return this.rowModel.getRow(gridRow.rowIndex);\n }\n };\n __decorate$m([\n Autowired('focusService')\n ], UndoRedoService.prototype, \"focusService\", void 0);\n __decorate$m([\n Autowired('ctrlsService')\n ], UndoRedoService.prototype, \"ctrlsService\", void 0);\n __decorate$m([\n Autowired('rowModel')\n ], UndoRedoService.prototype, \"rowModel\", void 0);\n __decorate$m([\n Autowired('pinnedRowModel')\n ], UndoRedoService.prototype, \"pinnedRowModel\", void 0);\n __decorate$m([\n Autowired('cellPositionUtils')\n ], UndoRedoService.prototype, \"cellPositionUtils\", void 0);\n __decorate$m([\n Autowired('rowPositionUtils')\n ], UndoRedoService.prototype, \"rowPositionUtils\", void 0);\n __decorate$m([\n Autowired('columnModel')\n ], UndoRedoService.prototype, \"columnModel\", void 0);\n __decorate$m([\n Optional('rangeService')\n ], UndoRedoService.prototype, \"rangeService\", void 0);\n __decorate$m([\n PostConstruct\n ], UndoRedoService.prototype, \"init\", null);\n UndoRedoService = __decorate$m([\n Bean('undoRedoService')\n ], UndoRedoService);\n return UndoRedoService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$j = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderPositionUtils = /** @class */ (function (_super) {\n __extends$j(HeaderPositionUtils, _super);\n function HeaderPositionUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderPositionUtils.prototype.findHeader = function (focusedHeader, direction) {\n var nextColumn;\n var getGroupMethod;\n var getColMethod;\n if (focusedHeader.column instanceof ColumnGroup) {\n getGroupMethod = \"getDisplayedGroup\" + direction;\n nextColumn = this.columnModel[getGroupMethod](focusedHeader.column);\n }\n else {\n getColMethod = \"getDisplayedCol\" + direction;\n nextColumn = this.columnModel[getColMethod](focusedHeader.column);\n }\n if (nextColumn) {\n return {\n column: nextColumn,\n headerRowIndex: focusedHeader.headerRowIndex\n };\n }\n };\n HeaderPositionUtils.prototype.findColAtEdgeForHeaderRow = function (level, position) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var column = displayedColumns[position === 'start' ? 0 : displayedColumns.length - 1];\n if (!column) {\n return;\n }\n var childContainer = this.ctrlsService.getHeaderRowContainerCtrl(column.getPinned());\n var type = childContainer.getRowType(level);\n if (type == HeaderRowType.COLUMN_GROUP) {\n var columnGroup = this.columnModel.getColumnGroupAtLevel(column, level);\n return {\n headerRowIndex: level,\n column: columnGroup\n };\n }\n return {\n // if type==null, means the header level didn't exist\n headerRowIndex: type == null ? -1 : level,\n column: column\n };\n };\n __decorate$l([\n Autowired('columnModel')\n ], HeaderPositionUtils.prototype, \"columnModel\", void 0);\n __decorate$l([\n Autowired('ctrlsService')\n ], HeaderPositionUtils.prototype, \"ctrlsService\", void 0);\n HeaderPositionUtils = __decorate$l([\n Bean('headerPositionUtils')\n ], HeaderPositionUtils);\n return HeaderPositionUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnDefFactory = /** @class */ (function () {\n function ColumnDefFactory() {\n }\n ColumnDefFactory.prototype.buildColumnDefs = function (cols, rowGroupColumns, pivotColumns) {\n var _this = this;\n var res = [];\n var colGroupDefs = {};\n cols.forEach(function (col) {\n var colDef = _this.createDefFromColumn(col, rowGroupColumns, pivotColumns);\n var addToResult = true;\n var childDef = colDef;\n var pointer = col.getOriginalParent();\n while (pointer) {\n var parentDef = null;\n // we don't include padding groups, as the column groups provided\n // by application didn't have these. the whole point of padding groups\n // is to balance the column tree that the user provided.\n if (pointer.isPadding()) {\n pointer = pointer.getOriginalParent();\n continue;\n }\n // if colDef for this group already exists, use it\n var existingParentDef = colGroupDefs[pointer.getGroupId()];\n if (existingParentDef) {\n existingParentDef.children.push(childDef);\n // if we added to result, it would be the second time we did it\n addToResult = false;\n // we don't want to continue up the tree, as it has already been\n // done for this group\n break;\n }\n parentDef = _this.createDefFromGroup(pointer);\n if (parentDef) {\n parentDef.children = [childDef];\n colGroupDefs[parentDef.groupId] = parentDef;\n childDef = parentDef;\n pointer = pointer.getOriginalParent();\n }\n }\n if (addToResult) {\n res.push(childDef);\n }\n });\n return res;\n };\n ColumnDefFactory.prototype.createDefFromGroup = function (group) {\n var defCloned = deepCloneDefinition(group.getColGroupDef(), ['children']);\n if (defCloned) {\n defCloned.groupId = group.getGroupId();\n }\n return defCloned;\n };\n ColumnDefFactory.prototype.createDefFromColumn = function (col, rowGroupColumns, pivotColumns) {\n var colDefCloned = deepCloneDefinition(col.getColDef());\n colDefCloned.colId = col.getColId();\n colDefCloned.width = col.getActualWidth();\n colDefCloned.rowGroup = col.isRowGroupActive();\n colDefCloned.rowGroupIndex = col.isRowGroupActive() ? rowGroupColumns.indexOf(col) : null;\n colDefCloned.pivot = col.isPivotActive();\n colDefCloned.pivotIndex = col.isPivotActive() ? pivotColumns.indexOf(col) : null;\n colDefCloned.aggFunc = col.isValueActive() ? col.getAggFunc() : null;\n colDefCloned.hide = col.isVisible() ? undefined : true;\n colDefCloned.pinned = col.isPinned() ? col.getPinned() : null;\n colDefCloned.sort = col.getSort() ? col.getSort() : null;\n colDefCloned.sortIndex = col.getSortIndex() != null ? col.getSortIndex() : null;\n return colDefCloned;\n };\n ColumnDefFactory = __decorate$k([\n Bean('columnDefFactory')\n ], ColumnDefFactory);\n return ColumnDefFactory;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowCssClassCalculator = /** @class */ (function () {\n function RowCssClassCalculator() {\n }\n RowCssClassCalculator.prototype.getInitialRowClasses = function (params) {\n var classes = [];\n if (exists(params.extraCssClass)) {\n classes.push(params.extraCssClass);\n }\n classes.push('ag-row');\n classes.push(params.rowFocused ? 'ag-row-focus' : 'ag-row-no-focus');\n if (params.fadeRowIn) {\n classes.push('ag-opacity-zero');\n }\n classes.push(params.rowIsEven ? 'ag-row-even' : 'ag-row-odd');\n if (params.rowNode.isRowPinned()) {\n classes.push('ag-row-pinned');\n }\n if (params.rowNode.isSelected()) {\n classes.push('ag-row-selected');\n }\n if (params.rowNode.footer) {\n classes.push('ag-row-footer');\n }\n classes.push('ag-row-level-' + params.rowLevel);\n if (params.rowNode.stub) {\n classes.push('ag-row-loading');\n }\n if (params.fullWidthRow) {\n classes.push('ag-full-width-row');\n }\n if (params.expandable) {\n classes.push('ag-row-group');\n classes.push(params.rowNode.expanded ? 'ag-row-group-expanded' : 'ag-row-group-contracted');\n }\n if (params.rowNode.dragging) {\n classes.push('ag-row-dragging');\n }\n pushAll(classes, this.processClassesFromGridOptions(params.rowNode));\n pushAll(classes, this.preProcessRowClassRules(params.rowNode));\n // we use absolute position unless we are doing print layout\n classes.push(params.printLayout ? 'ag-row-position-relative' : 'ag-row-position-absolute');\n if (params.firstRowOnPage) {\n classes.push('ag-row-first');\n }\n if (params.lastRowOnPage) {\n classes.push('ag-row-last');\n }\n if (params.fullWidthRow) {\n if (params.pinned === Constants.PINNED_LEFT) {\n classes.push('ag-cell-last-left-pinned');\n }\n if (params.pinned === Constants.PINNED_RIGHT) {\n classes.push('ag-cell-first-right-pinned');\n }\n }\n return classes;\n };\n RowCssClassCalculator.prototype.processClassesFromGridOptions = function (rowNode) {\n var res = [];\n var process = function (rowCls) {\n if (typeof rowCls === 'string') {\n res.push(rowCls);\n }\n else if (Array.isArray(rowCls)) {\n rowCls.forEach(function (e) { return res.push(e); });\n }\n };\n // part 1 - rowClass\n var rowClass = this.gridOptionsWrapper.getRowClass();\n if (rowClass) {\n if (typeof rowClass === 'function') {\n console.warn('AG Grid: rowClass should not be a function, please use getRowClass instead');\n return [];\n }\n process(rowClass);\n }\n // part 2 - rowClassFunc\n var rowClassFunc = this.gridOptionsWrapper.getRowClassFunc();\n if (rowClassFunc) {\n var params = {\n data: rowNode.data,\n node: rowNode,\n rowIndex: rowNode.rowIndex\n };\n var rowClassFuncResult = rowClassFunc(params);\n process(rowClassFuncResult);\n }\n return res;\n };\n RowCssClassCalculator.prototype.preProcessRowClassRules = function (rowNode) {\n var res = [];\n this.processRowClassRules(rowNode, function (className) {\n res.push(className);\n }, function (className) {\n // not catered for, if creating, no need\n // to remove class as it was never there\n });\n return res;\n };\n RowCssClassCalculator.prototype.processRowClassRules = function (rowNode, onApplicableClass, onNotApplicableClass) {\n var rowClassParams = {\n data: rowNode.data,\n node: rowNode,\n rowIndex: rowNode.rowIndex,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n this.stylingService.processClassRules(this.gridOptionsWrapper.rowClassRules(), rowClassParams, onApplicableClass, onNotApplicableClass);\n };\n RowCssClassCalculator.prototype.calculateRowLevel = function (rowNode) {\n if (rowNode.group) {\n return rowNode.level;\n }\n // if a leaf, and a parent exists, put a level of the parent, else put level of 0 for top level item\n return rowNode.parent ? (rowNode.parent.level + 1) : 0;\n };\n __decorate$j([\n Autowired('stylingService')\n ], RowCssClassCalculator.prototype, \"stylingService\", void 0);\n __decorate$j([\n Autowired('gridOptionsWrapper')\n ], RowCssClassCalculator.prototype, \"gridOptionsWrapper\", void 0);\n RowCssClassCalculator = __decorate$j([\n Bean('rowCssClassCalculator')\n ], RowCssClassCalculator);\n return RowCssClassCalculator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// this logic is used by both SSRM and CSRM\nvar RowNodeSorter = /** @class */ (function () {\n function RowNodeSorter() {\n }\n RowNodeSorter.prototype.doFullSort = function (rowNodes, sortOptions) {\n var mapper = function (rowNode, pos) { return ({ currentPos: pos, rowNode: rowNode }); };\n var sortedRowNodes = rowNodes.map(mapper);\n sortedRowNodes.sort(this.compareRowNodes.bind(this, sortOptions));\n return sortedRowNodes.map(function (item) { return item.rowNode; });\n };\n RowNodeSorter.prototype.compareRowNodes = function (sortOptions, sortedNodeA, sortedNodeB) {\n var nodeA = sortedNodeA.rowNode;\n var nodeB = sortedNodeB.rowNode;\n // Iterate columns, return the first that doesn't match\n for (var i = 0, len = sortOptions.length; i < len; i++) {\n var sortOption = sortOptions[i];\n var isDescending = sortOption.sort === Constants.SORT_DESC;\n var valueA = this.getValue(nodeA, sortOption.column);\n var valueB = this.getValue(nodeB, sortOption.column);\n var comparatorResult = void 0;\n var providedComparator = this.getComparator(sortOption, nodeA);\n if (providedComparator) {\n //if comparator provided, use it\n comparatorResult = providedComparator(valueA, valueB, nodeA, nodeB, isDescending);\n }\n else {\n //otherwise do our own comparison\n comparatorResult = _.defaultComparator(valueA, valueB, this.gridOptionsWrapper.isAccentedSort());\n }\n // user provided comparators can return 'NaN' if they don't correctly handle 'undefined' values, this\n // typically occurs when the comparator is used on a group row\n var validResult = !isNaN(comparatorResult);\n if (validResult && comparatorResult !== 0) {\n return sortOption.sort === Constants.SORT_ASC ? comparatorResult : comparatorResult * -1;\n }\n }\n // All matched, we make is so that the original sort order is kept:\n return sortedNodeA.currentPos - sortedNodeB.currentPos;\n };\n RowNodeSorter.prototype.getComparator = function (sortOption, rowNode) {\n var column = sortOption.column;\n // comparator on col get preference over everything else\n var comparatorOnCol = column.getColDef().comparator;\n if (comparatorOnCol != null) {\n return comparatorOnCol;\n }\n if (!column.getColDef().showRowGroup) {\n return;\n }\n // if a 'field' is supplied on the autoGroupColumnDef we need to use the associated column comparator\n var groupLeafField = !rowNode.group && column.getColDef().field;\n if (!groupLeafField) {\n return;\n }\n var primaryColumn = this.columnModel.getPrimaryColumn(groupLeafField);\n if (!primaryColumn) {\n return;\n }\n return primaryColumn.getColDef().comparator;\n };\n RowNodeSorter.prototype.getValue = function (node, column) {\n var _a, _b;\n var primaryColumnsSortGroups = this.gridOptionsWrapper.isColumnsSortingCoupledToGroup();\n if (!primaryColumnsSortGroups) {\n return this.valueService.getValue(column, node, false, false);\n }\n var isNodeGroupedAtLevel = node.rowGroupColumn === column;\n if (isNodeGroupedAtLevel) {\n var isGroupRows = this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotActive());\n if (isGroupRows) {\n // if the column has a provided a keyCreator, we have to use the key, as the group could be\n // irrelevant to the column value\n var keyCreator = column.getColDef().keyCreator;\n if (keyCreator) {\n return node.key;\n }\n // if the group was generated from the column data, all the leaf children should return the same\n // value\n var leafChild = (_a = node.allLeafChildren) === null || _a === void 0 ? void 0 : _a[0];\n if (leafChild) {\n return this.valueService.getValue(column, leafChild, false, false);\n }\n return undefined;\n }\n var displayCol = this.columnModel.getGroupDisplayColumnForGroup(column.getId());\n if (!displayCol) {\n return undefined;\n }\n return (_b = node.groupData) === null || _b === void 0 ? void 0 : _b[displayCol.getId()];\n }\n if (node.group && column.getColDef().showRowGroup) {\n return undefined;\n }\n return this.valueService.getValue(column, node, false, false);\n };\n __decorate$i([\n Autowired('gridOptionsWrapper')\n ], RowNodeSorter.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$i([\n Autowired('valueService')\n ], RowNodeSorter.prototype, \"valueService\", void 0);\n __decorate$i([\n Autowired('columnModel')\n ], RowNodeSorter.prototype, \"columnModel\", void 0);\n RowNodeSorter = __decorate$i([\n Bean('rowNodeSorter')\n ], RowNodeSorter);\n return RowNodeSorter;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$i = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CtrlsService = /** @class */ (function (_super) {\n __extends$i(CtrlsService, _super);\n function CtrlsService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ready = false;\n _this.readyCallbacks = [];\n return _this;\n }\n CtrlsService_1 = CtrlsService;\n CtrlsService.prototype.checkReady = function () {\n this.ready =\n this.gridCtrl != null\n && this.gridBodyCtrl != null\n && this.centerRowContainerCtrl != null\n && this.leftRowContainerCtrl != null\n && this.rightRowContainerCtrl != null\n && this.bottomCenterRowContainerCtrl != null\n && this.bottomLeftRowContainerCtrl != null\n && this.bottomRightRowContainerCtrl != null\n && this.topCenterRowContainerCtrl != null\n && this.topLeftRowContainerCtrl != null\n && this.topRightRowContainerCtrl != null\n && this.stickyTopCenterRowContainerCtrl != null\n && this.stickyTopLeftRowContainerCtrl != null\n && this.stickyTopRightRowContainerCtrl != null\n && this.centerHeaderRowContainerCtrl != null\n && this.leftHeaderRowContainerCtrl != null\n && this.rightHeaderRowContainerCtrl != null\n && this.fakeHScrollCtrl != null\n && this.gridHeaderCtrl != null;\n if (this.ready) {\n var p_1 = this.createReadyParams();\n this.readyCallbacks.forEach(function (c) { return c(p_1); });\n this.readyCallbacks.length = 0;\n }\n };\n CtrlsService.prototype.whenReady = function (callback) {\n if (this.ready) {\n callback(this.createReadyParams());\n }\n else {\n this.readyCallbacks.push(callback);\n }\n };\n CtrlsService.prototype.createReadyParams = function () {\n return {\n centerRowContainerCtrl: this.centerRowContainerCtrl,\n leftRowContainerCtrl: this.leftRowContainerCtrl,\n rightRowContainerCtrl: this.rightRowContainerCtrl,\n bottomCenterRowContainerCtrl: this.bottomCenterRowContainerCtrl,\n bottomLeftRowContainerCtrl: this.bottomLeftRowContainerCtrl,\n bottomRightRowContainerCtrl: this.bottomRightRowContainerCtrl,\n topCenterRowContainerCtrl: this.topCenterRowContainerCtrl,\n topLeftRowContainerCtrl: this.topLeftRowContainerCtrl,\n topRightRowContainerCtrl: this.topRightRowContainerCtrl,\n stickyTopCenterRowContainerCtrl: this.stickyTopCenterRowContainerCtrl,\n stickyTopLeftRowContainerCtrl: this.stickyTopLeftRowContainerCtrl,\n stickyTopRightRowContainerCtrl: this.stickyTopRightRowContainerCtrl,\n centerHeaderRowContainerCtrl: this.centerHeaderRowContainerCtrl,\n leftHeaderRowContainerCtrl: this.leftHeaderRowContainerCtrl,\n rightHeaderRowContainerCtrl: this.rightHeaderRowContainerCtrl,\n fakeHScrollCtrl: this.fakeHScrollCtrl,\n gridBodyCtrl: this.gridBodyCtrl,\n gridCtrl: this.gridCtrl,\n gridHeaderCtrl: this.gridHeaderCtrl,\n };\n };\n CtrlsService.prototype.registerFakeHScrollCtrl = function (ctrl) {\n this.fakeHScrollCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerGridHeaderCtrl = function (gridHeaderCtrl) {\n this.gridHeaderCtrl = gridHeaderCtrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerCenterRowContainerCtrl = function (ctrl) {\n this.centerRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerLeftRowContainerCtrl = function (ctrl) {\n this.leftRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerRightRowContainerCtrl = function (ctrl) {\n this.rightRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerTopCenterRowContainerCtrl = function (ctrl) {\n this.topCenterRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerTopLeftRowContainerCon = function (ctrl) {\n this.topLeftRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerTopRightRowContainerCtrl = function (ctrl) {\n this.topRightRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerStickyTopCenterRowContainerCtrl = function (ctrl) {\n this.stickyTopCenterRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerStickyTopLeftRowContainerCon = function (ctrl) {\n this.stickyTopLeftRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerStickyTopRightRowContainerCtrl = function (ctrl) {\n this.stickyTopRightRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerBottomCenterRowContainerCtrl = function (ctrl) {\n this.bottomCenterRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerBottomLeftRowContainerCtrl = function (ctrl) {\n this.bottomLeftRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerBottomRightRowContainerCtrl = function (ctrl) {\n this.bottomRightRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerHeaderContainer = function (ctrl, pinned) {\n switch (pinned) {\n case Constants.PINNED_LEFT:\n this.leftHeaderRowContainerCtrl = ctrl;\n break;\n case Constants.PINNED_RIGHT:\n this.rightHeaderRowContainerCtrl = ctrl;\n break;\n default:\n this.centerHeaderRowContainerCtrl = ctrl;\n break;\n }\n this.checkReady();\n };\n CtrlsService.prototype.registerGridBodyCtrl = function (ctrl) {\n this.gridBodyCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerGridCtrl = function (ctrl) {\n this.gridCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.getFakeHScrollCtrl = function () {\n return this.fakeHScrollCtrl;\n };\n CtrlsService.prototype.getGridHeaderCtrl = function () {\n return this.gridHeaderCtrl;\n };\n CtrlsService.prototype.getGridCtrl = function () {\n return this.gridCtrl;\n };\n CtrlsService.prototype.getCenterRowContainerCtrl = function () {\n return this.centerRowContainerCtrl;\n };\n CtrlsService.prototype.getTopCenterRowContainerCtrl = function () {\n return this.topCenterRowContainerCtrl;\n };\n CtrlsService.prototype.getBottomCenterRowContainerCtrl = function () {\n return this.bottomCenterRowContainerCtrl;\n };\n CtrlsService.prototype.getStickyTopCenterRowContainerCtrl = function () {\n return this.stickyTopCenterRowContainerCtrl;\n };\n CtrlsService.prototype.getGridBodyCtrl = function () {\n return this.gridBodyCtrl;\n };\n CtrlsService.prototype.getHeaderRowContainerCtrls = function () {\n return [this.leftHeaderRowContainerCtrl, this.rightHeaderRowContainerCtrl, this.centerHeaderRowContainerCtrl];\n };\n CtrlsService.prototype.getHeaderRowContainerCtrl = function (pinned) {\n switch (pinned) {\n case Constants.PINNED_LEFT: return this.leftHeaderRowContainerCtrl;\n case Constants.PINNED_RIGHT: return this.rightHeaderRowContainerCtrl;\n default: return this.centerHeaderRowContainerCtrl;\n }\n };\n var CtrlsService_1;\n CtrlsService.NAME = 'ctrlsService';\n CtrlsService = CtrlsService_1 = __decorate$h([\n Bean(CtrlsService_1.NAME)\n ], CtrlsService);\n return CtrlsService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$h = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CtrlsFactory = /** @class */ (function (_super) {\n __extends$h(CtrlsFactory, _super);\n function CtrlsFactory() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.registry = {};\n return _this;\n }\n CtrlsFactory.prototype.register = function (meta) {\n this.registry[meta.controllerName] = meta.controllerClass;\n };\n CtrlsFactory.prototype.getInstance = function (name) {\n var ControllerClass = this.registry[name];\n if (ControllerClass == null) {\n return undefined;\n }\n return new ControllerClass();\n };\n CtrlsFactory = __decorate$g([\n Bean('ctrlsFactory')\n ], CtrlsFactory);\n return CtrlsFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$g = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FakeHScrollCtrl = /** @class */ (function (_super) {\n __extends$g(FakeHScrollCtrl, _super);\n function FakeHScrollCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FakeHScrollCtrl.prototype.setComp = function (view, eGui, eViewport, eContainer) {\n this.view = view;\n this.eViewport = eViewport;\n this.eContainer = eContainer;\n this.eGui = eGui;\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, this.onScrollVisibilityChanged.bind(this));\n // When doing printing, this changes whether cols are pinned or not\n var spacerWidthsListener = this.setFakeHScrollSpacerWidths.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, spacerWidthsListener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, spacerWidthsListener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, spacerWidthsListener);\n this.addManagedListener(this.eventService, Events.EVENT_PINNED_ROW_DATA_CHANGED, this.onPinnedRowDataChanged.bind(this));\n this.onScrollVisibilityChanged();\n this.ctrlsService.registerFakeHScrollCtrl(this);\n this.view.addOrRemoveCssClass('ag-apple-scrollbar', isMacOsUserAgent() || isIOSUserAgent());\n };\n FakeHScrollCtrl.prototype.addActiveListenerToggles = function () {\n var _this = this;\n var activateEvents = ['mouseenter', 'mousedown', 'touchstart'];\n var deactivateEvents = ['mouseleave', 'touchend'];\n activateEvents.forEach(function (eventName) { return _this.addManagedListener(_this.eGui, eventName, function () { return _this.view.addOrRemoveCssClass('ag-scrollbar-active', true); }); });\n deactivateEvents.forEach(function (eventName) { return _this.addManagedListener(_this.eGui, eventName, function () { return _this.view.addOrRemoveCssClass('ag-scrollbar-active', false); }); });\n };\n FakeHScrollCtrl.prototype.initialiseInvisibleScrollbar = function () {\n if (this.invisibleScrollbar !== undefined) {\n return;\n }\n this.enableRtl = this.gridOptionsWrapper.isEnableRtl();\n this.invisibleScrollbar = isInvisibleScrollbar();\n if (this.invisibleScrollbar) {\n this.hideAndShowInvisibleScrollAsNeeded();\n this.addActiveListenerToggles();\n this.refreshCompBottom();\n }\n };\n FakeHScrollCtrl.prototype.onPinnedRowDataChanged = function () {\n this.refreshCompBottom();\n };\n FakeHScrollCtrl.prototype.refreshCompBottom = function () {\n if (!this.invisibleScrollbar) {\n return;\n }\n var bottomPinnedHeight = this.pinnedRowModel.getPinnedBottomTotalHeight();\n this.view.setBottom(bottomPinnedHeight);\n };\n FakeHScrollCtrl.prototype.onScrollVisibilityChanged = function () {\n // initialiseInvisibleScrollbar should only be called once, but the reason\n // this can't be inside `setComp` or `PostConstruct` is the DOM might not\n // be ready, so we call it until eventually, it gets calculated.\n if (this.invisibleScrollbar === undefined) {\n this.initialiseInvisibleScrollbar();\n }\n this.setScrollVisible();\n this.setFakeHScrollSpacerWidths();\n };\n FakeHScrollCtrl.prototype.hideAndShowInvisibleScrollAsNeeded = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL, function (params) {\n if (params.direction === 'horizontal') {\n _this.view.addOrRemoveCssClass('ag-scrollbar-scrolling', true);\n }\n });\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL_END, function () { return _this.view.addOrRemoveCssClass('ag-scrollbar-scrolling', false); });\n };\n FakeHScrollCtrl.prototype.setFakeHScrollSpacerWidths = function () {\n var vScrollShowing = this.scrollVisibleService.isVerticalScrollShowing();\n // we pad the right based on a) if cols are pinned to the right and\n // b) if v scroll is showing on the right (normal position of scroll)\n var rightSpacing = this.columnModel.getDisplayedColumnsRightWidth();\n var scrollOnRight = !this.enableRtl && vScrollShowing;\n var scrollbarWidth = this.gridOptionsWrapper.getScrollbarWidth();\n if (scrollOnRight) {\n rightSpacing += scrollbarWidth;\n }\n this.view.setRightSpacerFixedWidth(rightSpacing);\n this.view.includeRightSpacerScrollerCss('ag-scroller-corner', rightSpacing <= scrollbarWidth);\n // we pad the left based on a) if cols are pinned to the left and\n // b) if v scroll is showing on the left (happens in LTR layout only)\n var leftSpacing = this.columnModel.getDisplayedColumnsLeftWidth();\n var scrollOnLeft = this.enableRtl && vScrollShowing;\n if (scrollOnLeft) {\n leftSpacing += scrollbarWidth;\n }\n this.view.setLeftSpacerFixedWidth(leftSpacing);\n this.view.includeLeftSpacerScrollerCss('ag-scroller-corner', leftSpacing <= scrollbarWidth);\n };\n FakeHScrollCtrl.prototype.setScrollVisible = function () {\n var hScrollShowing = this.scrollVisibleService.isHorizontalScrollShowing();\n var invisibleScrollbar = this.invisibleScrollbar;\n var isSuppressHorizontalScroll = this.gridOptionsWrapper.isSuppressHorizontalScroll();\n var scrollbarWidth = hScrollShowing ? (this.gridOptionsWrapper.getScrollbarWidth() || 0) : 0;\n var adjustedScrollbarWidth = (scrollbarWidth === 0 && invisibleScrollbar) ? 15 : scrollbarWidth;\n var scrollContainerSize = !isSuppressHorizontalScroll ? adjustedScrollbarWidth : 0;\n this.view.addOrRemoveCssClass('ag-scrollbar-invisible', invisibleScrollbar);\n this.view.setHeight(scrollContainerSize);\n this.view.setViewportHeight(scrollContainerSize);\n this.view.setContainerHeight(scrollContainerSize);\n this.view.addOrRemoveCssClass('ag-hidden', !hScrollShowing);\n };\n FakeHScrollCtrl.prototype.getViewport = function () {\n return this.eViewport;\n };\n FakeHScrollCtrl.prototype.getContainer = function () {\n return this.eContainer;\n };\n __decorate$f([\n Autowired('scrollVisibleService')\n ], FakeHScrollCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$f([\n Autowired('columnModel')\n ], FakeHScrollCtrl.prototype, \"columnModel\", void 0);\n __decorate$f([\n Autowired('ctrlsService')\n ], FakeHScrollCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$f([\n Autowired('pinnedRowModel')\n ], FakeHScrollCtrl.prototype, \"pinnedRowModel\", void 0);\n return FakeHScrollCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$f = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FakeHScrollComp = /** @class */ (function (_super) {\n __extends$f(FakeHScrollComp, _super);\n function FakeHScrollComp() {\n return _super.call(this, FakeHScrollComp.TEMPLATE) || this;\n }\n FakeHScrollComp.prototype.postConstruct = function () {\n var _this = this;\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setHeight: function (height) { return setFixedHeight(_this.getGui(), height); },\n setBottom: function (bottom) { return _this.getGui().style.bottom = bottom + \"px\"; },\n setContainerHeight: function (height) { return setFixedHeight(_this.eContainer, height); },\n setViewportHeight: function (height) { return setFixedHeight(_this.eViewport, height); },\n setRightSpacerFixedWidth: function (width) { return setFixedWidth(_this.eRightSpacer, width); },\n setLeftSpacerFixedWidth: function (width) { return setFixedWidth(_this.eLeftSpacer, width); },\n includeLeftSpacerScrollerCss: function (cssClass, include) {\n return _this.eLeftSpacer.classList.toggle(cssClass, include);\n },\n includeRightSpacerScrollerCss: function (cssClass, include) {\n return _this.eRightSpacer.classList.toggle(cssClass, include);\n },\n };\n var ctrl = this.createManagedBean(new FakeHScrollCtrl());\n ctrl.setComp(compProxy, this.getGui(), this.eViewport, this.eContainer);\n this.createManagedBean(new CenterWidthFeature(function (width) { return _this.eContainer.style.width = width + \"px\"; }));\n };\n FakeHScrollComp.TEMPLATE = \"
\\n
\\n
\\n
\\n
\\n
\\n
\";\n __decorate$e([\n RefSelector('eLeftSpacer')\n ], FakeHScrollComp.prototype, \"eLeftSpacer\", void 0);\n __decorate$e([\n RefSelector('eRightSpacer')\n ], FakeHScrollComp.prototype, \"eRightSpacer\", void 0);\n __decorate$e([\n RefSelector('eViewport')\n ], FakeHScrollComp.prototype, \"eViewport\", void 0);\n __decorate$e([\n RefSelector('eContainer')\n ], FakeHScrollComp.prototype, \"eContainer\", void 0);\n __decorate$e([\n PostConstruct\n ], FakeHScrollComp.prototype, \"postConstruct\", null);\n return FakeHScrollComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$e = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PinnedWidthService = /** @class */ (function (_super) {\n __extends$e(PinnedWidthService, _super);\n function PinnedWidthService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PinnedWidthService.prototype.postConstruct = function () {\n var listener = this.checkContainerWidths.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, listener);\n };\n PinnedWidthService.prototype.checkContainerWidths = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var newLeftWidth = printLayout ? 0 : this.columnModel.getDisplayedColumnsLeftWidth();\n var newRightWidth = printLayout ? 0 : this.columnModel.getDisplayedColumnsRightWidth();\n if (newLeftWidth != this.leftWidth) {\n this.leftWidth = newLeftWidth;\n this.eventService.dispatchEvent({ type: Events.EVENT_LEFT_PINNED_WIDTH_CHANGED });\n }\n if (newRightWidth != this.rightWidth) {\n this.rightWidth = newRightWidth;\n this.eventService.dispatchEvent({ type: Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED });\n }\n };\n PinnedWidthService.prototype.getPinnedRightWidth = function () {\n return this.rightWidth;\n };\n PinnedWidthService.prototype.getPinnedLeftWidth = function () {\n return this.leftWidth;\n };\n __decorate$d([\n Autowired('columnModel')\n ], PinnedWidthService.prototype, \"columnModel\", void 0);\n __decorate$d([\n PostConstruct\n ], PinnedWidthService.prototype, \"postConstruct\", null);\n PinnedWidthService = __decorate$d([\n Bean('pinnedWidthService')\n ], PinnedWidthService);\n return PinnedWidthService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$d = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowNodeEventThrottle = /** @class */ (function (_super) {\n __extends$d(RowNodeEventThrottle, _super);\n function RowNodeEventThrottle() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.events = [];\n return _this;\n }\n RowNodeEventThrottle.prototype.postConstruct = function () {\n if (this.rowModel.getType() == Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n this.clientSideRowModel = this.rowModel;\n }\n };\n // because the user can call rowNode.setExpanded() many times in one VM turn,\n // we throttle the calls to ClientSideRowModel using animationFrameService. this means for 100\n // row nodes getting expanded, we only update the CSRM once, and then we fire all events after\n // CSRM has updated.\n //\n // if we did not do this, then the user could call setExpanded on 100+ rows, causing the grid\n // to re-render 100+ times, which would be a performance lag.\n //\n // we use animationFrameService\n // rather than _.debounce() so this will get done if anyone flushes the animationFrameService\n // (eg user calls api.ensureRowVisible(), which in turn flushes ).\n RowNodeEventThrottle.prototype.dispatchExpanded = function (event) {\n var _this = this;\n // if not using CSRM, we don't debounce. otherwise this breaks the SSRM.\n if (this.clientSideRowModel == null) {\n this.eventService.dispatchEvent(event);\n return;\n }\n this.events.push(event);\n var func = function () {\n if (_this.clientSideRowModel) {\n _this.clientSideRowModel.onRowGroupOpened();\n }\n _this.events.forEach(function (e) { return _this.eventService.dispatchEvent(e); });\n _this.events = [];\n };\n if (this.dispatchExpandedDebounced == null) {\n this.dispatchExpandedDebounced = this.animationFrameService.debounce(func);\n }\n this.dispatchExpandedDebounced();\n };\n __decorate$c([\n Autowired('animationFrameService')\n ], RowNodeEventThrottle.prototype, \"animationFrameService\", void 0);\n __decorate$c([\n Autowired('rowModel')\n ], RowNodeEventThrottle.prototype, \"rowModel\", void 0);\n __decorate$c([\n PostConstruct\n ], RowNodeEventThrottle.prototype, \"postConstruct\", null);\n RowNodeEventThrottle = __decorate$c([\n Bean('rowNodeEventThrottle')\n ], RowNodeEventThrottle);\n return RowNodeEventThrottle;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$2 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$1 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$2(arguments[i]));\n return ar;\n};\n// creates JavaScript vanilla Grid, including JavaScript (ag-stack) components, which can\n// be wrapped by the framework wrappers\nvar Grid = /** @class */ (function () {\n function Grid(eGridDiv, gridOptions, params) {\n if (!gridOptions) {\n console.error('AG Grid: no gridOptions provided to the grid');\n return;\n }\n this.gridOptions = gridOptions;\n new GridCoreCreator().create(eGridDiv, gridOptions, function (context) {\n var gridComp = new GridComp(eGridDiv);\n context.createBean(gridComp);\n }, undefined, params);\n }\n Grid.prototype.destroy = function () {\n if (this.gridOptions && this.gridOptions.api) {\n this.gridOptions.api.destroy();\n }\n };\n return Grid;\n}());\n// created services of grid only, no UI, so frameworks can use this if providing\n// their own UI\nvar GridCoreCreator = /** @class */ (function () {\n function GridCoreCreator() {\n }\n GridCoreCreator.prototype.create = function (eGridDiv, gridOptions, createUi, acceptChanges, params) {\n var _this = this;\n var debug = !!gridOptions.debug;\n var registeredModules = this.getRegisteredModules(params);\n var beanClasses = this.createBeansList(gridOptions.rowModelType, registeredModules);\n var providedBeanInstances = this.createProvidedBeans(eGridDiv, gridOptions, params);\n if (!beanClasses) {\n return;\n } // happens when no row model found\n var contextParams = {\n providedBeanInstances: providedBeanInstances,\n beanClasses: beanClasses,\n debug: debug\n };\n var logger = new Logger('AG Grid', function () { return gridOptions.debug; });\n var contextLogger = new Logger('Context', function () { return contextParams.debug; });\n var context = new Context(contextParams, contextLogger);\n var beans = context.getBean('beans');\n this.registerModuleUserComponents(beans, registeredModules);\n this.registerStackComponents(beans, registeredModules);\n this.registerControllers(beans, registeredModules);\n createUi(context);\n // we wait until the UI has finished initialising before setting in columns and rows\n beans.ctrlsService.whenReady(function () {\n _this.setColumnsAndData(beans);\n _this.dispatchGridReadyEvent(beans);\n var isEnterprise = ModuleRegistry.isRegistered(ModuleNames.EnterpriseCoreModule);\n logger.log(\"initialised successfully, enterprise = \" + isEnterprise);\n });\n if (acceptChanges) {\n acceptChanges(context);\n }\n };\n GridCoreCreator.prototype.registerControllers = function (beans, registeredModules) {\n registeredModules.forEach(function (module) {\n if (module.controllers) {\n module.controllers.forEach(function (meta) { return beans.ctrlsFactory.register(meta); });\n }\n });\n };\n GridCoreCreator.prototype.registerStackComponents = function (beans, registeredModules) {\n var agStackComponents = this.createAgStackComponentsList(registeredModules);\n beans.agStackComponentsRegistry.setupComponents(agStackComponents);\n };\n GridCoreCreator.prototype.getRegisteredModules = function (params) {\n var passedViaConstructor = params ? params.modules : null;\n var registered = ModuleRegistry.getRegisteredModules();\n var allModules = [];\n var mapNames = {};\n // adds to list and removes duplicates\n function addModule(moduleBased, mod) {\n function addIndividualModule(currentModule) {\n if (!mapNames[currentModule.moduleName]) {\n mapNames[currentModule.moduleName] = true;\n allModules.push(currentModule);\n ModuleRegistry.register(currentModule, moduleBased);\n }\n }\n addIndividualModule(mod);\n if (mod.dependantModules) {\n mod.dependantModules.forEach(addModule.bind(null, moduleBased));\n }\n }\n if (passedViaConstructor) {\n passedViaConstructor.forEach(addModule.bind(null, true));\n }\n if (registered) {\n registered.forEach(addModule.bind(null, !ModuleRegistry.isPackageBased()));\n }\n return allModules;\n };\n GridCoreCreator.prototype.registerModuleUserComponents = function (beans, registeredModules) {\n var moduleUserComps = this.extractModuleEntity(registeredModules, function (module) { return module.userComponents ? module.userComponents : []; });\n moduleUserComps.forEach(function (compMeta) {\n beans.userComponentRegistry.registerDefaultComponent(compMeta.componentName, compMeta.componentClass);\n });\n };\n GridCoreCreator.prototype.createProvidedBeans = function (eGridDiv, gridOptions, params) {\n var frameworkOverrides = params ? params.frameworkOverrides : null;\n if (missing(frameworkOverrides)) {\n frameworkOverrides = new VanillaFrameworkOverrides();\n }\n var seed = {\n gridOptions: gridOptions,\n eGridDiv: eGridDiv,\n globalEventListener: params ? params.globalEventListener : null,\n frameworkOverrides: frameworkOverrides\n };\n if (params && params.providedBeanInstances) {\n Object.assign(seed, params.providedBeanInstances);\n }\n return seed;\n };\n GridCoreCreator.prototype.createAgStackComponentsList = function (registeredModules) {\n var components = [\n { componentName: 'AgCheckbox', componentClass: AgCheckbox },\n { componentName: 'AgRadioButton', componentClass: AgRadioButton },\n { componentName: 'AgToggleButton', componentClass: AgToggleButton },\n { componentName: 'AgInputTextField', componentClass: AgInputTextField },\n { componentName: 'AgInputTextArea', componentClass: AgInputTextArea },\n { componentName: 'AgInputNumberField', componentClass: AgInputNumberField },\n { componentName: 'AgInputRange', componentClass: AgInputRange },\n { componentName: 'AgSelect', componentClass: AgSelect },\n { componentName: 'AgSlider', componentClass: AgSlider },\n { componentName: 'AgAngleSelect', componentClass: AgAngleSelect },\n { componentName: 'AgColorPicker', componentClass: AgColorPicker },\n { componentName: 'AgGridBody', componentClass: GridBodyComp },\n { componentName: 'AgHeaderRoot', componentClass: GridHeaderComp },\n { componentName: 'AgSortIndicator', componentClass: SortIndicatorComp },\n { componentName: 'AgPagination', componentClass: PaginationComp },\n { componentName: 'AgOverlayWrapper', componentClass: OverlayWrapperComponent },\n { componentName: 'AgGroupComponent', componentClass: AgGroupComponent },\n { componentName: 'AgPanel', componentClass: AgPanel },\n { componentName: 'AgDialog', componentClass: AgDialog },\n { componentName: 'AgRowContainer', componentClass: RowContainerComp },\n { componentName: 'AgFakeHorizontalScroll', componentClass: FakeHScrollComp }\n ];\n var moduleAgStackComps = this.extractModuleEntity(registeredModules, function (module) { return module.agStackComponents ? module.agStackComponents : []; });\n components = components.concat(moduleAgStackComps);\n return components;\n };\n GridCoreCreator.prototype.createBeansList = function (rowModelType, registeredModules) {\n var rowModelClass = this.getRowModelClass(rowModelType, registeredModules);\n if (!rowModelClass) {\n return;\n }\n // beans should only contain SERVICES, it should NEVER contain COMPONENTS\n var beans = [\n rowModelClass, Beans, RowPositionUtils, CellPositionUtils, HeaderPositionUtils,\n PaginationAutoPageSizeService, GridApi, UserComponentRegistry, AgComponentUtils,\n ComponentMetadataProvider, ResizeObserverService, UserComponentFactory,\n RowContainerHeightService, HorizontalResizeService,\n PinnedRowModel, DragService, DisplayedGroupCreator, EventService, GridOptionsWrapper,\n PopupService, SelectionService, FilterManager, ColumnModel, HeaderNavigationService,\n PaginationProxy, RowRenderer, ExpressionService, ColumnFactory, TemplateService,\n AlignedGridsService, NavigationService, ValueCache, ValueService, LoggerFactory,\n ColumnUtils, AutoWidthCalculator, StandardMenuFactory, DragAndDropService, ColumnApi,\n FocusService, MouseEventService, Environment, CellNavigationService, ValueFormatterService,\n StylingService, ScrollVisibleService, SortController, ColumnHoverService, ColumnAnimationService,\n SelectableService, AutoGroupColService, ChangeDetectionService, AnimationFrameService,\n UndoRedoService, AgStackComponentsRegistry, ColumnDefFactory,\n RowCssClassCalculator, RowNodeBlockLoader, RowNodeSorter, CtrlsService,\n PinnedWidthService, RowNodeEventThrottle, CtrlsFactory\n ];\n var moduleBeans = this.extractModuleEntity(registeredModules, function (module) { return module.beans ? module.beans : []; });\n beans.push.apply(beans, __spread$1(moduleBeans));\n // check for duplicates, as different modules could include the same beans that\n // they depend on, eg ClientSideRowModel in enterprise, and ClientSideRowModel in community\n var beansNoDuplicates = [];\n beans.forEach(function (bean) {\n if (beansNoDuplicates.indexOf(bean) < 0) {\n beansNoDuplicates.push(bean);\n }\n });\n return beansNoDuplicates;\n };\n GridCoreCreator.prototype.extractModuleEntity = function (moduleEntities, extractor) {\n return [].concat.apply([], __spread$1(moduleEntities.map(extractor)));\n };\n GridCoreCreator.prototype.setColumnsAndData = function (beans) {\n var columnDefs = beans.gridOptionsWrapper.getColumnDefs();\n beans.columnModel.setColumnDefs(columnDefs || [], \"gridInitializing\");\n beans.rowModel.start();\n };\n GridCoreCreator.prototype.dispatchGridReadyEvent = function (beans) {\n var readyEvent = {\n type: Events.EVENT_GRID_READY,\n };\n beans.eventService.dispatchEvent(readyEvent);\n };\n GridCoreCreator.prototype.getRowModelClass = function (rowModelType, registeredModules) {\n // default to client side\n if (!rowModelType) {\n rowModelType = Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n }\n var rowModelClasses = {};\n registeredModules.forEach(function (module) {\n iterateObject(module.rowModels, function (key, value) {\n rowModelClasses[key] = value;\n });\n });\n var rowModelClass = rowModelClasses[rowModelType];\n if (exists(rowModelClass)) {\n return rowModelClass;\n }\n if (ModuleRegistry.isPackageBased()) {\n if ([Constants.ROW_MODEL_TYPE_VIEWPORT, Constants.ROW_MODEL_TYPE_SERVER_SIDE].includes(rowModelType)) {\n // If package based only the enterprise row models could be missing.\n console.error(\"AG Grid: Row Model \\\"\" + rowModelType + \"\\\" not found. Please ensure the package 'ag-grid-enterprise' is imported. Please see: https://www.ag-grid.com/javascript-grid/packages/\");\n }\n else {\n console.error('AG Grid: could not find row model for rowModelType ' + rowModelType);\n }\n }\n else {\n if (rowModelType === Constants.ROW_MODEL_TYPE_INFINITE) {\n console.error(\"AG Grid: Row Model \\\"Infinite\\\" not found. Please ensure the \" + ModuleNames.InfiniteRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else if (rowModelType === Constants.ROW_MODEL_TYPE_VIEWPORT) {\n console.error(\"AG Grid: Row Model \\\"Viewport\\\" not found. Please ensure the AG Grid Enterprise Module \" + ModuleNames.ViewportRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else if (rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE) {\n console.error(\"AG Grid: Row Model \\\"Server Side\\\" not found. Please ensure the AG Grid Enterprise Module \" + ModuleNames.ServerSideRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else if (rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n console.error(\"AG Grid: Row Model \\\"Client Side\\\" not found. Please ensure the \" + ModuleNames.ClientSideRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else {\n console.error('AG Grid: could not find row model for rowModelType ' + rowModelType);\n }\n }\n };\n return GridCoreCreator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction defaultGroupComparator(valueA, valueB, nodeA, nodeB, accentedCompare) {\n if (accentedCompare === void 0) { accentedCompare = false; }\n console.warn('AG Grid: Since ag-grid 11.0.0 defaultGroupComparator is not necessary. You can remove this from your colDef');\n var nodeAIsGroup = exists(nodeA) && nodeA.group;\n var nodeBIsGroup = exists(nodeB) && nodeB.group;\n var bothAreGroups = nodeAIsGroup && nodeBIsGroup;\n var bothAreNormal = !nodeAIsGroup && !nodeBIsGroup;\n if (bothAreGroups) {\n return defaultComparator(nodeA.key, nodeB.key, accentedCompare);\n }\n if (bothAreNormal) {\n return defaultComparator(valueA, valueB, accentedCompare);\n }\n if (nodeAIsGroup) {\n return 1;\n }\n return -1;\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar BaseComponentWrapper = /** @class */ (function () {\n function BaseComponentWrapper() {\n }\n BaseComponentWrapper.prototype.wrap = function (OriginalConstructor, mandatoryMethodList, optionalMethodList, componentType) {\n var _this = this;\n if (optionalMethodList === void 0) { optionalMethodList = []; }\n var wrapper = this.createWrapper(OriginalConstructor, componentType);\n mandatoryMethodList.forEach((function (methodName) {\n _this.createMethod(wrapper, methodName, true);\n }));\n optionalMethodList.forEach((function (methodName) {\n _this.createMethod(wrapper, methodName, false);\n }));\n return wrapper;\n };\n BaseComponentWrapper.prototype.unwrap = function (comp) {\n return comp;\n };\n BaseComponentWrapper.prototype.createMethod = function (wrapper, methodName, mandatory) {\n wrapper.addMethod(methodName, this.createMethodProxy(wrapper, methodName, mandatory));\n };\n BaseComponentWrapper.prototype.createMethodProxy = function (wrapper, methodName, mandatory) {\n return function () {\n if (wrapper.hasMethod(methodName)) {\n return wrapper.callMethod(methodName, arguments);\n }\n if (mandatory) {\n console.warn('AG Grid: Framework component is missing the method ' + methodName + '()');\n }\n return null;\n };\n };\n return BaseComponentWrapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar DEFAULT_CHART_GROUPS = {\n columnGroup: [\n 'column',\n 'stackedColumn',\n 'normalizedColumn'\n ],\n barGroup: [\n 'bar',\n 'stackedBar',\n 'normalizedBar'\n ],\n pieGroup: [\n 'pie',\n 'doughnut'\n ],\n lineGroup: [\n 'line'\n ],\n scatterGroup: [\n 'scatter',\n 'bubble'\n ],\n areaGroup: [\n 'area',\n 'stackedArea',\n 'normalizedArea'\n ],\n histogramGroup: [\n 'histogram'\n ],\n combinationGroup: [\n 'columnLineCombo',\n 'areaColumnCombo',\n 'customCombo'\n ]\n};\nvar CHART_TOOL_PANEL_ALLOW_LIST = [\n 'chartSettings',\n 'chartData',\n 'chartFormat'\n];\nvar CHART_TOOLBAR_ALLOW_LIST = [\n 'chartUnlink',\n 'chartLink',\n 'chartDownload'\n];\nvar CHART_TOOL_PANEL_MENU_OPTIONS = {\n settings: \"chartSettings\",\n data: \"chartData\",\n format: \"chartFormat\"\n};\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar BarColumnLabelPlacement;\n(function (BarColumnLabelPlacement) {\n BarColumnLabelPlacement[\"InsideBase\"] = \"insideBase\";\n BarColumnLabelPlacement[\"InsideEnd\"] = \"insideEnd\";\n BarColumnLabelPlacement[\"Center\"] = \"center\";\n BarColumnLabelPlacement[\"OutsideEnd\"] = \"outsideEnd\";\n})(BarColumnLabelPlacement || (BarColumnLabelPlacement = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v28.2.1\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar globalObj = typeof global === 'undefined' ? {} : global;\nglobalObj.HTMLElement = typeof HTMLElement === 'undefined' ? {} : HTMLElement;\nglobalObj.HTMLButtonElement = typeof HTMLButtonElement === 'undefined' ? {} : HTMLButtonElement;\nglobalObj.HTMLSelectElement = typeof HTMLSelectElement === 'undefined' ? {} : HTMLSelectElement;\nglobalObj.HTMLInputElement = typeof HTMLInputElement === 'undefined' ? {} : HTMLInputElement;\nglobalObj.Node = typeof Node === 'undefined' ? {} : Node;\nglobalObj.MouseEvent = typeof MouseEvent === 'undefined' ? {} : MouseEvent;\n\nvar __read$1 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$1(arguments[i]));\n return ar;\n};\nvar ClientSideNodeManager = /** @class */ (function () {\n function ClientSideNodeManager(rootNode, gridOptionsWrapper, eventService, columnModel, selectionService, beans) {\n this.nextId = 0;\n // when user is provide the id's, we also keep a map of ids to row nodes for convenience\n this.allNodesMap = {};\n this.rootNode = rootNode;\n this.gridOptionsWrapper = gridOptionsWrapper;\n this.eventService = eventService;\n this.columnModel = columnModel;\n this.beans = beans;\n this.selectionService = selectionService;\n this.rootNode.group = true;\n this.rootNode.level = -1;\n this.rootNode.id = ClientSideNodeManager.ROOT_NODE_ID;\n this.rootNode.allLeafChildren = [];\n this.rootNode.childrenAfterGroup = [];\n this.rootNode.childrenAfterSort = [];\n this.rootNode.childrenAfterAggFilter = [];\n this.rootNode.childrenAfterFilter = [];\n // if we make this class a bean, then can annotate postConstruct\n this.postConstruct();\n }\n // @PostConstruct - this is not a bean, so postConstruct called by constructor\n ClientSideNodeManager.prototype.postConstruct = function () {\n // func below doesn't have 'this' pointer, so need to pull out these bits\n this.suppressParentsInRowNodes = this.gridOptionsWrapper.isSuppressParentsInRowNodes();\n this.isRowMasterFunc = this.gridOptionsWrapper.getIsRowMasterFunc();\n this.doingTreeData = this.gridOptionsWrapper.isTreeData();\n this.doingMasterDetail = this.gridOptionsWrapper.isMasterDetail();\n };\n ClientSideNodeManager.prototype.getCopyOfNodesMap = function () {\n return _.cloneObject(this.allNodesMap);\n };\n ClientSideNodeManager.prototype.getRowNode = function (id) {\n return this.allNodesMap[id];\n };\n ClientSideNodeManager.prototype.setRowData = function (rowData) {\n var _this = this;\n if (typeof rowData === 'string') {\n console.warn('AG Grid: rowData must be an array, however you passed in a string. If you are loading JSON, make sure you convert the JSON string to JavaScript objects first');\n return;\n }\n var rootNode = this.rootNode;\n var sibling = this.rootNode.sibling;\n rootNode.childrenAfterFilter = null;\n rootNode.childrenAfterGroup = null;\n rootNode.childrenAfterAggFilter = null;\n rootNode.childrenAfterSort = null;\n rootNode.childrenMapped = null;\n rootNode.updateHasChildren();\n this.nextId = 0;\n this.allNodesMap = {};\n if (rowData) {\n // we use rootNode as the parent, however if using ag-grid-enterprise, the grouping stage\n // sets the parent node on each row (even if we are not grouping). so setting parent node\n // here is for benefit of ag-grid-community users\n rootNode.allLeafChildren = rowData.map(function (dataItem) { return _this.createNode(dataItem, _this.rootNode, ClientSideNodeManager.TOP_LEVEL); });\n }\n else {\n rootNode.allLeafChildren = [];\n rootNode.childrenAfterGroup = [];\n }\n if (sibling) {\n sibling.childrenAfterFilter = rootNode.childrenAfterFilter;\n sibling.childrenAfterGroup = rootNode.childrenAfterGroup;\n sibling.childrenAfterAggFilter = rootNode.childrenAfterAggFilter;\n sibling.childrenAfterSort = rootNode.childrenAfterSort;\n sibling.childrenMapped = rootNode.childrenMapped;\n sibling.allLeafChildren = rootNode.allLeafChildren;\n }\n };\n ClientSideNodeManager.prototype.updateRowData = function (rowDataTran, rowNodeOrder) {\n var rowNodeTransaction = {\n remove: [],\n update: [],\n add: []\n };\n var nodesToUnselect = [];\n this.executeRemove(rowDataTran, rowNodeTransaction, nodesToUnselect);\n this.executeUpdate(rowDataTran, rowNodeTransaction, nodesToUnselect);\n this.executeAdd(rowDataTran, rowNodeTransaction);\n this.updateSelection(nodesToUnselect);\n if (rowNodeOrder) {\n _.sortRowNodesByOrder(this.rootNode.allLeafChildren, rowNodeOrder);\n }\n return rowNodeTransaction;\n };\n ClientSideNodeManager.prototype.updateSelection = function (nodesToUnselect) {\n var selectionChanged = nodesToUnselect.length > 0;\n if (selectionChanged) {\n nodesToUnselect.forEach(function (rowNode) {\n rowNode.setSelected(false, false, true);\n });\n }\n // we do this regardless of nodes to unselect or not, as it's possible\n // a new node was inserted, so a parent that was previously selected (as all\n // children were selected) should not be tri-state (as new one unselected against\n // all other selected children).\n this.selectionService.updateGroupsFromChildrenSelections();\n if (selectionChanged) {\n var event_1 = {\n type: Events.EVENT_SELECTION_CHANGED\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n ClientSideNodeManager.prototype.executeAdd = function (rowDataTran, rowNodeTransaction) {\n var _this = this;\n var add = rowDataTran.add, addIndex = rowDataTran.addIndex;\n if (_.missingOrEmpty(add)) {\n return;\n }\n // create new row nodes for each data item\n var newNodes = add.map(function (item) { return _this.createNode(item, _this.rootNode, ClientSideNodeManager.TOP_LEVEL); });\n // add new row nodes to the root nodes 'allLeafChildren'\n var useIndex = typeof addIndex === 'number' && addIndex >= 0;\n var nodesBeforeIndex;\n var nodesAfterIndex;\n if (useIndex) {\n // new rows are inserted in one go by concatenating them in between the existing rows at the desired index.\n // this is much faster than splicing them individually into 'allLeafChildren' when there are large inserts.\n // allLeafChildren can be out of order, so we loop over all the Nodes to find the correct index that\n // represents the position `addIndex` intended to be.\n var allLeafChildren_1 = this.rootNode.allLeafChildren;\n // if addIndex is 0, it should always be added at the start of the array\n // there is no need to verify the order of node by nodeIndex.\n var normalizedAddIndex = addIndex === 0 ? 0 : (allLeafChildren_1.reduce(function (prevIdx, currNode, currIdx) {\n var _a;\n var rowIndex = currNode.rowIndex;\n var prevValueAtIndex = (_a = allLeafChildren_1[prevIdx]) === null || _a === void 0 ? void 0 : _a.rowIndex;\n var shouldUpdateIndex = rowIndex != null && prevValueAtIndex != null && rowIndex < addIndex && rowIndex > prevValueAtIndex;\n return shouldUpdateIndex ? currIdx : prevIdx;\n }, 0) + 1);\n nodesBeforeIndex = allLeafChildren_1.slice(0, normalizedAddIndex);\n nodesAfterIndex = allLeafChildren_1.slice(normalizedAddIndex, allLeafChildren_1.length);\n }\n else {\n nodesBeforeIndex = this.rootNode.allLeafChildren;\n nodesAfterIndex = [];\n }\n this.rootNode.allLeafChildren = __spread(nodesBeforeIndex, newNodes, nodesAfterIndex);\n if (this.rootNode.sibling) {\n this.rootNode.sibling.allLeafChildren = this.rootNode.allLeafChildren;\n }\n // add new row nodes to the transaction add items\n rowNodeTransaction.add = newNodes;\n };\n ClientSideNodeManager.prototype.executeRemove = function (rowDataTran, rowNodeTransaction, nodesToUnselect) {\n var _this = this;\n var remove = rowDataTran.remove;\n if (_.missingOrEmpty(remove)) {\n return;\n }\n var rowIdsRemoved = {};\n remove.forEach(function (item) {\n var rowNode = _this.lookupRowNode(item);\n if (!rowNode) {\n return;\n }\n // do delete - setting 'suppressFinishActions = true' to ensure EVENT_SELECTION_CHANGED is not raised for\n // each row node updated, instead it is raised once by the calling code if any selected nodes exist.\n if (rowNode.isSelected()) {\n nodesToUnselect.push(rowNode);\n }\n // so row renderer knows to fade row out (and not reposition it)\n rowNode.clearRowTopAndRowIndex();\n // NOTE: were we could remove from allLeaveChildren, however _.removeFromArray() is expensive, especially\n // if called multiple times (eg deleting lots of rows) and if allLeafChildren is a large list\n rowIdsRemoved[rowNode.id] = true;\n // _.removeFromArray(this.rootNode.allLeafChildren, rowNode);\n delete _this.allNodesMap[rowNode.id];\n rowNodeTransaction.remove.push(rowNode);\n });\n this.rootNode.allLeafChildren = this.rootNode.allLeafChildren.filter(function (rowNode) { return !rowIdsRemoved[rowNode.id]; });\n if (this.rootNode.sibling) {\n this.rootNode.sibling.allLeafChildren = this.rootNode.allLeafChildren;\n }\n };\n ClientSideNodeManager.prototype.executeUpdate = function (rowDataTran, rowNodeTransaction, nodesToUnselect) {\n var _this = this;\n var update = rowDataTran.update;\n if (_.missingOrEmpty(update)) {\n return;\n }\n update.forEach(function (item) {\n var rowNode = _this.lookupRowNode(item);\n if (!rowNode) {\n return;\n }\n rowNode.updateData(item);\n if (!rowNode.selectable && rowNode.isSelected()) {\n nodesToUnselect.push(rowNode);\n }\n _this.setMasterForRow(rowNode, item, ClientSideNodeManager.TOP_LEVEL, false);\n rowNodeTransaction.update.push(rowNode);\n });\n };\n ClientSideNodeManager.prototype.lookupRowNode = function (data) {\n var getRowIdFunc = this.gridOptionsWrapper.getRowIdFunc();\n var rowNode;\n if (getRowIdFunc) {\n // find rowNode using id\n var id = getRowIdFunc({ data: data, level: 0 });\n rowNode = this.allNodesMap[id];\n if (!rowNode) {\n console.error(\"AG Grid: could not find row id=\" + id + \", data item was not found for this id\");\n return null;\n }\n }\n else {\n // find rowNode using object references\n rowNode = this.rootNode.allLeafChildren.find(function (node) { return node.data === data; });\n if (!rowNode) {\n console.error(\"AG Grid: could not find data item as object was not found\", data);\n console.error(\"Consider using getRowId to help the Grid find matching row data\");\n return null;\n }\n }\n return rowNode || null;\n };\n ClientSideNodeManager.prototype.createNode = function (dataItem, parent, level) {\n var node = new RowNode(this.beans);\n node.group = false;\n this.setMasterForRow(node, dataItem, level, true);\n if (parent && !this.suppressParentsInRowNodes) {\n node.parent = parent;\n }\n node.level = level;\n node.setDataAndId(dataItem, this.nextId.toString());\n if (this.allNodesMap[node.id]) {\n console.warn(\"AG Grid: duplicate node id '\" + node.id + \"' detected from getRowId callback, this could cause issues in your grid.\");\n }\n this.allNodesMap[node.id] = node;\n this.nextId++;\n return node;\n };\n ClientSideNodeManager.prototype.setMasterForRow = function (rowNode, data, level, setExpanded) {\n if (this.doingTreeData) {\n rowNode.setMaster(false);\n if (setExpanded) {\n rowNode.expanded = false;\n }\n }\n else {\n // this is the default, for when doing grid data\n if (this.doingMasterDetail) {\n // if we are doing master detail, then the\n // default is that everything can be a Master Row.\n if (this.isRowMasterFunc) {\n rowNode.setMaster(this.isRowMasterFunc(data));\n }\n else {\n rowNode.setMaster(true);\n }\n }\n else {\n rowNode.setMaster(false);\n }\n if (setExpanded) {\n var rowGroupColumns = this.columnModel.getRowGroupColumns();\n var numRowGroupColumns = rowGroupColumns ? rowGroupColumns.length : 0;\n // need to take row group into account when determining level\n var masterRowLevel = level + numRowGroupColumns;\n rowNode.expanded = rowNode.master ? this.isExpanded(masterRowLevel) : false;\n }\n }\n };\n ClientSideNodeManager.prototype.isExpanded = function (level) {\n var expandByDefault = this.gridOptionsWrapper.getGroupDefaultExpanded();\n if (expandByDefault === -1) {\n return true;\n }\n return level < expandByDefault;\n };\n ClientSideNodeManager.TOP_LEVEL = 0;\n ClientSideNodeManager.ROOT_NODE_ID = 'ROOT_NODE_ID';\n return ClientSideNodeManager;\n}());\n\nvar __extends$c = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RecursionType;\n(function (RecursionType) {\n RecursionType[RecursionType[\"Normal\"] = 0] = \"Normal\";\n RecursionType[RecursionType[\"AfterFilter\"] = 1] = \"AfterFilter\";\n RecursionType[RecursionType[\"AfterFilterAndSort\"] = 2] = \"AfterFilterAndSort\";\n RecursionType[RecursionType[\"PivotNodes\"] = 3] = \"PivotNodes\";\n})(RecursionType || (RecursionType = {}));\nvar ClientSideRowModel = /** @class */ (function (_super) {\n __extends$c(ClientSideRowModel, _super);\n function ClientSideRowModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onRowHeightChanged_debounced = _.debounce(_this.onRowHeightChanged.bind(_this), 100);\n _this.rowsToDisplay = []; // the rows mapped to rows to display\n return _this;\n }\n ClientSideRowModel.prototype.init = function () {\n var refreshEverythingFunc = this.refreshModel.bind(this, { step: ClientSideRowModelSteps.EVERYTHING });\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n var refreshEverythingAfterColsChangedFunc = this.refreshModel.bind(this, {\n step: ClientSideRowModelSteps.EVERYTHING,\n afterColumnsChanged: true,\n keepRenderedRows: true,\n animate: animate\n });\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, refreshEverythingAfterColsChangedFunc);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, refreshEverythingFunc);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VALUE_CHANGED, this.onValueChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_CHANGED, this.refreshModel.bind(this, { step: ClientSideRowModelSteps.PIVOT }));\n this.addManagedListener(this.eventService, Events.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, this.onSortChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, refreshEverythingFunc);\n var refreshMapListener = this.refreshModel.bind(this, {\n step: ClientSideRowModelSteps.MAP,\n keepRenderedRows: true,\n animate: animate\n });\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN, refreshMapListener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN, refreshMapListener);\n this.rootNode = new RowNode(this.beans);\n this.nodeManager = new ClientSideNodeManager(this.rootNode, this.gridOptionsWrapper, this.eventService, this.columnModel, this.selectionService, this.beans);\n };\n ClientSideRowModel.prototype.start = function () {\n var rowData = this.gridOptionsWrapper.getRowData();\n if (rowData) {\n this.setRowData(rowData);\n }\n };\n ClientSideRowModel.prototype.ensureRowHeightsValid = function (startPixel, endPixel, startLimitIndex, endLimitIndex) {\n var atLeastOneChange;\n var res = false;\n // we do this multiple times as changing the row heights can also change the first and last rows,\n // so the first pass can make lots of rows smaller, which means the second pass we end up changing\n // more rows.\n do {\n atLeastOneChange = false;\n var rowAtStartPixel = this.getRowIndexAtPixel(startPixel);\n var rowAtEndPixel = this.getRowIndexAtPixel(endPixel);\n // keep check to current page if doing pagination\n var firstRow = Math.max(rowAtStartPixel, startLimitIndex);\n var lastRow = Math.min(rowAtEndPixel, endLimitIndex);\n for (var rowIndex = firstRow; rowIndex <= lastRow; rowIndex++) {\n var rowNode = this.getRow(rowIndex);\n if (rowNode.rowHeightEstimated) {\n var rowHeight = this.gridOptionsWrapper.getRowHeightForNode(rowNode);\n rowNode.setRowHeight(rowHeight.height);\n atLeastOneChange = true;\n res = true;\n }\n }\n if (atLeastOneChange) {\n this.setRowTopAndRowIndex();\n }\n } while (atLeastOneChange);\n return res;\n };\n ClientSideRowModel.prototype.setRowTopAndRowIndex = function () {\n var defaultRowHeight = this.gridOptionsWrapper.getDefaultRowHeight();\n var nextRowTop = 0;\n // mapping displayed rows is not needed for this method, however it's used in\n // clearRowTopAndRowIndex(), and given we are looping through this.rowsToDisplay here,\n // we create the map here for performance reasons, so we don't loop a second time\n // in clearRowTopAndRowIndex()\n var displayedRowsMapped = new Set();\n // we don't estimate if doing fullHeight or autoHeight, as all rows get rendered all the time\n // with these two layouts.\n var allowEstimate = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_NORMAL;\n for (var i = 0; i < this.rowsToDisplay.length; i++) {\n var rowNode = this.rowsToDisplay[i];\n if (rowNode.id != null) {\n displayedRowsMapped.add(rowNode.id);\n }\n if (rowNode.rowHeight == null) {\n var rowHeight = this.gridOptionsWrapper.getRowHeightForNode(rowNode, allowEstimate, defaultRowHeight);\n rowNode.setRowHeight(rowHeight.height, rowHeight.estimated);\n }\n rowNode.setRowTop(nextRowTop);\n rowNode.setRowIndex(i);\n nextRowTop += rowNode.rowHeight;\n }\n return displayedRowsMapped;\n };\n ClientSideRowModel.prototype.clearRowTopAndRowIndex = function (changedPath, displayedRowsMapped) {\n var changedPathActive = changedPath.isActive();\n var clearIfNotDisplayed = function (rowNode) {\n if (rowNode && rowNode.id != null && !displayedRowsMapped.has(rowNode.id)) {\n rowNode.clearRowTopAndRowIndex();\n }\n };\n var recurse = function (rowNode) {\n clearIfNotDisplayed(rowNode);\n clearIfNotDisplayed(rowNode.detailNode);\n clearIfNotDisplayed(rowNode.sibling);\n if (rowNode.hasChildren()) {\n if (rowNode.childrenAfterGroup) {\n // if a changedPath is active, it means we are here because of a transaction update or\n // a change detection. neither of these impacts the open/closed state of groups. so if\n // a group is not open this time, it was not open last time. so we know all closed groups\n // already have their top positions cleared. so there is no need to traverse all the way\n // when changedPath is active and the rowNode is not expanded.\n var isRootNode = rowNode.level == -1; // we need to give special consideration for root node,\n // as expanded=undefined for root node\n var skipChildren = changedPathActive && !isRootNode && !rowNode.expanded;\n if (!skipChildren) {\n rowNode.childrenAfterGroup.forEach(recurse);\n }\n }\n }\n };\n recurse(this.rootNode);\n };\n // returns false if row was moved, otherwise true\n ClientSideRowModel.prototype.ensureRowsAtPixel = function (rowNodes, pixel, increment) {\n var _this = this;\n if (increment === void 0) { increment = 0; }\n var indexAtPixelNow = this.getRowIndexAtPixel(pixel);\n var rowNodeAtPixelNow = this.getRow(indexAtPixelNow);\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n if (rowNodeAtPixelNow === rowNodes[0]) {\n return false;\n }\n rowNodes.forEach(function (rowNode) {\n _.removeFromArray(_this.rootNode.allLeafChildren, rowNode);\n });\n rowNodes.forEach(function (rowNode, idx) {\n _.insertIntoArray(_this.rootNode.allLeafChildren, rowNode, Math.max(indexAtPixelNow + increment, 0) + idx);\n });\n this.refreshModel({\n step: ClientSideRowModelSteps.EVERYTHING,\n keepRenderedRows: true,\n keepEditingRows: true,\n animate: animate\n });\n return true;\n };\n ClientSideRowModel.prototype.highlightRowAtPixel = function (rowNode, pixel) {\n var indexAtPixelNow = pixel != null ? this.getRowIndexAtPixel(pixel) : null;\n var rowNodeAtPixelNow = indexAtPixelNow != null ? this.getRow(indexAtPixelNow) : null;\n if (!rowNodeAtPixelNow || !rowNode || rowNodeAtPixelNow === rowNode || pixel == null) {\n if (this.lastHighlightedRow) {\n this.lastHighlightedRow.setHighlighted(null);\n this.lastHighlightedRow = null;\n }\n return;\n }\n var highlight = this.getHighlightPosition(pixel, rowNodeAtPixelNow);\n if (this.lastHighlightedRow && this.lastHighlightedRow !== rowNodeAtPixelNow) {\n this.lastHighlightedRow.setHighlighted(null);\n this.lastHighlightedRow = null;\n }\n rowNodeAtPixelNow.setHighlighted(highlight);\n this.lastHighlightedRow = rowNodeAtPixelNow;\n };\n ClientSideRowModel.prototype.getHighlightPosition = function (pixel, rowNode) {\n if (!rowNode) {\n var index = this.getRowIndexAtPixel(pixel);\n rowNode = this.getRow(index || 0);\n if (!rowNode) {\n return RowHighlightPosition.Below;\n }\n }\n var rowTop = rowNode.rowTop, rowHeight = rowNode.rowHeight;\n return pixel - rowTop < rowHeight / 2 ? RowHighlightPosition.Above : RowHighlightPosition.Below;\n };\n ClientSideRowModel.prototype.getLastHighlightedRowNode = function () {\n return this.lastHighlightedRow;\n };\n ClientSideRowModel.prototype.isLastRowIndexKnown = function () {\n return true;\n };\n ClientSideRowModel.prototype.getRowCount = function () {\n if (this.rowsToDisplay) {\n return this.rowsToDisplay.length;\n }\n return 0;\n };\n ClientSideRowModel.prototype.getTopLevelRowCount = function () {\n var showingRootNode = this.rowsToDisplay && this.rowsToDisplay[0] === this.rootNode;\n if (showingRootNode) {\n return 1;\n }\n var filteredChildren = this.rootNode.childrenAfterAggFilter;\n return filteredChildren ? filteredChildren.length : 0;\n };\n ClientSideRowModel.prototype.getTopLevelRowDisplayedIndex = function (topLevelIndex) {\n var showingRootNode = this.rowsToDisplay && this.rowsToDisplay[0] === this.rootNode;\n if (showingRootNode) {\n return topLevelIndex;\n }\n var rowNode = this.rootNode.childrenAfterSort[topLevelIndex];\n if (this.gridOptionsWrapper.isGroupHideOpenParents()) {\n // if hideOpenParents, and this row open, then this row is now displayed at this index, first child is\n while (rowNode.expanded && rowNode.childrenAfterSort && rowNode.childrenAfterSort.length > 0) {\n rowNode = rowNode.childrenAfterSort[0];\n }\n }\n return rowNode.rowIndex;\n };\n ClientSideRowModel.prototype.getRowBounds = function (index) {\n if (_.missing(this.rowsToDisplay)) {\n return null;\n }\n var rowNode = this.rowsToDisplay[index];\n if (rowNode) {\n return {\n rowTop: rowNode.rowTop,\n rowHeight: rowNode.rowHeight\n };\n }\n return null;\n };\n ClientSideRowModel.prototype.onRowGroupOpened = function () {\n var animate = this.gridOptionsWrapper.isAnimateRows();\n this.refreshModel({ step: ClientSideRowModelSteps.MAP, keepRenderedRows: true, animate: animate });\n };\n ClientSideRowModel.prototype.onFilterChanged = function (event) {\n if (event.afterDataChange) {\n return;\n }\n var animate = this.gridOptionsWrapper.isAnimateRows();\n var primaryOrQuickFilterChanged = event.columns.length === 0 || event.columns.some(function (col) { return col.isPrimary(); });\n var step = primaryOrQuickFilterChanged ? ClientSideRowModelSteps.FILTER : ClientSideRowModelSteps.FILTER_AGGREGATES;\n this.refreshModel({ step: step, keepRenderedRows: true, animate: animate });\n };\n ClientSideRowModel.prototype.onSortChanged = function () {\n var animate = this.gridOptionsWrapper.isAnimateRows();\n this.refreshModel({ step: ClientSideRowModelSteps.SORT, keepRenderedRows: true, animate: animate, keepEditingRows: true });\n };\n ClientSideRowModel.prototype.getType = function () {\n return Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n };\n ClientSideRowModel.prototype.onValueChanged = function () {\n if (this.columnModel.isPivotActive()) {\n this.refreshModel({ step: ClientSideRowModelSteps.PIVOT });\n }\n else {\n this.refreshModel({ step: ClientSideRowModelSteps.AGGREGATE });\n }\n };\n ClientSideRowModel.prototype.createChangePath = function (rowNodeTransactions) {\n // for updates, if the row is updated at all, then we re-calc all the values\n // in that row. we could compare each value to each old value, however if we\n // did this, we would be calling the valueService twice, once on the old value\n // and once on the new value. so it's less valueGetter calls if we just assume\n // each column is different. that way the changedPath is used so that only\n // the impacted parent rows are recalculated, parents who's children have\n // not changed are not impacted.\n var noTransactions = _.missingOrEmpty(rowNodeTransactions);\n var changedPath = new ChangedPath(false, this.rootNode);\n if (noTransactions || this.gridOptionsWrapper.isTreeData()) {\n changedPath.setInactive();\n }\n return changedPath;\n };\n ClientSideRowModel.prototype.isSuppressModelUpdateAfterUpdateTransaction = function (params) {\n if (!this.gridOptionsWrapper.isSuppressModelUpdateAfterUpdateTransaction()) {\n return false;\n }\n // return true if we are only doing update transactions\n if (params.rowNodeTransactions == null) {\n return false;\n }\n var transWithAddsOrDeletes = params.rowNodeTransactions.filter(function (tx) {\n return (tx.add != null && tx.add.length > 0) || (tx.remove != null && tx.remove.length > 0);\n });\n var transactionsContainUpdatesOnly = transWithAddsOrDeletes == null || transWithAddsOrDeletes.length == 0;\n return transactionsContainUpdatesOnly;\n };\n ClientSideRowModel.prototype.refreshModel = function (params) {\n if (this.isSuppressModelUpdateAfterUpdateTransaction(params)) {\n return;\n }\n // this goes through the pipeline of stages. what's in my head is similar\n // to the diagram on this page:\n // http://commons.apache.org/sandbox/commons-pipeline/pipeline_basics.html\n // however we want to keep the results of each stage, hence we manually call\n // each step rather than have them chain each other.\n // fallthrough in below switch is on purpose,\n // eg if STEP_FILTER, then all steps below this\n // step get done\n // let start: number;\n // console.log('======= start =======');\n var changedPath = this.createChangePath(params.rowNodeTransactions);\n switch (params.step) {\n case ClientSideRowModelSteps.EVERYTHING:\n this.doRowGrouping(params.groupState, params.rowNodeTransactions, params.rowNodeOrder, changedPath, !!params.afterColumnsChanged);\n case ClientSideRowModelSteps.FILTER:\n this.doFilter(changedPath);\n case ClientSideRowModelSteps.PIVOT:\n this.doPivot(changedPath);\n case ClientSideRowModelSteps.AGGREGATE: // depends on agg fields\n this.doAggregate(changedPath);\n case ClientSideRowModelSteps.FILTER_AGGREGATES:\n this.doFilterAggregates(changedPath);\n case ClientSideRowModelSteps.SORT:\n this.doSort(params.rowNodeTransactions, changedPath);\n case ClientSideRowModelSteps.MAP:\n this.doRowsToDisplay();\n }\n // set all row tops to null, then set row tops on all visible rows. if we don't\n // do this, then the algorithm below only sets row tops, old row tops from old rows\n // will still lie around\n var displayedNodesMapped = this.setRowTopAndRowIndex();\n this.clearRowTopAndRowIndex(changedPath, displayedNodesMapped);\n var event = {\n type: Events.EVENT_MODEL_UPDATED,\n animate: params.animate,\n keepRenderedRows: params.keepRenderedRows,\n newData: params.newData,\n newPage: false,\n keepUndoRedoStack: params.keepUndoRedoStack\n };\n this.eventService.dispatchEvent(event);\n };\n ClientSideRowModel.prototype.isEmpty = function () {\n var rowsMissing = _.missing(this.rootNode.allLeafChildren) || this.rootNode.allLeafChildren.length === 0;\n return _.missing(this.rootNode) || rowsMissing || !this.columnModel.isReady();\n };\n ClientSideRowModel.prototype.isRowsToRender = function () {\n return _.exists(this.rowsToDisplay) && this.rowsToDisplay.length > 0;\n };\n ClientSideRowModel.prototype.getNodesInRangeForSelection = function (firstInRange, lastInRange) {\n // if lastSelectedNode is missing, we start at the first row\n var firstRowHit = !lastInRange;\n var lastRowHit = false;\n var lastRow;\n var result = [];\n var groupsSelectChildren = this.gridOptionsWrapper.isGroupSelectsChildren();\n this.forEachNodeAfterFilterAndSort(function (rowNode) {\n var lookingForLastRow = firstRowHit && !lastRowHit;\n // check if we need to flip the select switch\n if (!firstRowHit) {\n if (rowNode === lastInRange || rowNode === firstInRange) {\n firstRowHit = true;\n }\n }\n var skipThisGroupNode = rowNode.group && groupsSelectChildren;\n if (!skipThisGroupNode) {\n var inRange = firstRowHit && !lastRowHit;\n var childOfLastRow = rowNode.isParentOfNode(lastRow);\n if (inRange || childOfLastRow) {\n result.push(rowNode);\n }\n }\n if (lookingForLastRow) {\n if (rowNode === lastInRange || rowNode === firstInRange) {\n lastRowHit = true;\n if (rowNode === lastInRange) {\n lastRow = lastInRange;\n }\n else {\n lastRow = firstInRange;\n }\n }\n }\n });\n return result;\n };\n ClientSideRowModel.prototype.setDatasource = function (datasource) {\n console.error('AG Grid: should never call setDatasource on clientSideRowController');\n };\n ClientSideRowModel.prototype.getTopLevelNodes = function () {\n return this.rootNode ? this.rootNode.childrenAfterGroup : null;\n };\n ClientSideRowModel.prototype.getRootNode = function () {\n return this.rootNode;\n };\n ClientSideRowModel.prototype.getRow = function (index) {\n return this.rowsToDisplay[index];\n };\n ClientSideRowModel.prototype.isRowPresent = function (rowNode) {\n return this.rowsToDisplay.indexOf(rowNode) >= 0;\n };\n ClientSideRowModel.prototype.getRowIndexAtPixel = function (pixelToMatch) {\n if (this.isEmpty() || this.rowsToDisplay.length === 0) {\n return -1;\n }\n // do binary search of tree\n // http://oli.me.uk/2013/06/08/searching-javascript-arrays-with-a-binary-search/\n var bottomPointer = 0;\n var topPointer = this.rowsToDisplay.length - 1;\n // quick check, if the pixel is out of bounds, then return last row\n if (pixelToMatch <= 0) {\n // if pixel is less than or equal zero, it's always the first row\n return 0;\n }\n var lastNode = _.last(this.rowsToDisplay);\n if (lastNode.rowTop <= pixelToMatch) {\n return this.rowsToDisplay.length - 1;\n }\n var oldBottomPointer = -1;\n var oldTopPointer = -1;\n while (true) {\n var midPointer = Math.floor((bottomPointer + topPointer) / 2);\n var currentRowNode = this.rowsToDisplay[midPointer];\n if (this.isRowInPixel(currentRowNode, pixelToMatch)) {\n return midPointer;\n }\n if (currentRowNode.rowTop < pixelToMatch) {\n bottomPointer = midPointer + 1;\n }\n else if (currentRowNode.rowTop > pixelToMatch) {\n topPointer = midPointer - 1;\n }\n // infinite loops happen when there is space between rows. this can happen\n // when Auto Height is active, cos we re-calculate row tops asyncronously\n // when row heights change, which can temporarly result in gaps between rows.\n var caughtInInfiniteLoop = oldBottomPointer === bottomPointer\n && oldTopPointer === topPointer;\n if (caughtInInfiniteLoop) {\n return midPointer;\n }\n oldBottomPointer = bottomPointer;\n oldTopPointer = topPointer;\n }\n };\n ClientSideRowModel.prototype.isRowInPixel = function (rowNode, pixelToMatch) {\n var topPixel = rowNode.rowTop;\n var bottomPixel = rowNode.rowTop + rowNode.rowHeight;\n var pixelInRow = topPixel <= pixelToMatch && bottomPixel > pixelToMatch;\n return pixelInRow;\n };\n ClientSideRowModel.prototype.forEachLeafNode = function (callback) {\n if (this.rootNode.allLeafChildren) {\n this.rootNode.allLeafChildren.forEach(function (rowNode, index) { return callback(rowNode, index); });\n }\n };\n ClientSideRowModel.prototype.forEachNode = function (callback) {\n this.recursivelyWalkNodesAndCallback(this.rootNode.childrenAfterGroup, callback, RecursionType.Normal, 0);\n };\n ClientSideRowModel.prototype.forEachNodeAfterFilter = function (callback) {\n this.recursivelyWalkNodesAndCallback(this.rootNode.childrenAfterAggFilter, callback, RecursionType.AfterFilter, 0);\n };\n ClientSideRowModel.prototype.forEachNodeAfterFilterAndSort = function (callback) {\n this.recursivelyWalkNodesAndCallback(this.rootNode.childrenAfterSort, callback, RecursionType.AfterFilterAndSort, 0);\n };\n ClientSideRowModel.prototype.forEachPivotNode = function (callback) {\n this.recursivelyWalkNodesAndCallback([this.rootNode], callback, RecursionType.PivotNodes, 0);\n };\n // iterates through each item in memory, and calls the callback function\n // nodes - the rowNodes to traverse\n // callback - the user provided callback\n // recursion type - need this to know what child nodes to recurse, eg if looking at all nodes, or filtered notes etc\n // index - works similar to the index in forEach in javascript's array function\n ClientSideRowModel.prototype.recursivelyWalkNodesAndCallback = function (nodes, callback, recursionType, index) {\n if (!nodes) {\n return index;\n }\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n callback(node, index++);\n // go to the next level if it is a group\n if (node.hasChildren()) {\n // depending on the recursion type, we pick a difference set of children\n var nodeChildren = null;\n switch (recursionType) {\n case RecursionType.Normal:\n nodeChildren = node.childrenAfterGroup;\n break;\n case RecursionType.AfterFilter:\n nodeChildren = node.childrenAfterAggFilter;\n break;\n case RecursionType.AfterFilterAndSort:\n nodeChildren = node.childrenAfterSort;\n break;\n case RecursionType.PivotNodes:\n // for pivot, we don't go below leafGroup levels\n nodeChildren = !node.leafGroup ? node.childrenAfterSort : null;\n break;\n }\n if (nodeChildren) {\n index = this.recursivelyWalkNodesAndCallback(nodeChildren, callback, recursionType, index);\n }\n }\n }\n return index;\n };\n // it's possible to recompute the aggregate without doing the other parts\n // + gridApi.recomputeAggregates()\n ClientSideRowModel.prototype.doAggregate = function (changedPath) {\n if (this.aggregationStage) {\n this.aggregationStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n }\n };\n ClientSideRowModel.prototype.doFilterAggregates = function (changedPath) {\n if (this.filterAggregatesStage) {\n this.filterAggregatesStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n }\n else {\n // If filterAggregatesStage is undefined, then so is the grouping stage, so all children should be on the rootNode.\n this.rootNode.childrenAfterAggFilter = this.rootNode.childrenAfterFilter;\n }\n };\n // + gridApi.expandAll()\n // + gridApi.collapseAll()\n ClientSideRowModel.prototype.expandOrCollapseAll = function (expand) {\n var usingTreeData = this.gridOptionsWrapper.isTreeData();\n var usingPivotMode = this.columnModel.isPivotActive();\n var recursiveExpandOrCollapse = function (rowNodes) {\n if (!rowNodes) {\n return;\n }\n rowNodes.forEach(function (rowNode) {\n var actionRow = function () {\n rowNode.expanded = expand;\n recursiveExpandOrCollapse(rowNode.childrenAfterGroup);\n };\n if (usingTreeData) {\n var hasChildren = _.exists(rowNode.childrenAfterGroup);\n if (hasChildren) {\n actionRow();\n }\n return;\n }\n if (usingPivotMode) {\n var notLeafGroup = !rowNode.leafGroup;\n if (notLeafGroup) {\n actionRow();\n }\n return;\n }\n var isRowGroup = rowNode.group;\n if (isRowGroup) {\n actionRow();\n }\n });\n };\n if (this.rootNode) {\n recursiveExpandOrCollapse(this.rootNode.childrenAfterGroup);\n }\n this.refreshModel({ step: ClientSideRowModelSteps.MAP });\n var eventSource = expand ? 'expandAll' : 'collapseAll';\n var event = {\n type: Events.EVENT_EXPAND_COLLAPSE_ALL,\n source: eventSource\n };\n this.eventService.dispatchEvent(event);\n };\n ClientSideRowModel.prototype.doSort = function (rowNodeTransactions, changedPath) {\n this.sortStage.execute({\n rowNode: this.rootNode,\n rowNodeTransactions: rowNodeTransactions,\n changedPath: changedPath\n });\n };\n ClientSideRowModel.prototype.doRowGrouping = function (groupState, rowNodeTransactions, rowNodeOrder, changedPath, afterColumnsChanged) {\n if (this.groupStage) {\n if (rowNodeTransactions) {\n this.groupStage.execute({\n rowNode: this.rootNode,\n rowNodeTransactions: rowNodeTransactions,\n rowNodeOrder: rowNodeOrder,\n changedPath: changedPath\n });\n }\n else {\n this.groupStage.execute({\n rowNode: this.rootNode,\n changedPath: changedPath,\n afterColumnsChanged: afterColumnsChanged\n });\n // set open/closed state on groups\n this.restoreGroupState(groupState);\n }\n if (this.gridOptionsWrapper.isGroupSelectsChildren()) {\n this.selectionService.updateGroupsFromChildrenSelections(changedPath);\n }\n }\n else {\n this.rootNode.childrenAfterGroup = this.rootNode.allLeafChildren;\n if (this.rootNode.sibling) {\n this.rootNode.sibling.childrenAfterGroup = this.rootNode.childrenAfterGroup;\n }\n this.rootNode.updateHasChildren();\n }\n };\n ClientSideRowModel.prototype.restoreGroupState = function (groupState) {\n if (!groupState) {\n return;\n }\n _.traverseNodesWithKey(this.rootNode.childrenAfterGroup, function (node, key) {\n // if the group was open last time, then open it this time. however\n // if was not open last time, then don't touch the group, so the 'groupDefaultExpanded'\n // setting will take effect.\n if (typeof groupState[key] === 'boolean') {\n node.expanded = groupState[key];\n }\n });\n };\n ClientSideRowModel.prototype.doFilter = function (changedPath) {\n this.filterStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n };\n ClientSideRowModel.prototype.doPivot = function (changedPath) {\n if (this.pivotStage) {\n this.pivotStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n }\n };\n ClientSideRowModel.prototype.getGroupState = function () {\n if (!this.rootNode.childrenAfterGroup || !this.gridOptionsWrapper.isRememberGroupStateWhenNewData()) {\n return null;\n }\n var result = {};\n _.traverseNodesWithKey(this.rootNode.childrenAfterGroup, function (node, key) { return result[key] = node.expanded; });\n return result;\n };\n ClientSideRowModel.prototype.getCopyOfNodesMap = function () {\n return this.nodeManager.getCopyOfNodesMap();\n };\n ClientSideRowModel.prototype.getRowNode = function (id) {\n // although id is typed a string, this could be called by the user, and they could have passed a number\n var idIsGroup = typeof id == 'string' && id.indexOf(RowNode.ID_PREFIX_ROW_GROUP) == 0;\n if (idIsGroup) {\n // only one users complained about getRowNode not working for groups, after years of\n // this working for normal rows. so have done quick implementation. if users complain\n // about performance, then GroupStage should store / manage created groups in a map,\n // which is a chunk of work.\n var res_1 = undefined;\n this.forEachNode(function (node) {\n if (node.id === id) {\n res_1 = node;\n }\n });\n return res_1;\n }\n return this.nodeManager.getRowNode(id);\n };\n // rows: the rows to put into the model\n ClientSideRowModel.prototype.setRowData = function (rowData) {\n // no need to invalidate cache, as the cache is stored on the rowNode,\n // so new rowNodes means the cache is wiped anyway.\n // remember group state, so we can expand groups that should be expanded\n var groupState = this.getGroupState();\n this.nodeManager.setRowData(rowData);\n // - clears selection\n this.selectionService.reset();\n // - updates filters\n this.filterManager.onNewRowsLoaded('rowDataUpdated');\n // this event kicks off:\n // - shows 'no rows' overlay if needed\n var rowDataUpdatedEvent = {\n type: Events.EVENT_ROW_DATA_UPDATED\n };\n this.eventService.dispatchEvent(rowDataUpdatedEvent);\n this.refreshModel({\n step: ClientSideRowModelSteps.EVERYTHING,\n groupState: groupState,\n newData: true\n });\n };\n ClientSideRowModel.prototype.batchUpdateRowData = function (rowDataTransaction, callback) {\n var _this = this;\n if (this.applyAsyncTransactionsTimeout == null) {\n this.rowDataTransactionBatch = [];\n var waitMillis = this.gridOptionsWrapper.getAsyncTransactionWaitMillis();\n this.applyAsyncTransactionsTimeout = window.setTimeout(function () {\n _this.executeBatchUpdateRowData();\n }, waitMillis);\n }\n this.rowDataTransactionBatch.push({ rowDataTransaction: rowDataTransaction, callback: callback });\n };\n ClientSideRowModel.prototype.flushAsyncTransactions = function () {\n if (this.applyAsyncTransactionsTimeout != null) {\n clearTimeout(this.applyAsyncTransactionsTimeout);\n this.executeBatchUpdateRowData();\n }\n };\n ClientSideRowModel.prototype.executeBatchUpdateRowData = function () {\n var _this = this;\n this.valueCache.onDataChanged();\n var callbackFuncsBound = [];\n var rowNodeTrans = [];\n // The rowGroup stage uses rowNodeOrder if order was provided. if we didn't pass 'true' to\n // commonUpdateRowData, using addIndex would have no effect when grouping.\n var forceRowNodeOrder = false;\n if (this.rowDataTransactionBatch) {\n this.rowDataTransactionBatch.forEach(function (tranItem) {\n var rowNodeTran = _this.nodeManager.updateRowData(tranItem.rowDataTransaction, undefined);\n rowNodeTrans.push(rowNodeTran);\n if (tranItem.callback) {\n callbackFuncsBound.push(tranItem.callback.bind(null, rowNodeTran));\n }\n if (typeof tranItem.rowDataTransaction.addIndex === 'number') {\n forceRowNodeOrder = true;\n }\n });\n }\n this.commonUpdateRowData(rowNodeTrans, undefined, forceRowNodeOrder);\n // do callbacks in next VM turn so it's async\n if (callbackFuncsBound.length > 0) {\n window.setTimeout(function () {\n callbackFuncsBound.forEach(function (func) { return func(); });\n }, 0);\n }\n if (rowNodeTrans.length > 0) {\n var event_1 = {\n type: Events.EVENT_ASYNC_TRANSACTIONS_FLUSHED,\n results: rowNodeTrans\n };\n this.eventService.dispatchEvent(event_1);\n }\n this.rowDataTransactionBatch = null;\n this.applyAsyncTransactionsTimeout = undefined;\n };\n ClientSideRowModel.prototype.updateRowData = function (rowDataTran, rowNodeOrder) {\n this.valueCache.onDataChanged();\n var rowNodeTran = this.nodeManager.updateRowData(rowDataTran, rowNodeOrder);\n // if doing immutableData, addIndex is never present. however if doing standard transaction, and user\n // provided addIndex, then this is used in updateRowData. However if doing Enterprise, then the rowGroup\n // stage also uses the\n var forceRowNodeOrder = typeof rowDataTran.addIndex === 'number';\n this.commonUpdateRowData([rowNodeTran], rowNodeOrder, forceRowNodeOrder);\n return rowNodeTran;\n };\n ClientSideRowModel.prototype.createRowNodeOrder = function () {\n var suppressSortOrder = this.gridOptionsWrapper.isSuppressMaintainUnsortedOrder();\n if (suppressSortOrder) {\n return;\n }\n var orderMap = {};\n if (this.rootNode && this.rootNode.allLeafChildren) {\n for (var index = 0; index < this.rootNode.allLeafChildren.length; index++) {\n var node = this.rootNode.allLeafChildren[index];\n orderMap[node.id] = index;\n }\n }\n return orderMap;\n };\n // common to updateRowData and batchUpdateRowData\n ClientSideRowModel.prototype.commonUpdateRowData = function (rowNodeTrans, rowNodeOrder, forceRowNodeOrder) {\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n if (forceRowNodeOrder) {\n rowNodeOrder = this.createRowNodeOrder();\n }\n this.refreshModel({\n step: ClientSideRowModelSteps.EVERYTHING,\n rowNodeTransactions: rowNodeTrans,\n rowNodeOrder: rowNodeOrder,\n keepRenderedRows: true,\n keepEditingRows: true,\n animate: animate\n });\n // - updates filters\n this.filterManager.onNewRowsLoaded('rowDataUpdated');\n var event = {\n type: Events.EVENT_ROW_DATA_UPDATED\n };\n this.eventService.dispatchEvent(event);\n };\n ClientSideRowModel.prototype.doRowsToDisplay = function () {\n this.rowsToDisplay = this.flattenStage.execute({ rowNode: this.rootNode });\n };\n ClientSideRowModel.prototype.onRowHeightChanged = function () {\n this.refreshModel({ step: ClientSideRowModelSteps.MAP, keepRenderedRows: true, keepEditingRows: true, keepUndoRedoStack: true });\n };\n /** This method is debounced. It is used for row auto-height. If we don't debounce,\n * then the Row Models will end up recalculating each row position\n * for each row height change and result in the Row Renderer laying out rows.\n * This is particularly bad if using print layout, and showing eg 1,000 rows,\n * each row will change it's height, causing Row Model to update 1,000 times.\n */\n ClientSideRowModel.prototype.onRowHeightChangedDebounced = function () {\n this.onRowHeightChanged_debounced();\n };\n ClientSideRowModel.prototype.resetRowHeights = function () {\n var atLeastOne = false;\n this.forEachNode(function (rowNode) {\n rowNode.setRowHeight(rowNode.rowHeight, true);\n // we keep the height each row is at, however we set estimated=true rather than clear the height.\n // this means the grid will not reset the row heights back to defaults, rather it will re-calc\n // the height for each row as the row is displayed. otherwise the scroll will jump when heights are reset.\n var detailNode = rowNode.detailNode;\n if (detailNode) {\n detailNode.setRowHeight(detailNode.rowHeight, true);\n }\n atLeastOne = true;\n });\n if (atLeastOne) {\n this.onRowHeightChanged();\n }\n };\n __decorate$b([\n Autowired('columnModel')\n ], ClientSideRowModel.prototype, \"columnModel\", void 0);\n __decorate$b([\n Autowired('selectionService')\n ], ClientSideRowModel.prototype, \"selectionService\", void 0);\n __decorate$b([\n Autowired('filterManager')\n ], ClientSideRowModel.prototype, \"filterManager\", void 0);\n __decorate$b([\n Autowired('valueCache')\n ], ClientSideRowModel.prototype, \"valueCache\", void 0);\n __decorate$b([\n Autowired('beans')\n ], ClientSideRowModel.prototype, \"beans\", void 0);\n __decorate$b([\n Autowired('filterStage')\n ], ClientSideRowModel.prototype, \"filterStage\", void 0);\n __decorate$b([\n Autowired('sortStage')\n ], ClientSideRowModel.prototype, \"sortStage\", void 0);\n __decorate$b([\n Autowired('flattenStage')\n ], ClientSideRowModel.prototype, \"flattenStage\", void 0);\n __decorate$b([\n Optional('groupStage')\n ], ClientSideRowModel.prototype, \"groupStage\", void 0);\n __decorate$b([\n Optional('aggregationStage')\n ], ClientSideRowModel.prototype, \"aggregationStage\", void 0);\n __decorate$b([\n Optional('pivotStage')\n ], ClientSideRowModel.prototype, \"pivotStage\", void 0);\n __decorate$b([\n Optional('filterAggregatesStage')\n ], ClientSideRowModel.prototype, \"filterAggregatesStage\", void 0);\n __decorate$b([\n PostConstruct\n ], ClientSideRowModel.prototype, \"init\", null);\n ClientSideRowModel = __decorate$b([\n Bean('rowModel')\n ], ClientSideRowModel);\n return ClientSideRowModel;\n}(BeanStub));\n\nvar __extends$b = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FilterStage = /** @class */ (function (_super) {\n __extends$b(FilterStage, _super);\n function FilterStage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterStage.prototype.execute = function (params) {\n var changedPath = params.changedPath;\n this.filterService.filter(changedPath);\n };\n __decorate$a([\n Autowired('filterService')\n ], FilterStage.prototype, \"filterService\", void 0);\n FilterStage = __decorate$a([\n Bean('filterStage')\n ], FilterStage);\n return FilterStage;\n}(BeanStub));\n\nvar __extends$a = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SortStage = /** @class */ (function (_super) {\n __extends$a(SortStage, _super);\n function SortStage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortStage.prototype.execute = function (params) {\n var _this = this;\n var sortOptions = this.sortController.getSortOptions();\n var sortActive = _.exists(sortOptions) && sortOptions.length > 0;\n var deltaSort = sortActive\n && _.exists(params.rowNodeTransactions)\n // in time we can remove this check, so that delta sort is always\n // on if transactions are present. it's off for now so that we can\n // selectively turn it on and test it with some select users before\n // rolling out to everyone.\n && this.gridOptionsWrapper.isDeltaSort();\n var sortContainsGroupColumns = sortOptions.some(function (opt) { return !!_this.columnModel.getGroupDisplayColumnForGroup(opt.column.getId()); });\n this.sortService.sort(sortOptions, sortActive, deltaSort, params.rowNodeTransactions, params.changedPath, sortContainsGroupColumns);\n };\n __decorate$9([\n Autowired('sortService')\n ], SortStage.prototype, \"sortService\", void 0);\n __decorate$9([\n Autowired('sortController')\n ], SortStage.prototype, \"sortController\", void 0);\n __decorate$9([\n Autowired('columnModel')\n ], SortStage.prototype, \"columnModel\", void 0);\n SortStage = __decorate$9([\n Bean('sortStage')\n ], SortStage);\n return SortStage;\n}(BeanStub));\n\nvar __extends$9 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FlattenStage = /** @class */ (function (_super) {\n __extends$9(FlattenStage, _super);\n function FlattenStage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FlattenStage.prototype.execute = function (params) {\n var rootNode = params.rowNode;\n // even if not doing grouping, we do the mapping, as the client might\n // of passed in data that already has a grouping in it somewhere\n var result = [];\n // putting value into a wrapper so it's passed by reference\n var nextRowTop = { value: 0 };\n var skipLeafNodes = this.columnModel.isPivotMode();\n // if we are reducing, and not grouping, then we want to show the root node, as that\n // is where the pivot values are\n var showRootNode = skipLeafNodes && rootNode.leafGroup;\n var topList = showRootNode ? [rootNode] : rootNode.childrenAfterSort;\n this.recursivelyAddToRowsToDisplay(topList, result, nextRowTop, skipLeafNodes, 0);\n // we do not want the footer total if the gris is empty\n var atLeastOneRowPresent = result.length > 0;\n var includeGroupTotalFooter = !showRootNode\n // don't show total footer when showRootNode is true (i.e. in pivot mode and no groups)\n && atLeastOneRowPresent\n && this.gridOptionsWrapper.isGroupIncludeTotalFooter();\n if (includeGroupTotalFooter) {\n this.ensureFooterNodeExists(rootNode);\n this.addRowNodeToRowsToDisplay(rootNode.sibling, result, nextRowTop, 0);\n }\n return result;\n };\n FlattenStage.prototype.recursivelyAddToRowsToDisplay = function (rowsToFlatten, result, nextRowTop, skipLeafNodes, uiLevel) {\n if (_.missingOrEmpty(rowsToFlatten)) {\n return;\n }\n var hideOpenParents = this.gridOptionsWrapper.isGroupHideOpenParents();\n // these two are mutually exclusive, so if first set, we don't set the second\n var groupRemoveSingleChildren = this.gridOptionsWrapper.isGroupRemoveSingleChildren();\n var groupRemoveLowestSingleChildren = !groupRemoveSingleChildren && this.gridOptionsWrapper.isGroupRemoveLowestSingleChildren();\n for (var i = 0; i < rowsToFlatten.length; i++) {\n var rowNode = rowsToFlatten[i];\n // check all these cases, for working out if this row should be included in the final mapped list\n var isParent = rowNode.hasChildren();\n var isSkippedLeafNode = skipLeafNodes && !isParent;\n var isRemovedSingleChildrenGroup = groupRemoveSingleChildren &&\n isParent &&\n rowNode.childrenAfterGroup.length === 1;\n var isRemovedLowestSingleChildrenGroup = groupRemoveLowestSingleChildren &&\n isParent &&\n rowNode.leafGroup &&\n rowNode.childrenAfterGroup.length === 1;\n // hide open parents means when group is open, we don't show it. we also need to make sure the\n // group is expandable in the first place (as leaf groups are not expandable if pivot mode is on).\n // the UI will never allow expanding leaf groups, however the user might via the API (or menu option 'expand all')\n var neverAllowToExpand = skipLeafNodes && rowNode.leafGroup;\n var isHiddenOpenParent = hideOpenParents && rowNode.expanded && !rowNode.master && (!neverAllowToExpand);\n var thisRowShouldBeRendered = !isSkippedLeafNode && !isHiddenOpenParent &&\n !isRemovedSingleChildrenGroup && !isRemovedLowestSingleChildrenGroup;\n if (thisRowShouldBeRendered) {\n this.addRowNodeToRowsToDisplay(rowNode, result, nextRowTop, uiLevel);\n }\n // if we are pivoting, we never map below the leaf group\n if (skipLeafNodes && rowNode.leafGroup) {\n continue;\n }\n if (isParent) {\n var excludedParent = isRemovedSingleChildrenGroup || isRemovedLowestSingleChildrenGroup;\n // we traverse the group if it is expended, however we always traverse if the parent node\n // was removed (as the group will never be opened if it is not displayed, we show the children instead)\n if (rowNode.expanded || excludedParent) {\n // if the parent was excluded, then ui level is that of the parent\n var uiLevelForChildren = excludedParent ? uiLevel : uiLevel + 1;\n this.recursivelyAddToRowsToDisplay(rowNode.childrenAfterSort, result, nextRowTop, skipLeafNodes, uiLevelForChildren);\n // put a footer in if user is looking for it\n if (this.gridOptionsWrapper.isGroupIncludeFooter()) {\n this.ensureFooterNodeExists(rowNode);\n this.addRowNodeToRowsToDisplay(rowNode.sibling, result, nextRowTop, uiLevel);\n }\n }\n }\n else if (rowNode.master && rowNode.expanded) {\n var detailNode = this.createDetailNode(rowNode);\n this.addRowNodeToRowsToDisplay(detailNode, result, nextRowTop, uiLevel);\n }\n }\n };\n // duplicated method, it's also in floatingRowModel\n FlattenStage.prototype.addRowNodeToRowsToDisplay = function (rowNode, result, nextRowTop, uiLevel) {\n var isGroupMultiAutoColumn = this.gridOptionsWrapper.isGroupMultiAutoColumn();\n result.push(rowNode);\n rowNode.setUiLevel(isGroupMultiAutoColumn ? 0 : uiLevel);\n };\n FlattenStage.prototype.ensureFooterNodeExists = function (groupNode) {\n // only create footer node once, otherwise we have daemons and\n // the animate screws up with the daemons hanging around\n if (_.exists(groupNode.sibling)) {\n return;\n }\n var footerNode = new RowNode(this.beans);\n Object.keys(groupNode).forEach(function (key) {\n footerNode[key] = groupNode[key];\n });\n footerNode.footer = true;\n footerNode.setRowTop(null);\n footerNode.setRowIndex(null);\n // manually set oldRowTop to null so we discard any\n // previous information about its position.\n footerNode.oldRowTop = null;\n if (_.exists(footerNode.id)) {\n footerNode.id = 'rowGroupFooter_' + footerNode.id;\n }\n // get both header and footer to reference each other as siblings. this is never undone,\n // only overwritten. so if a group is expanded, then contracted, it will have a ghost\n // sibling - but that's fine, as we can ignore this if the header is contracted.\n footerNode.sibling = groupNode;\n groupNode.sibling = footerNode;\n };\n FlattenStage.prototype.createDetailNode = function (masterNode) {\n if (_.exists(masterNode.detailNode)) {\n return masterNode.detailNode;\n }\n var detailNode = new RowNode(this.beans);\n detailNode.detail = true;\n detailNode.selectable = false;\n detailNode.parent = masterNode;\n if (_.exists(masterNode.id)) {\n detailNode.id = 'detail_' + masterNode.id;\n }\n detailNode.data = masterNode.data;\n detailNode.level = masterNode.level + 1;\n masterNode.detailNode = detailNode;\n return detailNode;\n };\n __decorate$8([\n Autowired('columnModel')\n ], FlattenStage.prototype, \"columnModel\", void 0);\n __decorate$8([\n Autowired('beans')\n ], FlattenStage.prototype, \"beans\", void 0);\n FlattenStage = __decorate$8([\n Bean('flattenStage')\n ], FlattenStage);\n return FlattenStage;\n}(BeanStub));\n\nvar __extends$8 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SortService = /** @class */ (function (_super) {\n __extends$8(SortService, _super);\n function SortService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortService.prototype.init = function () {\n this.postSortFunc = this.gridOptionsWrapper.getPostSortFunc();\n };\n SortService.prototype.sort = function (sortOptions, sortActive, useDeltaSort, rowNodeTransactions, changedPath, sortContainsGroupColumns) {\n var _this = this;\n var groupMaintainOrder = this.gridOptionsWrapper.isGroupMaintainOrder();\n var groupColumnsPresent = this.columnModel.getAllGridColumns().some(function (c) { return c.isRowGroupActive(); });\n var allDirtyNodes = {};\n if (useDeltaSort && rowNodeTransactions) {\n allDirtyNodes = this.calculateDirtyNodes(rowNodeTransactions);\n }\n var isPivotMode = this.columnModel.isPivotMode();\n var callback = function (rowNode) {\n // we clear out the 'pull down open parents' first, as the values mix up the sorting\n _this.pullDownGroupDataForHideOpenParents(rowNode.childrenAfterAggFilter, true);\n // It's pointless to sort rows which aren't being displayed. in pivot mode we don't need to sort the leaf group children.\n var skipSortingPivotLeafs = isPivotMode && rowNode.leafGroup;\n // Javascript sort is non deterministic when all the array items are equals, ie Comparator always returns 0,\n // so to ensure the array keeps its order, add an additional sorting condition manually, in this case we\n // are going to inspect the original array position. This is what sortedRowNodes is for.\n var skipSortingGroups = groupMaintainOrder && groupColumnsPresent && !rowNode.leafGroup && !sortContainsGroupColumns;\n if (!sortActive || skipSortingGroups || skipSortingPivotLeafs) {\n // when 'groupMaintainOrder' is enabled we skip sorting groups unless we are sorting on group columns\n var childrenToBeSorted = rowNode.childrenAfterAggFilter.slice(0);\n if (groupMaintainOrder && rowNode.childrenAfterSort) {\n var indexedOrders_1 = rowNode.childrenAfterSort.reduce(function (acc, row, idx) {\n acc[row.id] = idx;\n return acc;\n }, {});\n childrenToBeSorted.sort(function (row1, row2) { return (indexedOrders_1[row1.id] || 0) - (indexedOrders_1[row2.id] || 0); });\n }\n rowNode.childrenAfterSort = childrenToBeSorted;\n }\n else if (useDeltaSort) {\n rowNode.childrenAfterSort = _this.doDeltaSort(rowNode, allDirtyNodes, changedPath, sortOptions);\n }\n else {\n rowNode.childrenAfterSort = _this.rowNodeSorter.doFullSort(rowNode.childrenAfterAggFilter, sortOptions);\n }\n if (rowNode.sibling) {\n rowNode.sibling.childrenAfterSort = rowNode.childrenAfterSort;\n }\n _this.updateChildIndexes(rowNode);\n if (_this.postSortFunc) {\n var params = { nodes: rowNode.childrenAfterSort };\n _this.postSortFunc(params);\n }\n };\n if (changedPath) {\n changedPath.forEachChangedNodeDepthFirst(callback);\n }\n this.updateGroupDataForHideOpenParents(changedPath);\n };\n SortService.prototype.calculateDirtyNodes = function (rowNodeTransactions) {\n var dirtyNodes = {};\n var addNodesFunc = function (rowNodes) {\n if (rowNodes) {\n rowNodes.forEach(function (rowNode) { return dirtyNodes[rowNode.id] = true; });\n }\n };\n // all leaf level nodes in the transaction were impacted\n if (rowNodeTransactions) {\n rowNodeTransactions.forEach(function (tran) {\n addNodesFunc(tran.add);\n addNodesFunc(tran.update);\n addNodesFunc(tran.remove);\n });\n }\n return dirtyNodes;\n };\n SortService.prototype.doDeltaSort = function (rowNode, allTouchedNodes, changedPath, sortOptions) {\n var _this = this;\n var unsortedRows = rowNode.childrenAfterAggFilter;\n var oldSortedRows = rowNode.childrenAfterSort;\n if (!oldSortedRows) {\n return this.rowNodeSorter.doFullSort(unsortedRows, sortOptions);\n }\n var untouchedRowsMap = {};\n var touchedRows = [];\n unsortedRows.forEach(function (row) {\n if (allTouchedNodes[row.id] || !changedPath.canSkip(row)) {\n touchedRows.push(row);\n }\n else {\n untouchedRowsMap[row.id] = true;\n }\n });\n var sortedUntouchedRows = oldSortedRows.filter(function (child) { return untouchedRowsMap[child.id]; });\n var mapNodeToSortedNode = function (rowNode, pos) { return ({ currentPos: pos, rowNode: rowNode }); };\n var sortedChangedRows = touchedRows\n .map(mapNodeToSortedNode)\n .sort(function (a, b) { return _this.rowNodeSorter.compareRowNodes(sortOptions, a, b); });\n return this.mergeSortedArrays(sortOptions, sortedChangedRows, sortedUntouchedRows.map(mapNodeToSortedNode)).map(function (_a) {\n var rowNode = _a.rowNode;\n return rowNode;\n });\n };\n // Merge two sorted arrays into each other\n SortService.prototype.mergeSortedArrays = function (sortOptions, arr1, arr2) {\n var res = [];\n var i = 0;\n var j = 0;\n // Traverse both array, adding them in order\n while (i < arr1.length && j < arr2.length) {\n // Check if current element of first\n // array is smaller than current element\n // of second array. If yes, store first\n // array element and increment first array\n // index. Otherwise do same with second array\n var compareResult = this.rowNodeSorter.compareRowNodes(sortOptions, arr1[i], arr2[j]);\n if (compareResult < 0) {\n res.push(arr1[i++]);\n }\n else {\n res.push(arr2[j++]);\n }\n }\n // add remaining from arr1\n while (i < arr1.length) {\n res.push(arr1[i++]);\n }\n // add remaining from arr2\n while (j < arr2.length) {\n res.push(arr2[j++]);\n }\n return res;\n };\n SortService.prototype.updateChildIndexes = function (rowNode) {\n if (_.missing(rowNode.childrenAfterSort)) {\n return;\n }\n var listToSort = rowNode.childrenAfterSort;\n for (var i = 0; i < listToSort.length; i++) {\n var child = listToSort[i];\n var firstChild = i === 0;\n var lastChild = i === rowNode.childrenAfterSort.length - 1;\n child.setFirstChild(firstChild);\n child.setLastChild(lastChild);\n child.setChildIndex(i);\n }\n };\n SortService.prototype.updateGroupDataForHideOpenParents = function (changedPath) {\n var _this = this;\n if (!this.gridOptionsWrapper.isGroupHideOpenParents()) {\n return;\n }\n if (this.gridOptionsWrapper.isTreeData()) {\n var msg_1 = \"AG Grid: The property hideOpenParents dose not work with Tree Data. This is because Tree Data has values at the group level, it doesn't make sense to hide them (as opposed to Row Grouping, which only has Aggregated Values at the group level).\";\n _.doOnce(function () { return console.warn(msg_1); }, 'sortService.hideOpenParentsWithTreeData');\n return false;\n }\n // recurse breadth first over group nodes after sort to 'pull down' group data to child groups\n var callback = function (rowNode) {\n _this.pullDownGroupDataForHideOpenParents(rowNode.childrenAfterSort, false);\n rowNode.childrenAfterSort.forEach(function (child) {\n if (child.hasChildren()) {\n callback(child);\n }\n });\n };\n if (changedPath) {\n changedPath.executeFromRootNode(function (rowNode) { return callback(rowNode); });\n }\n };\n SortService.prototype.pullDownGroupDataForHideOpenParents = function (rowNodes, clearOperation) {\n var _this = this;\n if (!this.gridOptionsWrapper.isGroupHideOpenParents() || _.missing(rowNodes)) {\n return;\n }\n rowNodes.forEach(function (childRowNode) {\n var groupDisplayCols = _this.columnModel.getGroupDisplayColumns();\n groupDisplayCols.forEach(function (groupDisplayCol) {\n var showRowGroup = groupDisplayCol.getColDef().showRowGroup;\n if (typeof showRowGroup !== 'string') {\n console.error('AG Grid: groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup');\n return;\n }\n var displayingGroupKey = showRowGroup;\n var rowGroupColumn = _this.columnModel.getPrimaryColumn(displayingGroupKey);\n var thisRowNodeMatches = rowGroupColumn === childRowNode.rowGroupColumn;\n if (thisRowNodeMatches) {\n return;\n }\n if (clearOperation) {\n // if doing a clear operation, we clear down the value for every possible group column\n childRowNode.setGroupValue(groupDisplayCol.getId(), undefined);\n }\n else {\n // if doing a set operation, we set only where the pull down is to occur\n var parentToStealFrom = childRowNode.getFirstChildOfFirstChild(rowGroupColumn);\n if (parentToStealFrom) {\n childRowNode.setGroupValue(groupDisplayCol.getId(), parentToStealFrom.key);\n }\n }\n });\n });\n };\n __decorate$7([\n Autowired('columnModel')\n ], SortService.prototype, \"columnModel\", void 0);\n __decorate$7([\n Autowired('rowNodeSorter')\n ], SortService.prototype, \"rowNodeSorter\", void 0);\n __decorate$7([\n PostConstruct\n ], SortService.prototype, \"init\", null);\n SortService = __decorate$7([\n Bean('sortService')\n ], SortService);\n return SortService;\n}(BeanStub));\n\nvar __extends$7 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FilterService = /** @class */ (function (_super) {\n __extends$7(FilterService, _super);\n function FilterService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterService.prototype.filter = function (changedPath) {\n var filterActive = this.filterManager.isColumnFilterPresent()\n || this.filterManager.isQuickFilterPresent()\n || this.filterManager.isExternalFilterPresent();\n this.filterNodes(filterActive, changedPath);\n };\n FilterService.prototype.filterNodes = function (filterActive, changedPath) {\n var _this = this;\n var filterCallback = function (rowNode, includeChildNodes) {\n // recursively get all children that are groups to also filter\n if (rowNode.hasChildren()) {\n // result of filter for this node. when filtering tree data, includeChildNodes = true when parent passes\n if (filterActive && !includeChildNodes) {\n rowNode.childrenAfterFilter = rowNode.childrenAfterGroup.filter(function (childNode) {\n // a group is included in the result if it has any children of it's own.\n // by this stage, the child groups are already filtered\n var passBecauseChildren = childNode.childrenAfterFilter && childNode.childrenAfterFilter.length > 0;\n // both leaf level nodes and tree data nodes have data. these get added if\n // the data passes the filter\n var passBecauseDataPasses = childNode.data\n && _this.filterManager.doesRowPassFilter({ rowNode: childNode });\n // note - tree data nodes pass either if a) they pass themselves or b) any children of that node pass\n return passBecauseChildren || passBecauseDataPasses;\n });\n }\n else {\n // if not filtering, the result is the original list\n rowNode.childrenAfterFilter = rowNode.childrenAfterGroup;\n }\n }\n else {\n rowNode.childrenAfterFilter = rowNode.childrenAfterGroup;\n }\n if (rowNode.sibling) {\n rowNode.sibling.childrenAfterFilter = rowNode.childrenAfterFilter;\n }\n };\n if (this.doingTreeDataFiltering()) {\n var treeDataDepthFirstFilter_1 = function (rowNode, alreadyFoundInParent) {\n // tree data filter traverses the hierarchy depth first and includes child nodes if parent passes\n // filter, and parent nodes will be include if any children exist.\n if (rowNode.childrenAfterGroup) {\n for (var i = 0; i < rowNode.childrenAfterGroup.length; i++) {\n var childNode = rowNode.childrenAfterGroup[i];\n // first check if current node passes filter before invoking child nodes\n var foundInParent = alreadyFoundInParent\n || _this.filterManager.doesRowPassFilter({ rowNode: childNode });\n if (childNode.childrenAfterGroup) {\n treeDataDepthFirstFilter_1(rowNode.childrenAfterGroup[i], foundInParent);\n }\n else {\n filterCallback(childNode, foundInParent);\n }\n }\n }\n filterCallback(rowNode, alreadyFoundInParent);\n };\n var treeDataFilterCallback = function (rowNode) { return treeDataDepthFirstFilter_1(rowNode, false); };\n changedPath.executeFromRootNode(treeDataFilterCallback);\n }\n else {\n var defaultFilterCallback = function (rowNode) { return filterCallback(rowNode, false); };\n changedPath.forEachChangedNodeDepthFirst(defaultFilterCallback, true);\n }\n };\n FilterService.prototype.doingTreeDataFiltering = function () {\n return this.gridOptionsWrapper.isTreeData() && !this.gridOptionsWrapper.isExcludeChildrenWhenTreeDataFiltering();\n };\n __decorate$6([\n Autowired('filterManager')\n ], FilterService.prototype, \"filterManager\", void 0);\n FilterService = __decorate$6([\n Bean(\"filterService\")\n ], FilterService);\n return FilterService;\n}(BeanStub));\n\nvar __extends$6 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar ImmutableService = /** @class */ (function (_super) {\n __extends$6(ImmutableService, _super);\n function ImmutableService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ImmutableService.prototype.postConstruct = function () {\n if (this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n this.clientSideRowModel = this.rowModel;\n }\n };\n ImmutableService.prototype.isActive = function () {\n return this.gridOptionsWrapper.isImmutableData();\n };\n ImmutableService.prototype.setRowData = function (rowData) {\n var transactionAndMap = this.createTransactionForRowData(rowData);\n if (!transactionAndMap) {\n return;\n }\n var _a = __read(transactionAndMap, 2), transaction = _a[0], orderIdMap = _a[1];\n var nodeTransaction = this.clientSideRowModel.updateRowData(transaction, orderIdMap);\n // need to force updating of full width rows - note this wouldn't be necessary the full width cell comp listened\n // to the data change event on the row node and refreshed itself.\n if (nodeTransaction) {\n this.rowRenderer.refreshFullWidthRows(nodeTransaction.update);\n }\n };\n // converts the setRowData() command to a transaction\n ImmutableService.prototype.createTransactionForRowData = function (rowData) {\n if (_.missing(this.clientSideRowModel)) {\n console.error('AG Grid: ImmutableService only works with ClientSideRowModel');\n return;\n }\n var getRowIdFunc = this.gridOptionsWrapper.getRowIdFunc();\n if (getRowIdFunc == null) {\n console.error('AG Grid: ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!');\n return;\n }\n // convert the data into a transaction object by working out adds, removes and updates\n var transaction = {\n remove: [],\n update: [],\n add: []\n };\n var existingNodesMap = this.clientSideRowModel.getCopyOfNodesMap();\n var suppressSortOrder = this.gridOptionsWrapper.isSuppressMaintainUnsortedOrder();\n var orderMap = suppressSortOrder ? undefined : {};\n if (_.exists(rowData)) {\n // split all the new data in the following:\n // if new, push to 'add'\n // if update, push to 'update'\n // if not changed, do not include in the transaction\n rowData.forEach(function (data, index) {\n var id = getRowIdFunc({ data: data, level: 0 });\n var existingNode = existingNodesMap[id];\n if (orderMap) {\n orderMap[id] = index;\n }\n if (existingNode) {\n var dataHasChanged = existingNode.data !== data;\n if (dataHasChanged) {\n transaction.update.push(data);\n }\n // otherwise, if data not changed, we just don't include it anywhere, as it's not a delta\n // remove from list, so we know the item is not to be removed\n existingNodesMap[id] = undefined;\n }\n else {\n transaction.add.push(data);\n }\n });\n }\n // at this point, all rows that are left, should be removed\n _.iterateObject(existingNodesMap, function (id, rowNode) {\n if (rowNode) {\n transaction.remove.push(rowNode.data);\n }\n });\n return [transaction, orderMap];\n };\n __decorate$5([\n Autowired('rowModel')\n ], ImmutableService.prototype, \"rowModel\", void 0);\n __decorate$5([\n Autowired('rowRenderer')\n ], ImmutableService.prototype, \"rowRenderer\", void 0);\n __decorate$5([\n Autowired('columnApi')\n ], ImmutableService.prototype, \"columnApi\", void 0);\n __decorate$5([\n Autowired('gridApi')\n ], ImmutableService.prototype, \"gridApi\", void 0);\n __decorate$5([\n Autowired('filterManager')\n ], ImmutableService.prototype, \"filterManager\", void 0);\n __decorate$5([\n PostConstruct\n ], ImmutableService.prototype, \"postConstruct\", null);\n ImmutableService = __decorate$5([\n Bean('immutableService')\n ], ImmutableService);\n return ImmutableService;\n}(BeanStub));\n\nvar ClientSideRowModelModule = {\n moduleName: ModuleNames.ClientSideRowModelModule,\n beans: [FilterStage, SortStage, FlattenStage, SortService, FilterService, ImmutableService],\n rowModels: { clientSide: ClientSideRowModel }\n};\n\nvar __extends$5 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar InfiniteBlock = /** @class */ (function (_super) {\n __extends$5(InfiniteBlock, _super);\n function InfiniteBlock(id, parentCache, params) {\n var _this = _super.call(this, id) || this;\n _this.parentCache = parentCache;\n _this.params = params;\n // we don't need to calculate these now, as the inputs don't change,\n // however it makes the code easier to read if we work them out up front\n _this.startRow = id * params.blockSize;\n _this.endRow = _this.startRow + params.blockSize;\n return _this;\n }\n InfiniteBlock.prototype.postConstruct = function () {\n this.createRowNodes();\n };\n InfiniteBlock.prototype.getBlockStateJson = function () {\n return {\n id: '' + this.getId(),\n state: {\n blockNumber: this.getId(),\n startRow: this.getStartRow(),\n endRow: this.getEndRow(),\n pageStatus: this.getState()\n }\n };\n };\n InfiniteBlock.prototype.setDataAndId = function (rowNode, data, index) {\n // if there's no id and the rowNode was rendered before, it means this\n // was a placeholder rowNode and should not be recycled. Setting\n // `alreadyRendered` to `false` forces the rowRenderer to flush it.\n if (!rowNode.id && rowNode.alreadyRendered) {\n rowNode.alreadyRendered = false;\n }\n if (_.exists(data)) {\n // this means if the user is not providing id's we just use the\n // index for the row. this will allow selection to work (that is based\n // on index) as long user is not inserting or deleting rows,\n // or wanting to keep selection between server side sorting or filtering\n rowNode.setDataAndId(data, index.toString());\n }\n else {\n rowNode.setDataAndId(undefined, undefined);\n }\n };\n InfiniteBlock.prototype.loadFromDatasource = function () {\n var _this = this;\n var params = this.createLoadParams();\n if (_.missing(this.params.datasource.getRows)) {\n console.warn(\"AG Grid: datasource is missing getRows method\");\n return;\n }\n // put in timeout, to force result to be async\n window.setTimeout(function () {\n _this.params.datasource.getRows(params);\n }, 0);\n };\n InfiniteBlock.prototype.processServerFail = function () {\n // todo - this method has better handling in SSRM\n };\n InfiniteBlock.prototype.createLoadParams = function () {\n // PROBLEM . . . . when the user sets sort via colDef.sort, then this code\n // is executing before the sort is set up, so server is not getting the sort\n // model. need to change with regards order - so the server side request is\n // AFTER thus it gets the right sort model.\n var params = {\n startRow: this.getStartRow(),\n endRow: this.getEndRow(),\n successCallback: this.pageLoaded.bind(this, this.getVersion()),\n failCallback: this.pageLoadFailed.bind(this, this.getVersion()),\n sortModel: this.params.sortModel,\n filterModel: this.params.filterModel,\n context: this.gridOptionsWrapper.getContext()\n };\n return params;\n };\n InfiniteBlock.prototype.forEachNode = function (callback, sequence, rowCount) {\n var _this = this;\n this.rowNodes.forEach(function (rowNode, index) {\n var rowIndex = _this.startRow + index;\n if (rowIndex < rowCount) {\n callback(rowNode, sequence.next());\n }\n });\n };\n InfiniteBlock.prototype.getLastAccessed = function () {\n return this.lastAccessed;\n };\n InfiniteBlock.prototype.getRow = function (rowIndex, dontTouchLastAccessed) {\n if (dontTouchLastAccessed === void 0) { dontTouchLastAccessed = false; }\n if (!dontTouchLastAccessed) {\n this.lastAccessed = this.params.lastAccessedSequence.next();\n }\n var localIndex = rowIndex - this.startRow;\n return this.rowNodes[localIndex];\n };\n InfiniteBlock.prototype.getStartRow = function () {\n return this.startRow;\n };\n InfiniteBlock.prototype.getEndRow = function () {\n return this.endRow;\n };\n // creates empty row nodes, data is missing as not loaded yet\n InfiniteBlock.prototype.createRowNodes = function () {\n this.rowNodes = [];\n for (var i = 0; i < this.params.blockSize; i++) {\n var rowIndex = this.startRow + i;\n var rowNode = new RowNode(this.beans);\n rowNode.setRowHeight(this.params.rowHeight);\n rowNode.uiLevel = 0;\n rowNode.setRowIndex(rowIndex);\n rowNode.setRowTop(this.params.rowHeight * rowIndex);\n this.rowNodes.push(rowNode);\n }\n };\n InfiniteBlock.prototype.processServerResult = function (params) {\n var _this = this;\n this.rowNodes.forEach(function (rowNode, index) {\n var data = params.rowData ? params.rowData[index] : undefined;\n _this.setDataAndId(rowNode, data, _this.startRow + index);\n });\n var finalRowCount = params.rowCount != null && params.rowCount >= 0 ? params.rowCount : undefined;\n this.parentCache.pageLoaded(this, finalRowCount);\n };\n InfiniteBlock.prototype.destroyRowNodes = function () {\n this.rowNodes.forEach(function (rowNode) {\n // this is needed, so row render knows to fade out the row, otherwise it\n // sees row top is present, and thinks the row should be shown.\n rowNode.clearRowTopAndRowIndex();\n });\n };\n __decorate$4([\n Autowired('beans')\n ], InfiniteBlock.prototype, \"beans\", void 0);\n __decorate$4([\n PostConstruct\n ], InfiniteBlock.prototype, \"postConstruct\", null);\n __decorate$4([\n PreDestroy\n ], InfiniteBlock.prototype, \"destroyRowNodes\", null);\n return InfiniteBlock;\n}(RowNodeBlock));\n\nvar __extends$4 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar InfiniteCache = /** @class */ (function (_super) {\n __extends$4(InfiniteCache, _super);\n function InfiniteCache(params) {\n var _this = _super.call(this) || this;\n _this.lastRowIndexKnown = false;\n _this.blocks = {};\n _this.blockCount = 0;\n _this.rowCount = params.initialRowCount;\n _this.params = params;\n return _this;\n }\n InfiniteCache.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('InfiniteCache');\n };\n // the rowRenderer will not pass dontCreatePage, meaning when rendering the grid,\n // it will want new pages in the cache as it asks for rows. only when we are inserting /\n // removing rows via the api is dontCreatePage set, where we move rows between the pages.\n InfiniteCache.prototype.getRow = function (rowIndex, dontCreatePage) {\n if (dontCreatePage === void 0) { dontCreatePage = false; }\n var blockId = Math.floor(rowIndex / this.params.blockSize);\n var block = this.blocks[blockId];\n if (!block) {\n if (dontCreatePage) {\n return undefined;\n }\n block = this.createBlock(blockId);\n }\n return block.getRow(rowIndex);\n };\n InfiniteCache.prototype.createBlock = function (blockNumber) {\n var newBlock = this.createBean(new InfiniteBlock(blockNumber, this, this.params));\n this.blocks[newBlock.getId()] = newBlock;\n this.blockCount++;\n this.purgeBlocksIfNeeded(newBlock);\n this.params.rowNodeBlockLoader.addBlock(newBlock);\n return newBlock;\n };\n // we have this on infinite row model only, not server side row model,\n // because for server side, it would leave the children in inconsistent\n // state - eg if a node had children, but after the refresh it had data\n // for a different row, then the children would be with the wrong row node.\n InfiniteCache.prototype.refreshCache = function () {\n var nothingToRefresh = this.blockCount == 0;\n if (nothingToRefresh) {\n this.purgeCache();\n return;\n }\n this.getBlocksInOrder().forEach(function (block) { return block.setStateWaitingToLoad(); });\n this.params.rowNodeBlockLoader.checkBlockToLoad();\n };\n InfiniteCache.prototype.destroyAllBlocks = function () {\n var _this = this;\n this.getBlocksInOrder().forEach(function (block) { return _this.destroyBlock(block); });\n };\n InfiniteCache.prototype.getRowCount = function () {\n return this.rowCount;\n };\n InfiniteCache.prototype.isLastRowIndexKnown = function () {\n return this.lastRowIndexKnown;\n };\n // block calls this, when page loaded\n InfiniteCache.prototype.pageLoaded = function (block, lastRow) {\n // if we are not active, then we ignore all events, otherwise we could end up getting the\n // grid to refresh even though we are no longer the active cache\n if (!this.isAlive()) {\n return;\n }\n this.logger.log(\"onPageLoaded: page = \" + block.getId() + \", lastRow = \" + lastRow);\n this.checkRowCount(block, lastRow);\n // we fire cacheUpdated even if the row count has not changed, as some items need updating even\n // if no new rows to render. for example the pagination panel has '?' as the total rows when loading\n // is underway, which would need to get updated when loading finishes.\n this.onCacheUpdated();\n };\n InfiniteCache.prototype.purgeBlocksIfNeeded = function (blockToExclude) {\n var _this = this;\n // we exclude checking for the page just created, as this has yet to be accessed and hence\n // the lastAccessed stamp will not be updated for the first time yet\n var blocksForPurging = this.getBlocksInOrder().filter(function (b) { return b != blockToExclude; });\n var lastAccessedComparator = function (a, b) { return b.getLastAccessed() - a.getLastAccessed(); };\n blocksForPurging.sort(lastAccessedComparator);\n // we remove (maxBlocksInCache - 1) as we already excluded the 'just created' page.\n // in other words, after the splice operation below, we have taken out the blocks\n // we want to keep, which means we are left with blocks that we can potentially purge\n var maxBlocksProvided = this.params.maxBlocksInCache > 0;\n var blocksToKeep = maxBlocksProvided ? this.params.maxBlocksInCache - 1 : null;\n var emptyBlocksToKeep = InfiniteCache.MAX_EMPTY_BLOCKS_TO_KEEP - 1;\n blocksForPurging.forEach(function (block, index) {\n var purgeBecauseBlockEmpty = block.getState() === InfiniteBlock.STATE_WAITING_TO_LOAD && index >= emptyBlocksToKeep;\n var purgeBecauseCacheFull = maxBlocksProvided ? index >= blocksToKeep : false;\n if (purgeBecauseBlockEmpty || purgeBecauseCacheFull) {\n // if the block currently has rows been displayed, then don't remove it either.\n // this can happen if user has maxBlocks=2, and blockSize=5 (thus 10 max rows in cache)\n // but the screen is showing 20 rows, so at least 4 blocks are needed.\n if (_this.isBlockCurrentlyDisplayed(block)) {\n return;\n }\n // don't want to loose keyboard focus, so keyboard navigation can continue. so keep focused blocks.\n if (_this.isBlockFocused(block)) {\n return;\n }\n // at this point, block is not needed, so burn baby burn\n _this.removeBlockFromCache(block);\n }\n });\n };\n InfiniteCache.prototype.isBlockFocused = function (block) {\n var focusedCell = this.focusService.getFocusCellToUseAfterRefresh();\n if (!focusedCell) {\n return false;\n }\n if (focusedCell.rowPinned != null) {\n return false;\n }\n var blockIndexStart = block.getStartRow();\n var blockIndexEnd = block.getEndRow();\n var hasFocus = focusedCell.rowIndex >= blockIndexStart && focusedCell.rowIndex < blockIndexEnd;\n return hasFocus;\n };\n InfiniteCache.prototype.isBlockCurrentlyDisplayed = function (block) {\n var startIndex = block.getStartRow();\n var endIndex = block.getEndRow() - 1;\n return this.rowRenderer.isRangeInRenderedViewport(startIndex, endIndex);\n };\n InfiniteCache.prototype.removeBlockFromCache = function (blockToRemove) {\n if (!blockToRemove) {\n return;\n }\n this.destroyBlock(blockToRemove);\n // we do not want to remove the 'loaded' event listener, as the\n // concurrent loads count needs to be updated when the load is complete\n // if the purged page is in loading state\n };\n InfiniteCache.prototype.checkRowCount = function (block, lastRow) {\n // if client provided a last row, we always use it, as it could change between server calls\n // if user deleted data and then called refresh on the grid.\n if (typeof lastRow === 'number' && lastRow >= 0) {\n this.rowCount = lastRow;\n this.lastRowIndexKnown = true;\n }\n else if (!this.lastRowIndexKnown) {\n // otherwise, see if we need to add some virtual rows\n var lastRowIndex = (block.getId() + 1) * this.params.blockSize;\n var lastRowIndexPlusOverflow = lastRowIndex + this.params.overflowSize;\n if (this.rowCount < lastRowIndexPlusOverflow) {\n this.rowCount = lastRowIndexPlusOverflow;\n }\n }\n };\n InfiniteCache.prototype.setRowCount = function (rowCount, lastRowIndexKnown) {\n this.rowCount = rowCount;\n // if undefined is passed, we do not set this value, if one of {true,false}\n // is passed, we do set the value.\n if (_.exists(lastRowIndexKnown)) {\n this.lastRowIndexKnown = lastRowIndexKnown;\n }\n // if we are still searching, then the row count must not end at the end\n // of a particular page, otherwise the searching will not pop into the\n // next page\n if (!this.lastRowIndexKnown) {\n if (this.rowCount % this.params.blockSize === 0) {\n this.rowCount++;\n }\n }\n this.onCacheUpdated();\n };\n InfiniteCache.prototype.forEachNodeDeep = function (callback) {\n var _this = this;\n var sequence = new NumberSequence();\n this.getBlocksInOrder().forEach(function (block) { return block.forEachNode(callback, sequence, _this.rowCount); });\n };\n InfiniteCache.prototype.getBlocksInOrder = function () {\n // get all page id's as NUMBERS (not strings, as we need to sort as numbers) and in descending order\n var blockComparator = function (a, b) { return a.getId() - b.getId(); };\n var blocks = _.getAllValuesInObject(this.blocks).sort(blockComparator);\n return blocks;\n };\n InfiniteCache.prototype.destroyBlock = function (block) {\n delete this.blocks[block.getId()];\n this.destroyBean(block);\n this.blockCount--;\n this.params.rowNodeBlockLoader.removeBlock(block);\n };\n // gets called 1) row count changed 2) cache purged 3) items inserted\n InfiniteCache.prototype.onCacheUpdated = function () {\n if (this.isAlive()) {\n // if the virtualRowCount is shortened, then it's possible blocks exist that are no longer\n // in the valid range. so we must remove these. this can happen if user explicitly sets\n // the virtual row count, or the datasource returns a result and sets lastRow to something\n // less than virtualRowCount (can happen if user scrolls down, server reduces dataset size).\n this.destroyAllBlocksPastVirtualRowCount();\n // this results in both row models (infinite and server side) firing ModelUpdated,\n // however server side row model also updates the row indexes first\n var event_1 = {\n type: Events.EVENT_STORE_UPDATED\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n InfiniteCache.prototype.destroyAllBlocksPastVirtualRowCount = function () {\n var _this = this;\n var blocksToDestroy = [];\n this.getBlocksInOrder().forEach(function (block) {\n var startRow = block.getId() * _this.params.blockSize;\n if (startRow >= _this.rowCount) {\n blocksToDestroy.push(block);\n }\n });\n if (blocksToDestroy.length > 0) {\n blocksToDestroy.forEach(function (block) { return _this.destroyBlock(block); });\n }\n };\n InfiniteCache.prototype.purgeCache = function () {\n var _this = this;\n this.getBlocksInOrder().forEach(function (block) { return _this.removeBlockFromCache(block); });\n this.lastRowIndexKnown = false;\n // if zero rows in the cache, we need to get the SSRM to start asking for rows again.\n // otherwise if set to zero rows last time, and we don't update the row count, then after\n // the purge there will still be zero rows, meaning the SSRM won't request any rows.\n // to kick things off, at least one row needs to be asked for.\n if (this.rowCount === 0) {\n this.rowCount = this.params.initialRowCount;\n }\n this.onCacheUpdated();\n };\n InfiniteCache.prototype.getRowNodesInRange = function (firstInRange, lastInRange) {\n var _this = this;\n var result = [];\n var lastBlockId = -1;\n var inActiveRange = false;\n var numberSequence = new NumberSequence();\n // if only one node passed, we start the selection at the top\n if (_.missing(firstInRange)) {\n inActiveRange = true;\n }\n var foundGapInSelection = false;\n this.getBlocksInOrder().forEach(function (block) {\n if (foundGapInSelection) {\n return;\n }\n if (inActiveRange && (lastBlockId + 1 !== block.getId())) {\n foundGapInSelection = true;\n return;\n }\n lastBlockId = block.getId();\n block.forEachNode(function (rowNode) {\n var hitFirstOrLast = rowNode === firstInRange || rowNode === lastInRange;\n if (inActiveRange || hitFirstOrLast) {\n result.push(rowNode);\n }\n if (hitFirstOrLast) {\n inActiveRange = !inActiveRange;\n }\n }, numberSequence, _this.rowCount);\n });\n // inActiveRange will be still true if we never hit the second rowNode\n var invalidRange = foundGapInSelection || inActiveRange;\n return invalidRange ? [] : result;\n };\n // this property says how many empty blocks should be in a cache, eg if scrolls down fast and creates 10\n // blocks all for loading, the grid will only load the last 2 - it will assume the blocks the user quickly\n // scrolled over are not needed to be loaded.\n InfiniteCache.MAX_EMPTY_BLOCKS_TO_KEEP = 2;\n __decorate$3([\n Autowired('rowRenderer')\n ], InfiniteCache.prototype, \"rowRenderer\", void 0);\n __decorate$3([\n Autowired(\"focusService\")\n ], InfiniteCache.prototype, \"focusService\", void 0);\n __decorate$3([\n __param(0, Qualifier('loggerFactory'))\n ], InfiniteCache.prototype, \"setBeans\", null);\n __decorate$3([\n PreDestroy\n ], InfiniteCache.prototype, \"destroyAllBlocks\", null);\n return InfiniteCache;\n}(BeanStub));\n\nvar __extends$3 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar InfiniteRowModel = /** @class */ (function (_super) {\n __extends$3(InfiniteRowModel, _super);\n function InfiniteRowModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InfiniteRowModel.prototype.getRowBounds = function (index) {\n return {\n rowHeight: this.rowHeight,\n rowTop: this.rowHeight * index\n };\n };\n // we don't implement as lazy row heights is not supported in this row model\n InfiniteRowModel.prototype.ensureRowHeightsValid = function (startPixel, endPixel, startLimitIndex, endLimitIndex) {\n return false;\n };\n InfiniteRowModel.prototype.init = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isRowModelInfinite()) {\n return;\n }\n this.rowHeight = this.gridOptionsWrapper.getRowHeightAsNumber();\n this.addEventListeners();\n this.addDestroyFunc(function () { return _this.destroyCache(); });\n this.verifyProps();\n };\n InfiniteRowModel.prototype.verifyProps = function () {\n if (this.gridOptionsWrapper.getInitialGroupOrderComparator() != null) {\n var message_1 = \"AG Grid: initialGroupOrderComparator cannot be used with Infinite Row Model. If using Infinite Row Model, then sorting is done on the server side, nothing to do with the client.\";\n _.doOnce(function () { return console.warn(message_1); }, 'IRM.InitialGroupOrderComparator');\n }\n };\n InfiniteRowModel.prototype.start = function () {\n this.setDatasource(this.gridOptionsWrapper.getDatasource());\n };\n InfiniteRowModel.prototype.destroyDatasource = function () {\n if (this.datasource) {\n this.getContext().destroyBean(this.datasource);\n this.rowRenderer.datasourceChanged();\n this.datasource = null;\n }\n };\n InfiniteRowModel.prototype.addEventListeners = function () {\n this.addManagedListener(this.eventService, Events.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, this.onSortChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onColumnEverything.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_STORE_UPDATED, this.onCacheUpdated.bind(this));\n };\n InfiniteRowModel.prototype.onFilterChanged = function () {\n this.reset();\n };\n InfiniteRowModel.prototype.onSortChanged = function () {\n this.reset();\n };\n InfiniteRowModel.prototype.onColumnEverything = function () {\n var resetRequired;\n // if cache params, we require reset only if sort model has changed. we don't need to check\n // for filter model, as the filter manager will fire an event when columns change that result\n // in the filter changing.\n if (this.cacheParams) {\n resetRequired = this.isSortModelDifferent();\n }\n else {\n // if no cacheParams, means first time creating the cache, so always create one\n resetRequired = true;\n }\n if (resetRequired) {\n this.reset();\n }\n };\n InfiniteRowModel.prototype.isSortModelDifferent = function () {\n return !_.jsonEquals(this.cacheParams.sortModel, this.sortController.getSortModel());\n };\n InfiniteRowModel.prototype.getType = function () {\n return Constants.ROW_MODEL_TYPE_INFINITE;\n };\n InfiniteRowModel.prototype.setDatasource = function (datasource) {\n this.destroyDatasource();\n this.datasource = datasource;\n // only reset if we have a valid datasource to working with\n if (datasource) {\n this.reset();\n }\n };\n InfiniteRowModel.prototype.isEmpty = function () {\n return !this.infiniteCache;\n };\n InfiniteRowModel.prototype.isRowsToRender = function () {\n return !!this.infiniteCache;\n };\n InfiniteRowModel.prototype.getNodesInRangeForSelection = function (firstInRange, lastInRange) {\n return this.infiniteCache ? this.infiniteCache.getRowNodesInRange(firstInRange, lastInRange) : [];\n };\n InfiniteRowModel.prototype.reset = function () {\n // important to return here, as the user could be setting filter or sort before\n // data-source is set\n if (!this.datasource) {\n return;\n }\n // if user is providing id's, then this means we can keep the selection between datasource hits,\n // as the rows will keep their unique id's even if, for example, server side sorting or filtering\n // is done.\n var getRowIdFunc = this.gridOptionsWrapper.getRowIdFunc();\n var userGeneratingIds = getRowIdFunc != null;\n if (!userGeneratingIds) {\n this.selectionService.reset();\n }\n this.resetCache();\n var event = this.createModelUpdatedEvent();\n this.eventService.dispatchEvent(event);\n };\n InfiniteRowModel.prototype.createModelUpdatedEvent = function () {\n return {\n type: Events.EVENT_MODEL_UPDATED,\n // not sure if these should all be false - noticed if after implementing,\n // maybe they should be true?\n newPage: false,\n newData: false,\n keepRenderedRows: true,\n animate: false\n };\n };\n InfiniteRowModel.prototype.resetCache = function () {\n // if not first time creating a cache, need to destroy the old one\n this.destroyCache();\n this.cacheParams = {\n // the user provided datasource\n datasource: this.datasource,\n // sort and filter model\n filterModel: this.filterManager.getFilterModel(),\n sortModel: this.sortController.getSortModel(),\n rowNodeBlockLoader: this.rowNodeBlockLoader,\n // properties - this way we take a snapshot of them, so if user changes any, they will be\n // used next time we create a new cache, which is generally after a filter or sort change,\n // or a new datasource is set\n initialRowCount: this.defaultIfInvalid(this.gridOptionsWrapper.getInfiniteInitialRowCount(), 1),\n maxBlocksInCache: this.gridOptionsWrapper.getMaxBlocksInCache(),\n rowHeight: this.gridOptionsWrapper.getRowHeightAsNumber(),\n // if user doesn't provide overflow, we use default overflow of 1, so user can scroll past\n // the current page and request first row of next page\n overflowSize: this.defaultIfInvalid(this.gridOptionsWrapper.getCacheOverflowSize(), 1),\n // page size needs to be 1 or greater. having it at 1 would be silly, as you would be hitting the\n // server for one page at a time. so the default if not specified is 100.\n blockSize: this.defaultIfInvalid(this.gridOptionsWrapper.getCacheBlockSize(), 100),\n // the cache could create this, however it is also used by the pages, so handy to create it\n // here as the settings are also passed to the pages\n lastAccessedSequence: new NumberSequence()\n };\n this.infiniteCache = this.createBean(new InfiniteCache(this.cacheParams));\n };\n InfiniteRowModel.prototype.defaultIfInvalid = function (value, defaultValue) {\n return value > 0 ? value : defaultValue;\n };\n InfiniteRowModel.prototype.destroyCache = function () {\n if (this.infiniteCache) {\n this.infiniteCache = this.destroyBean(this.infiniteCache);\n }\n };\n InfiniteRowModel.prototype.onCacheUpdated = function () {\n var event = this.createModelUpdatedEvent();\n this.eventService.dispatchEvent(event);\n };\n InfiniteRowModel.prototype.getRow = function (rowIndex) {\n if (!this.infiniteCache) {\n return undefined;\n }\n if (rowIndex >= this.infiniteCache.getRowCount()) {\n return undefined;\n }\n return this.infiniteCache.getRow(rowIndex);\n };\n InfiniteRowModel.prototype.getRowNode = function (id) {\n var result;\n this.forEachNode(function (rowNode) {\n if (rowNode.id === id) {\n result = rowNode;\n }\n });\n return result;\n };\n InfiniteRowModel.prototype.forEachNode = function (callback) {\n if (this.infiniteCache) {\n this.infiniteCache.forEachNodeDeep(callback);\n }\n };\n InfiniteRowModel.prototype.getTopLevelRowCount = function () {\n return this.getRowCount();\n };\n InfiniteRowModel.prototype.getTopLevelRowDisplayedIndex = function (topLevelIndex) {\n return topLevelIndex;\n };\n InfiniteRowModel.prototype.getRowIndexAtPixel = function (pixel) {\n if (this.rowHeight !== 0) { // avoid divide by zero error\n var rowIndexForPixel = Math.floor(pixel / this.rowHeight);\n var lastRowIndex = this.getRowCount() - 1;\n if (rowIndexForPixel > lastRowIndex) {\n return lastRowIndex;\n }\n return rowIndexForPixel;\n }\n return 0;\n };\n InfiniteRowModel.prototype.getRowCount = function () {\n return this.infiniteCache ? this.infiniteCache.getRowCount() : 0;\n };\n InfiniteRowModel.prototype.isRowPresent = function (rowNode) {\n var foundRowNode = this.getRowNode(rowNode.id);\n return !!foundRowNode;\n };\n InfiniteRowModel.prototype.refreshCache = function () {\n if (this.infiniteCache) {\n this.infiniteCache.refreshCache();\n }\n };\n InfiniteRowModel.prototype.purgeCache = function () {\n if (this.infiniteCache) {\n this.infiniteCache.purgeCache();\n }\n };\n // for iRowModel\n InfiniteRowModel.prototype.isLastRowIndexKnown = function () {\n if (this.infiniteCache) {\n return this.infiniteCache.isLastRowIndexKnown();\n }\n return false;\n };\n InfiniteRowModel.prototype.setRowCount = function (rowCount, lastRowIndexKnown) {\n if (this.infiniteCache) {\n this.infiniteCache.setRowCount(rowCount, lastRowIndexKnown);\n }\n };\n __decorate$2([\n Autowired('filterManager')\n ], InfiniteRowModel.prototype, \"filterManager\", void 0);\n __decorate$2([\n Autowired('sortController')\n ], InfiniteRowModel.prototype, \"sortController\", void 0);\n __decorate$2([\n Autowired('selectionService')\n ], InfiniteRowModel.prototype, \"selectionService\", void 0);\n __decorate$2([\n Autowired('rowRenderer')\n ], InfiniteRowModel.prototype, \"rowRenderer\", void 0);\n __decorate$2([\n Autowired('rowNodeBlockLoader')\n ], InfiniteRowModel.prototype, \"rowNodeBlockLoader\", void 0);\n __decorate$2([\n PostConstruct\n ], InfiniteRowModel.prototype, \"init\", null);\n __decorate$2([\n PreDestroy\n ], InfiniteRowModel.prototype, \"destroyDatasource\", null);\n InfiniteRowModel = __decorate$2([\n Bean('rowModel')\n ], InfiniteRowModel);\n return InfiniteRowModel;\n}(BeanStub));\n\nvar InfiniteRowModelModule = {\n moduleName: ModuleNames.InfiniteRowModelModule,\n rowModels: { infinite: InfiniteRowModel }\n};\n\nvar BaseCreator = /** @class */ (function () {\n function BaseCreator() {\n }\n BaseCreator.prototype.setBeans = function (beans) {\n this.beans = beans;\n };\n BaseCreator.prototype.getFileName = function (fileName) {\n var extension = this.getDefaultFileExtension();\n if (fileName == null || !fileName.length) {\n fileName = this.getDefaultFileName();\n }\n return fileName.indexOf('.') === -1 ? fileName + \".\" + extension : fileName;\n };\n BaseCreator.prototype.getData = function (params) {\n var serializingSession = this.createSerializingSession(params);\n var data = this.beans.gridSerializer.serialize(serializingSession, params);\n return data;\n };\n return BaseCreator;\n}());\n\nvar BaseGridSerializingSession = /** @class */ (function () {\n function BaseGridSerializingSession(config) {\n this.groupColumns = [];\n var columnModel = config.columnModel, valueService = config.valueService, gridOptionsWrapper = config.gridOptionsWrapper, processCellCallback = config.processCellCallback, processHeaderCallback = config.processHeaderCallback, processGroupHeaderCallback = config.processGroupHeaderCallback, processRowGroupCallback = config.processRowGroupCallback;\n this.columnModel = columnModel;\n this.valueService = valueService;\n this.gridOptionsWrapper = gridOptionsWrapper;\n this.processCellCallback = processCellCallback;\n this.processHeaderCallback = processHeaderCallback;\n this.processGroupHeaderCallback = processGroupHeaderCallback;\n this.processRowGroupCallback = processRowGroupCallback;\n }\n BaseGridSerializingSession.prototype.prepare = function (columnsToExport) {\n this.groupColumns = columnsToExport.filter(function (col) { return !!col.getColDef().showRowGroup; });\n };\n BaseGridSerializingSession.prototype.extractHeaderValue = function (column) {\n var value = this.getHeaderName(this.processHeaderCallback, column);\n return value != null ? value : '';\n };\n BaseGridSerializingSession.prototype.extractRowCellValue = function (column, index, accumulatedRowIndex, type, node) {\n // we render the group summary text e.g. \"-> Parent -> Child\"...\n var hideOpenParents = this.gridOptionsWrapper.isGroupHideOpenParents();\n var value = (!hideOpenParents && this.shouldRenderGroupSummaryCell(node, column, index))\n ? this.createValueForGroupNode(node)\n : this.valueService.getValue(column, node);\n var processedValue = this.processCell({\n accumulatedRowIndex: accumulatedRowIndex,\n rowNode: node,\n column: column,\n value: value,\n processCellCallback: this.processCellCallback,\n type: type\n });\n return processedValue != null ? processedValue : '';\n };\n BaseGridSerializingSession.prototype.shouldRenderGroupSummaryCell = function (node, column, currentColumnIndex) {\n var _a;\n var isGroupNode = node && node.group;\n // only on group rows\n if (!isGroupNode) {\n return false;\n }\n var currentColumnGroupIndex = this.groupColumns.indexOf(column);\n if (currentColumnGroupIndex !== -1 && ((_a = node.groupData) === null || _a === void 0 ? void 0 : _a[column.getId()])) {\n return true;\n }\n var isGroupUseEntireRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode());\n return currentColumnIndex === 0 && isGroupUseEntireRow;\n };\n BaseGridSerializingSession.prototype.getHeaderName = function (callback, column) {\n if (callback) {\n return callback({\n column: column,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n });\n }\n return this.columnModel.getDisplayNameForColumn(column, 'csv', true);\n };\n BaseGridSerializingSession.prototype.createValueForGroupNode = function (node) {\n if (this.processRowGroupCallback) {\n return this.processRowGroupCallback({\n node: node,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n });\n }\n var keys = [node.key];\n if (!this.gridOptionsWrapper.isGroupMultiAutoColumn()) {\n while (node.parent) {\n node = node.parent;\n keys.push(node.key);\n }\n }\n return keys.reverse().join(' -> ');\n };\n BaseGridSerializingSession.prototype.processCell = function (params) {\n var accumulatedRowIndex = params.accumulatedRowIndex, rowNode = params.rowNode, column = params.column, value = params.value, processCellCallback = params.processCellCallback, type = params.type;\n if (processCellCallback) {\n return processCellCallback({\n accumulatedRowIndex: accumulatedRowIndex,\n column: column,\n node: rowNode,\n value: value,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n type: type\n });\n }\n return value != null ? value : '';\n };\n return BaseGridSerializingSession;\n}());\n\nvar Downloader = /** @class */ (function () {\n function Downloader() {\n }\n Downloader.download = function (fileName, content) {\n var win = document.defaultView || window;\n if (!win) {\n console.warn('AG Grid: There is no `window` associated with the current `document`');\n return;\n }\n var element = document.createElement('a');\n // @ts-ignore\n var url = win.URL.createObjectURL(content);\n element.setAttribute('href', url);\n element.setAttribute('download', fileName);\n element.style.display = 'none';\n document.body.appendChild(element);\n element.dispatchEvent(new MouseEvent('click', {\n bubbles: false,\n cancelable: true,\n view: win\n }));\n document.body.removeChild(element);\n win.setTimeout(function () {\n // @ts-ignore\n win.URL.revokeObjectURL(url);\n }, 0);\n };\n return Downloader;\n}());\n\nvar __extends$2 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar LINE_SEPARATOR$1 = '\\r\\n';\nvar CsvSerializingSession = /** @class */ (function (_super) {\n __extends$2(CsvSerializingSession, _super);\n function CsvSerializingSession(config) {\n var _this = _super.call(this, config) || this;\n _this.isFirstLine = true;\n _this.result = '';\n var suppressQuotes = config.suppressQuotes, columnSeparator = config.columnSeparator;\n _this.suppressQuotes = suppressQuotes;\n _this.columnSeparator = columnSeparator;\n return _this;\n }\n CsvSerializingSession.prototype.addCustomContent = function (content) {\n var _this = this;\n if (!content) {\n return;\n }\n if (typeof content === 'string') {\n if (!/^\\s*\\n/.test(content)) {\n this.beginNewLine();\n }\n // replace whatever newlines are supplied with the style we're using\n content = content.replace(/\\r?\\n/g, LINE_SEPARATOR$1);\n this.result += content;\n }\n else {\n content.forEach(function (row) {\n _this.beginNewLine();\n row.forEach(function (cell, index) {\n if (index !== 0) {\n _this.result += _this.columnSeparator;\n }\n _this.result += _this.putInQuotes(cell.data.value || '');\n if (cell.mergeAcross) {\n _this.appendEmptyCells(cell.mergeAcross);\n }\n });\n });\n }\n };\n CsvSerializingSession.prototype.onNewHeaderGroupingRow = function () {\n this.beginNewLine();\n return {\n onColumn: this.onNewHeaderGroupingRowColumn.bind(this)\n };\n };\n CsvSerializingSession.prototype.onNewHeaderGroupingRowColumn = function (columnGroup, header, index, span) {\n if (index != 0) {\n this.result += this.columnSeparator;\n }\n this.result += this.putInQuotes(header);\n this.appendEmptyCells(span);\n };\n CsvSerializingSession.prototype.appendEmptyCells = function (count) {\n for (var i = 1; i <= count; i++) {\n this.result += this.columnSeparator + this.putInQuotes(\"\");\n }\n };\n CsvSerializingSession.prototype.onNewHeaderRow = function () {\n this.beginNewLine();\n return {\n onColumn: this.onNewHeaderRowColumn.bind(this)\n };\n };\n CsvSerializingSession.prototype.onNewHeaderRowColumn = function (column, index) {\n if (index != 0) {\n this.result += this.columnSeparator;\n }\n this.result += this.putInQuotes(this.extractHeaderValue(column));\n };\n CsvSerializingSession.prototype.onNewBodyRow = function () {\n this.beginNewLine();\n return {\n onColumn: this.onNewBodyRowColumn.bind(this)\n };\n };\n CsvSerializingSession.prototype.onNewBodyRowColumn = function (column, index, node) {\n if (index != 0) {\n this.result += this.columnSeparator;\n }\n this.result += this.putInQuotes(this.extractRowCellValue(column, index, index, Constants.EXPORT_TYPE_CSV, node));\n };\n CsvSerializingSession.prototype.putInQuotes = function (value) {\n if (this.suppressQuotes) {\n return value;\n }\n if (value === null || value === undefined) {\n return '\"\"';\n }\n var stringValue;\n if (typeof value === 'string') {\n stringValue = value;\n }\n else if (typeof value.toString === 'function') {\n stringValue = value.toString();\n }\n else {\n console.warn('AG Grid: unknown value type during csv conversion');\n stringValue = '';\n }\n // replace each \" with \"\" (ie two sets of double quotes is how to do double quotes in csv)\n var valueEscaped = stringValue.replace(/\"/g, \"\\\"\\\"\");\n return '\"' + valueEscaped + '\"';\n };\n CsvSerializingSession.prototype.parse = function () {\n return this.result;\n };\n CsvSerializingSession.prototype.beginNewLine = function () {\n if (!this.isFirstLine) {\n this.result += LINE_SEPARATOR$1;\n }\n this.isFirstLine = false;\n };\n return CsvSerializingSession;\n}(BaseGridSerializingSession));\n\nvar __extends$1 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CsvCreator = /** @class */ (function (_super) {\n __extends$1(CsvCreator, _super);\n function CsvCreator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CsvCreator.prototype.postConstruct = function () {\n this.setBeans({\n gridSerializer: this.gridSerializer,\n gridOptionsWrapper: this.gridOptionsWrapper\n });\n };\n CsvCreator.prototype.getMergedParams = function (params) {\n var baseParams = this.gridOptionsWrapper.getDefaultExportParams('csv');\n return Object.assign({}, baseParams, params);\n };\n CsvCreator.prototype.export = function (userParams) {\n if (this.isExportSuppressed()) {\n console.warn(\"AG Grid: Export cancelled. Export is not allowed as per your configuration.\");\n return '';\n }\n var mergedParams = this.getMergedParams(userParams);\n var data = this.getData(mergedParams);\n var packagedFile = new Blob([\"\\ufeff\", data], { type: 'text/plain' });\n Downloader.download(this.getFileName(mergedParams.fileName), packagedFile);\n return data;\n };\n CsvCreator.prototype.exportDataAsCsv = function (params) {\n return this.export(params);\n };\n CsvCreator.prototype.getDataAsCsv = function (params, skipDefaultParams) {\n if (skipDefaultParams === void 0) { skipDefaultParams = false; }\n var mergedParams = skipDefaultParams\n ? Object.assign({}, params)\n : this.getMergedParams(params);\n return this.getData(mergedParams);\n };\n CsvCreator.prototype.getDefaultFileName = function () {\n return 'export.csv';\n };\n CsvCreator.prototype.getDefaultFileExtension = function () {\n return 'csv';\n };\n CsvCreator.prototype.createSerializingSession = function (params) {\n var _a = this, columnModel = _a.columnModel, valueService = _a.valueService, gridOptionsWrapper = _a.gridOptionsWrapper;\n var _b = params, processCellCallback = _b.processCellCallback, processHeaderCallback = _b.processHeaderCallback, processGroupHeaderCallback = _b.processGroupHeaderCallback, processRowGroupCallback = _b.processRowGroupCallback, suppressQuotes = _b.suppressQuotes, columnSeparator = _b.columnSeparator;\n return new CsvSerializingSession({\n columnModel: columnModel,\n valueService: valueService,\n gridOptionsWrapper: gridOptionsWrapper,\n processCellCallback: processCellCallback || undefined,\n processHeaderCallback: processHeaderCallback || undefined,\n processGroupHeaderCallback: processGroupHeaderCallback || undefined,\n processRowGroupCallback: processRowGroupCallback || undefined,\n suppressQuotes: suppressQuotes || false,\n columnSeparator: columnSeparator || ','\n });\n };\n CsvCreator.prototype.isExportSuppressed = function () {\n return this.gridOptionsWrapper.isSuppressCsvExport();\n };\n __decorate$1([\n Autowired('columnModel')\n ], CsvCreator.prototype, \"columnModel\", void 0);\n __decorate$1([\n Autowired('valueService')\n ], CsvCreator.prototype, \"valueService\", void 0);\n __decorate$1([\n Autowired('gridSerializer')\n ], CsvCreator.prototype, \"gridSerializer\", void 0);\n __decorate$1([\n Autowired('gridOptionsWrapper')\n ], CsvCreator.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$1([\n PostConstruct\n ], CsvCreator.prototype, \"postConstruct\", null);\n CsvCreator = __decorate$1([\n Bean('csvCreator')\n ], CsvCreator);\n return CsvCreator;\n}(BaseCreator));\n\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowType;\n(function (RowType) {\n RowType[RowType[\"HEADER_GROUPING\"] = 0] = \"HEADER_GROUPING\";\n RowType[RowType[\"HEADER\"] = 1] = \"HEADER\";\n RowType[RowType[\"BODY\"] = 2] = \"BODY\";\n})(RowType || (RowType = {}));\nvar GridSerializer = /** @class */ (function (_super) {\n __extends(GridSerializer, _super);\n function GridSerializer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridSerializer.prototype.serialize = function (gridSerializingSession, params) {\n if (params === void 0) { params = {}; }\n var columnsToExport = this.getColumnsToExport(params.allColumns, params.columnKeys);\n var serializeChain = _.compose(\n // first pass, put in the header names of the cols\n this.prepareSession(columnsToExport), this.prependContent(params), this.exportColumnGroups(params, columnsToExport), this.exportHeaders(params, columnsToExport), this.processPinnedTopRows(params, columnsToExport), this.processRows(params, columnsToExport), this.processPinnedBottomRows(params, columnsToExport), this.appendContent(params));\n return serializeChain(gridSerializingSession).parse();\n };\n GridSerializer.prototype.processRow = function (gridSerializingSession, params, columnsToExport, node) {\n var rowSkipper = params.shouldRowBeSkipped || (function () { return false; });\n var gridOptionsWrapper = this.gridOptionsWrapper;\n var context = gridOptionsWrapper.getContext();\n var api = gridOptionsWrapper.getApi();\n var columnApi = gridOptionsWrapper.getColumnApi();\n var skipSingleChildrenGroup = gridOptionsWrapper.isGroupRemoveSingleChildren();\n var skipLowestSingleChildrenGroup = gridOptionsWrapper.isGroupRemoveLowestSingleChildren();\n // if onlySelected, we ignore groupHideOpenParents as the user has explicitly selected the rows they wish to export.\n // similarly, if specific rowNodes are provided we do the same. (the clipboard service uses rowNodes to define which rows to export)\n var isClipboardExport = params.rowPositions != null;\n var isExplicitExportSelection = isClipboardExport || !!params.onlySelected;\n var hideOpenParents = gridOptionsWrapper.isGroupHideOpenParents() && !isExplicitExportSelection;\n var isLeafNode = this.columnModel.isPivotMode() ? node.leafGroup : !node.group;\n var skipRowGroups = params.skipGroups || params.skipRowGroups;\n var shouldSkipLowestGroup = skipLowestSingleChildrenGroup && node.leafGroup;\n var shouldSkipCurrentGroup = node.allChildrenCount === 1 && (skipSingleChildrenGroup || shouldSkipLowestGroup);\n if (skipRowGroups && params.skipGroups) {\n _.doOnce(function () { return console.warn('AG Grid: Since v25.2 `skipGroups` has been renamed to `skipRowGroups`.'); }, 'gridSerializer-skipGroups');\n }\n if ((!isLeafNode && (params.skipRowGroups || shouldSkipCurrentGroup || hideOpenParents)) ||\n (params.onlySelected && !node.isSelected()) ||\n (params.skipPinnedTop && node.rowPinned === 'top') ||\n (params.skipPinnedBottom && node.rowPinned === 'bottom')) {\n return;\n }\n // if we are in pivotMode, then the grid will show the root node only\n // if it's not a leaf group\n var nodeIsRootNode = node.level === -1;\n if (nodeIsRootNode && !node.leafGroup && (!node.footer || !isClipboardExport)) {\n return;\n }\n var shouldRowBeSkipped = rowSkipper({ node: node, api: api, columnApi: columnApi, context: context });\n if (shouldRowBeSkipped) {\n return;\n }\n var rowAccumulator = gridSerializingSession.onNewBodyRow();\n columnsToExport.forEach(function (column, index) {\n rowAccumulator.onColumn(column, index, node);\n });\n if (params.getCustomContentBelowRow) {\n var content = params.getCustomContentBelowRow({ node: node, api: api, columnApi: columnApi, context: context });\n if (content) {\n gridSerializingSession.addCustomContent(content);\n }\n }\n };\n GridSerializer.prototype.appendContent = function (params) {\n return function (gridSerializingSession) {\n var appendContent = params.customFooter || params.appendContent;\n if (appendContent) {\n if (params.customFooter) {\n _.doOnce(function () { return console.warn('AG Grid: Since version 25.2.0 the `customFooter` param has been deprecated. Use `appendContent` instead.'); }, 'gridSerializer-customFooter');\n }\n gridSerializingSession.addCustomContent(appendContent);\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.prependContent = function (params) {\n return function (gridSerializingSession) {\n var prependContent = params.customHeader || params.prependContent;\n if (prependContent) {\n if (params.customHeader) {\n _.doOnce(function () { return console.warn('AG Grid: Since version 25.2.0 the `customHeader` param has been deprecated. Use `prependContent` instead.'); }, 'gridSerializer-customHeader');\n }\n gridSerializingSession.addCustomContent(prependContent);\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.prepareSession = function (columnsToExport) {\n return function (gridSerializingSession) {\n gridSerializingSession.prepare(columnsToExport);\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.exportColumnGroups = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n if (!params.skipColumnGroupHeaders) {\n var groupInstanceIdCreator = new GroupInstanceIdCreator();\n var displayedGroups = _this.displayedGroupCreator.createDisplayedGroups(columnsToExport, _this.columnModel.getGridBalancedTree(), groupInstanceIdCreator, null);\n _this.recursivelyAddHeaderGroups(displayedGroups, gridSerializingSession, params.processGroupHeaderCallback);\n }\n else if (params.columnGroups) {\n _.doOnce(function () { return console.warn('AG Grid: Since v25.2 the `columnGroups` param has deprecated, and groups are exported by default.'); }, 'gridSerializer-columnGroups');\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.exportHeaders = function (params, columnsToExport) {\n return function (gridSerializingSession) {\n if (!params.skipHeader && !params.skipColumnHeaders) {\n var gridRowIterator_1 = gridSerializingSession.onNewHeaderRow();\n columnsToExport.forEach(function (column, index) {\n gridRowIterator_1.onColumn(column, index, undefined);\n });\n }\n else if (params.skipHeader) {\n _.doOnce(function () { return console.warn('AG Grid: Since v25.2 the `skipHeader` param has been renamed to `skipColumnHeaders`.'); }, 'gridSerializer-skipHeader');\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.processPinnedTopRows = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport);\n if (params.rowPositions) {\n params.rowPositions\n // only pinnedTop rows, other models are processed by `processRows` and `processPinnedBottomsRows`\n .filter(function (position) { return position.rowPinned === 'top'; })\n .sort(function (a, b) { return a.rowIndex - b.rowIndex; })\n .map(function (position) { return _this.pinnedRowModel.getPinnedTopRow(position.rowIndex); })\n .forEach(processRow);\n }\n else {\n _this.pinnedRowModel.forEachPinnedTopRow(processRow);\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.processRows = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n // when in pivot mode, we always render cols on screen, never 'all columns'\n var rowModel = _this.rowModel;\n var rowModelType = rowModel.getType();\n var usingCsrm = rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n var usingSsrm = rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE;\n var onlySelectedNonStandardModel = !usingCsrm && params.onlySelected;\n var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport);\n var _a = params.exportedRows, exportedRows = _a === void 0 ? 'filteredAndSorted' : _a;\n if (params.rowPositions) {\n params.rowPositions\n // pinnedRows are processed by `processPinnedTopRows` and `processPinnedBottomsRows`\n .filter(function (position) { return position.rowPinned == null; })\n .sort(function (a, b) { return a.rowIndex - b.rowIndex; })\n .map(function (position) { return rowModel.getRow(position.rowIndex); })\n .forEach(processRow);\n }\n else if (_this.columnModel.isPivotMode()) {\n if (usingCsrm) {\n rowModel.forEachPivotNode(processRow);\n }\n else {\n // must be enterprise, so we can just loop through all the nodes\n rowModel.forEachNode(processRow);\n }\n }\n else {\n // onlySelectedAllPages: user doing pagination and wants selected items from\n // other pages, so cannot use the standard row model as it won't have rows from\n // other pages.\n // onlySelectedNonStandardModel: if user wants selected in non standard row model\n // (eg viewport) then again RowModel cannot be used, so need to use selected instead.\n if (params.onlySelectedAllPages || onlySelectedNonStandardModel) {\n var selectedNodes = _this.selectionService.getSelectedNodes();\n selectedNodes.forEach(processRow);\n }\n else {\n // here is everything else - including standard row model and selected. we don't use\n // the selection model even when just using selected, so that the result is the order\n // of the rows appearing on the screen.\n if (exportedRows === 'all') {\n rowModel.forEachNode(processRow);\n }\n else if (usingCsrm) {\n rowModel.forEachNodeAfterFilterAndSort(processRow);\n }\n else if (usingSsrm) {\n rowModel.forEachNodeAfterFilterAndSort(processRow);\n }\n else {\n rowModel.forEachNode(processRow);\n }\n }\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.processPinnedBottomRows = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport);\n if (params.rowPositions) {\n params.rowPositions\n // only pinnedBottom rows, other models are processed by `processRows` and `processPinnedTopRows`\n .filter(function (position) { return position.rowPinned === 'bottom'; })\n .sort(function (a, b) { return a.rowIndex - b.rowIndex; })\n .map(function (position) { return _this.pinnedRowModel.getPinnedBottomRow(position.rowIndex); })\n .forEach(processRow);\n }\n else {\n _this.pinnedRowModel.forEachPinnedBottomRow(processRow);\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.getColumnsToExport = function (allColumns, columnKeys) {\n if (allColumns === void 0) { allColumns = false; }\n var isPivotMode = this.columnModel.isPivotMode();\n if (columnKeys && columnKeys.length) {\n return this.columnModel.getGridColumns(columnKeys);\n }\n if (allColumns && !isPivotMode) {\n // add auto group column for tree data\n var columns = this.gridOptionsWrapper.isTreeData()\n ? this.columnModel.getGridColumns([Constants.GROUP_AUTO_COLUMN_ID])\n : [];\n return columns.concat(this.columnModel.getAllPrimaryColumns() || []);\n }\n return this.columnModel.getAllDisplayedColumns();\n };\n GridSerializer.prototype.recursivelyAddHeaderGroups = function (displayedGroups, gridSerializingSession, processGroupHeaderCallback) {\n var directChildrenHeaderGroups = [];\n displayedGroups.forEach(function (columnGroupChild) {\n var columnGroup = columnGroupChild;\n if (!columnGroup.getChildren) {\n return;\n }\n columnGroup.getChildren().forEach(function (it) { return directChildrenHeaderGroups.push(it); });\n });\n if (displayedGroups.length > 0 && displayedGroups[0] instanceof ColumnGroup) {\n this.doAddHeaderHeader(gridSerializingSession, displayedGroups, processGroupHeaderCallback);\n }\n if (directChildrenHeaderGroups && directChildrenHeaderGroups.length > 0) {\n this.recursivelyAddHeaderGroups(directChildrenHeaderGroups, gridSerializingSession, processGroupHeaderCallback);\n }\n };\n GridSerializer.prototype.doAddHeaderHeader = function (gridSerializingSession, displayedGroups, processGroupHeaderCallback) {\n var _this = this;\n var gridRowIterator = gridSerializingSession.onNewHeaderGroupingRow();\n var columnIndex = 0;\n displayedGroups.forEach(function (columnGroupChild) {\n var columnGroup = columnGroupChild;\n var name;\n if (processGroupHeaderCallback) {\n name = processGroupHeaderCallback({\n columnGroup: columnGroup,\n api: _this.gridOptionsWrapper.getApi(),\n columnApi: _this.gridOptionsWrapper.getColumnApi(),\n context: _this.gridOptionsWrapper.getContext()\n });\n }\n else {\n name = _this.columnModel.getDisplayNameForColumnGroup(columnGroup, 'header');\n }\n var collapsibleGroupRanges = columnGroup.getLeafColumns().reduce(function (collapsibleGroups, currentColumn, currentIdx, arr) {\n var lastGroup = _.last(collapsibleGroups);\n var groupShow = currentColumn.getColumnGroupShow() === 'open';\n if (!groupShow) {\n if (lastGroup && lastGroup[1] == null) {\n lastGroup[1] = currentIdx - 1;\n }\n }\n else if (!lastGroup || lastGroup[1] != null) {\n lastGroup = [currentIdx];\n collapsibleGroups.push(lastGroup);\n }\n if (currentIdx === arr.length - 1 && lastGroup && lastGroup[1] == null) {\n lastGroup[1] = currentIdx;\n }\n return collapsibleGroups;\n }, []);\n gridRowIterator.onColumn(columnGroup, name || '', columnIndex++, columnGroup.getLeafColumns().length - 1, collapsibleGroupRanges);\n });\n };\n __decorate([\n Autowired('displayedGroupCreator')\n ], GridSerializer.prototype, \"displayedGroupCreator\", void 0);\n __decorate([\n Autowired('columnModel')\n ], GridSerializer.prototype, \"columnModel\", void 0);\n __decorate([\n Autowired('rowModel')\n ], GridSerializer.prototype, \"rowModel\", void 0);\n __decorate([\n Autowired('pinnedRowModel')\n ], GridSerializer.prototype, \"pinnedRowModel\", void 0);\n __decorate([\n Autowired('selectionService')\n ], GridSerializer.prototype, \"selectionService\", void 0);\n __decorate([\n Autowired('rowPositionUtils')\n ], GridSerializer.prototype, \"rowPositionUtils\", void 0);\n GridSerializer = __decorate([\n Bean(\"gridSerializer\")\n ], GridSerializer);\n return GridSerializer;\n}(BeanStub));\n\nvar CsvExportModule = {\n moduleName: ModuleNames.CsvExportModule,\n beans: [CsvCreator, GridSerializer]\n};\n\nvar LINE_SEPARATOR = '\\r\\n';\nvar XmlFactory = /** @class */ (function () {\n function XmlFactory() {\n }\n XmlFactory.createHeader = function (headerElement) {\n if (headerElement === void 0) { headerElement = {}; }\n var headerStart = '';\n var keys = ['version'];\n if (!headerElement.version) {\n headerElement.version = \"1.0\";\n }\n if (headerElement.encoding) {\n keys.push('encoding');\n }\n if (headerElement.standalone) {\n keys.push('standalone');\n }\n var att = keys.map(function (key) { return key + \"=\\\"\" + headerElement[key] + \"\\\"\"; }).join(' ');\n return headerStart + \"xml \" + att + \" \" + headerEnd;\n };\n XmlFactory.createXml = function (xmlElement, booleanTransformer) {\n var _this = this;\n var props = '';\n if (xmlElement.properties) {\n if (xmlElement.properties.prefixedAttributes) {\n xmlElement.properties.prefixedAttributes.forEach(function (prefixedSet) {\n Object.keys(prefixedSet.map).forEach(function (key) {\n props += _this.returnAttributeIfPopulated(prefixedSet.prefix + key, prefixedSet.map[key], booleanTransformer);\n });\n });\n }\n if (xmlElement.properties.rawMap) {\n Object.keys(xmlElement.properties.rawMap).forEach(function (key) {\n props += _this.returnAttributeIfPopulated(key, xmlElement.properties.rawMap[key], booleanTransformer);\n });\n }\n }\n var result = '<' + xmlElement.name + props;\n if (!xmlElement.children && xmlElement.textNode == null) {\n return result + '/>' + LINE_SEPARATOR;\n }\n if (xmlElement.textNode != null) {\n return result + '>' + xmlElement.textNode + '' + LINE_SEPARATOR;\n }\n result += '>' + LINE_SEPARATOR;\n if (xmlElement.children) {\n xmlElement.children.forEach(function (it) {\n result += _this.createXml(it, booleanTransformer);\n });\n }\n return result + '' + LINE_SEPARATOR;\n };\n XmlFactory.returnAttributeIfPopulated = function (key, value, booleanTransformer) {\n if (!value && value !== '' && value !== 0) {\n return '';\n }\n var xmlValue = value;\n if ((typeof (value) === 'boolean')) {\n if (booleanTransformer) {\n xmlValue = booleanTransformer(value);\n }\n }\n return \" \" + key + \"=\\\"\" + xmlValue + \"\\\"\";\n };\n return XmlFactory;\n}());\n\nvar __values = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// table for crc calculation\n// from: https://referencesource.microsoft.com/#System/sys/System/IO/compression/Crc32Helper.cs,3b31978c7d7f7246,references\nvar crcTable = new Uint32Array([\n 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,\n 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,\n 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,\n 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,\n 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,\n 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,\n 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,\n 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,\n 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,\n 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,\n 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,\n 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,\n 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,\n 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,\n 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,\n 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,\n 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,\n 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,\n 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,\n 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,\n 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,\n 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,\n 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,\n 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,\n 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,\n 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,\n 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,\n 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,\n 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,\n 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,\n 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,\n 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,\n 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,\n 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,\n 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,\n 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,\n 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,\n 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,\n 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,\n 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,\n 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,\n 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,\n 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d\n]);\nvar ZipContainer = /** @class */ (function () {\n function ZipContainer() {\n }\n ZipContainer.addFolders = function (paths) {\n paths.forEach(this.addFolder.bind(this));\n };\n ZipContainer.addFolder = function (path) {\n this.folders.push({\n path: path,\n created: new Date(),\n isBase64: false\n });\n };\n ZipContainer.addFile = function (path, content, isBase64) {\n if (isBase64 === void 0) { isBase64 = false; }\n this.files.push({\n path: path,\n created: new Date(),\n content: content,\n isBase64: isBase64\n });\n };\n ZipContainer.getContent = function (mimeType) {\n if (mimeType === void 0) { mimeType = 'application/zip'; }\n var textOutput = this.buildFileStream();\n var uInt8Output = this.buildUint8Array(textOutput);\n this.clearStream();\n return new Blob([uInt8Output], { type: mimeType });\n };\n ZipContainer.clearStream = function () {\n this.folders = [];\n this.files = [];\n };\n ZipContainer.buildFileStream = function (fData) {\n var e_1, _a;\n if (fData === void 0) { fData = ''; }\n var totalFiles = this.folders.concat(this.files);\n var len = totalFiles.length;\n var foData = '';\n var lL = 0;\n var cL = 0;\n try {\n for (var totalFiles_1 = __values(totalFiles), totalFiles_1_1 = totalFiles_1.next(); !totalFiles_1_1.done; totalFiles_1_1 = totalFiles_1.next()) {\n var currentFile = totalFiles_1_1.value;\n var _b = this.getHeader(currentFile, lL), fileHeader = _b.fileHeader, folderHeader = _b.folderHeader, content = _b.content;\n lL += fileHeader.length + content.length;\n cL += folderHeader.length;\n fData += fileHeader + content;\n foData += folderHeader;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (totalFiles_1_1 && !totalFiles_1_1.done && (_a = totalFiles_1.return)) _a.call(totalFiles_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var foEnd = this.buildFolderEnd(len, cL, lL);\n return fData + foData + foEnd;\n };\n ZipContainer.getHeader = function (currentFile, offset) {\n var content = currentFile.content, path = currentFile.path, created = currentFile.created, isBase64 = currentFile.isBase64;\n var utf8_encode = _.utf8_encode, decToHex = _.decToHex;\n var utfPath = utf8_encode(path);\n var isUTF8 = utfPath !== path;\n var time = this.convertTime(created);\n var dt = this.convertDate(created);\n var extraFields = '';\n if (isUTF8) {\n var uExtraFieldPath = decToHex(1, 1) + decToHex(this.getFromCrc32Table(utfPath), 4) + utfPath;\n extraFields = \"\\x75\\x70\" + decToHex(uExtraFieldPath.length, 2) + uExtraFieldPath;\n }\n var _a = !content ? { size: 0, content: '' } : this.getConvertedContent(content, isBase64), size = _a.size, convertedContent = _a.content;\n var header = '\\x0A\\x00' +\n (isUTF8 ? '\\x00\\x08' : '\\x00\\x00') +\n '\\x00\\x00' +\n decToHex(time, 2) + // last modified time\n decToHex(dt, 2) + // last modified date\n decToHex(size ? this.getFromCrc32Table(convertedContent) : 0, 4) +\n decToHex(size, 4) + // compressed size\n decToHex(size, 4) + // uncompressed size\n decToHex(utfPath.length, 2) + // file name length\n decToHex(extraFields.length, 2); // extra field length\n var fileHeader = 'PK\\x03\\x04' + header + utfPath + extraFields;\n var folderHeader = 'PK\\x01\\x02' + // central header\n '\\x14\\x00' +\n header + // file header\n '\\x00\\x00' +\n '\\x00\\x00' +\n '\\x00\\x00' +\n (content ? '\\x00\\x00\\x00\\x00' : '\\x10\\x00\\x00\\x00') + // external file attributes\n decToHex(offset, 4) + // relative offset of local header\n utfPath + // file name\n extraFields; // extra field\n return { fileHeader: fileHeader, folderHeader: folderHeader, content: convertedContent || '' };\n };\n ZipContainer.getConvertedContent = function (content, isBase64) {\n if (isBase64 === void 0) { isBase64 = false; }\n if (isBase64) {\n content = content.split(';base64,')[1];\n }\n content = isBase64 ? atob(content) : content;\n return {\n size: content.length,\n content: content\n };\n };\n ZipContainer.buildFolderEnd = function (tLen, cLen, lLen) {\n var decToHex = _.decToHex;\n return 'PK\\x05\\x06' + // central folder end\n '\\x00\\x00' +\n '\\x00\\x00' +\n decToHex(tLen, 2) + // total number of entries in the central folder\n decToHex(tLen, 2) + // total number of entries in the central folder\n decToHex(cLen, 4) + // size of the central folder\n decToHex(lLen, 4) + // central folder start offset\n '\\x00\\x00';\n };\n ZipContainer.buildUint8Array = function (content) {\n var uint8 = new Uint8Array(content.length);\n for (var i = 0; i < uint8.length; i++) {\n uint8[i] = content.charCodeAt(i);\n }\n return uint8;\n };\n ZipContainer.getFromCrc32Table = function (content) {\n if (!content.length) {\n return 0;\n }\n var size = content.length;\n var iterable = new Uint8Array(size);\n for (var i = 0; i < size; i++) {\n iterable[i] = content.charCodeAt(i);\n }\n var crc = 0 ^ (-1);\n var j = 0;\n var k = 0;\n var l = 0;\n for (var i = 0; i < size; i++) {\n j = iterable[i];\n k = (crc ^ j) & 0xFF;\n l = crcTable[k];\n crc = (crc >>> 8) ^ l;\n }\n return crc ^ (-1);\n };\n ZipContainer.convertTime = function (date) {\n var time = date.getHours();\n time <<= 6;\n time = time | date.getMinutes();\n time <<= 5;\n time = time | date.getSeconds() / 2;\n return time;\n };\n ZipContainer.convertDate = function (date) {\n var dt = date.getFullYear() - 1980;\n dt <<= 4;\n dt = dt | (date.getMonth() + 1);\n dt <<= 5;\n dt = dt | date.getDate();\n return dt;\n };\n ZipContainer.folders = [];\n ZipContainer.files = [];\n return ZipContainer;\n}());\n\nvar AllCommunityModules = [ClientSideRowModelModule, InfiniteRowModelModule, CsvExportModule];\n\nModuleRegistry.registerModules(AllCommunityModules);\n\nexport { AbstractHeaderCellCtrl, AgAbstractField, AgAngleSelect, AgCheckbox, AgColorPicker, AgDialog, AgGroupComponent, AgInputNumberField, AgInputRange, AgInputTextArea, AgInputTextField, AgMenuItemComponent, AgMenuList, AgMenuPanel, AgPanel, AgPromise, AgPromiseStatus, AgRadioButton, AgSelect, AgSlider, AgStackComponentsRegistry, AgToggleButton, AlignedGridsService, AllCommunityModules, AnimateShowChangeCellRenderer, AnimateSlideCellRenderer, AnimationFrameService, AutoScrollService, AutoWidthCalculator, Autowired, BarColumnLabelPlacement, BaseComponentWrapper, BaseCreator, BaseGridSerializingSession, Bean, BeanStub, Beans, BodyDropPivotTarget, BodyDropTarget, CHART_TOOLBAR_ALLOW_LIST, CHART_TOOL_PANEL_ALLOW_LIST, CHART_TOOL_PANEL_MENU_OPTIONS, CellComp, CellCtrl, CellNavigationService, CellPositionUtils, CellRangeType, ChangedPath, CheckboxSelectionComponent, ClientSideRowModelModule, ClientSideRowModelSteps, ColDefUtil, Color, Column, ColumnApi, ColumnFactory, ColumnGroup, ColumnKeyCreator, ColumnModel, ColumnUtils, Component, ComponentUtil, Constants, Context, CssClassApplier, CssClassManager, CsvCreator, CsvExportModule, CtrlsService, CustomTooltipFeature, DEFAULT_CHART_GROUPS, DateFilter, DisplayedGroupCreator, Downloader, DragAndDropService, DragService, DragSourceType, Environment, EventService, Events, ExcelFactoryMode, ExpressionService, FilterManager, FloatingFilterMapper, FocusService, Grid, GridApi, GridBodyComp, GridBodyCtrl, GridComp, GridCoreCreator, GridCtrl, GridHeaderComp, GridHeaderCtrl, GridOptionsWrapper, GridSerializer, GroupCellRenderer, GroupCellRendererCtrl, GroupInstanceIdCreator, HeaderCellCtrl, HeaderFilterCellComp, HeaderFilterCellCtrl, HeaderGroupCellCtrl, HeaderNavigationDirection, HeaderNavigationService, HeaderPositionUtils, HeaderRowComp, HeaderRowContainerComp, HeaderRowContainerCtrl, HeaderRowCtrl, HeaderRowType, HorizontalDirection, HorizontalResizeService, InfiniteRowModelModule, KeyCode, LargeTextCellEditor, LayoutCssClasses, Logger, LoggerFactory, ManagedFocusFeature, ModuleNames, ModuleRegistry, MouseEventService, MoveColumnFeature, NavigationService, NumberFilter, NumberSequence, Optional, PaginationProxy, PinnedRowModel, PopupComponent, PopupEditorWrapper, PopupSelectCellEditor, PopupService, PopupTextCellEditor, PositionableFeature, PostConstruct, PreConstruct, PreDestroy, PropertyKeys, ProvidedColumnGroup, ProvidedFilter, Qualifier, QuerySelector, RefSelector, ResizeObserverService, RowAnimationCssClasses, RowContainerComp, RowContainerCtrl, RowContainerName, RowContainerType, RowCtrl, RowHighlightPosition, RowNode, RowNodeBlock, RowNodeBlockLoader, RowNodeSorter, RowPositionUtils, RowRenderer, RowType, ScalarFilter, ScrollVisibleService, SelectCellEditor, SelectableService, SelectionHandleType, SelectionService, ServerSideTransactionResultStatus, SetLeftFeature, SimpleFilter, SortController, SortIndicatorComp, StandardMenuFactory, StylingService, TabGuardComp, TabGuardCtrl, TabbedLayout, TemplateService, TextCellEditor, TextFilter, TextFloatingFilter, Timer, TouchListener, UserComponentFactory, UserComponentRegistry, ValueCache, ValueFormatterService, ValueService, VanillaFrameworkOverrides, VerticalDirection, VirtualList, XmlFactory, ZipContainer, _, defaultGroupComparator, getRowContainerTypeForName, simpleHttpRequest, stringToArray };\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar agGridReactLegacy_1 = require(\"./legacy/agGridReactLegacy\");\nvar agGridReactUi_1 = require(\"./reactUi/agGridReactUi\");\nvar AgGridReact = /** @class */ (function (_super) {\n __extends(AgGridReact, _super);\n function AgGridReact() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.setGridApi = function (api, columnApi) {\n _this.api = api;\n _this.columnApi = columnApi;\n };\n return _this;\n }\n AgGridReact.prototype.render = function () {\n var ReactComponentToUse = this.props.suppressReactUi ?\n react_1.default.createElement(agGridReactLegacy_1.AgGridReactLegacy, __assign({}, this.props, { setGridApi: this.setGridApi }))\n : react_1.default.createElement(agGridReactUi_1.AgGridReactUi, __assign({}, this.props, { setGridApi: this.setGridApi }));\n return ReactComponentToUse;\n };\n return AgGridReact;\n}(react_1.Component));\nexports.AgGridReact = AgGridReact;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar react_1 = __importStar(require(\"react\"));\nvar legacyReactComponent_1 = require(\"./legacyReactComponent\");\nvar agGridColumn_1 = require(\"../shared/agGridColumn\");\nvar changeDetectionService_1 = require(\"../shared/changeDetectionService\");\nvar newReactComponent_1 = require(\"../shared/newReactComponent\");\nvar portalManager_1 = require(\"../shared/portalManager\");\nvar reactFrameworkOverrides_1 = require(\"../shared/reactFrameworkOverrides\");\nvar AgGridReactLegacy = /** @class */ (function (_super) {\n __extends(AgGridReactLegacy, _super);\n function AgGridReactLegacy(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n _this.changeDetectionService = new changeDetectionService_1.ChangeDetectionService();\n _this.api = null;\n _this.destroyed = false;\n _this.SYNCHRONOUS_CHANGE_PROPERTIES = ['context'];\n _this.portalManager = new portalManager_1.PortalManager(_this, props.componentWrappingElement, props.maxComponentCreationTimeMs);\n return _this;\n }\n AgGridReactLegacy.prototype.render = function () {\n var _this = this;\n return react_1.default.createElement('div', {\n style: this.createStyleForDiv(),\n className: this.props.className,\n ref: function (e) {\n _this.eGridDiv = e;\n }\n }, this.portalManager.getPortals());\n };\n AgGridReactLegacy.prototype.createStyleForDiv = function () {\n return __assign({ height: '100%' }, (this.props.containerStyle || {}));\n };\n AgGridReactLegacy.prototype.componentDidMount = function () {\n var modules = this.props.modules || [];\n var gridParams = {\n providedBeanInstances: {\n agGridReact: this,\n frameworkComponentWrapper: new ReactFrameworkComponentWrapper(this, this.portalManager)\n },\n modules: modules,\n frameworkOverrides: new reactFrameworkOverrides_1.ReactFrameworkOverrides(false)\n };\n var gridOptions = this.props.gridOptions || {};\n var children = this.props.children;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(children)) {\n gridOptions.columnDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(children);\n }\n this.gridOptions = ag_grid_community_1.ComponentUtil.copyAttributesToGridOptions(gridOptions, this.props);\n // don't need the return value\n new ag_grid_community_1.Grid(this.eGridDiv, this.gridOptions, gridParams);\n this.api = this.gridOptions.api;\n this.columnApi = this.gridOptions.columnApi;\n this.props.setGridApi(this.api, this.columnApi);\n };\n AgGridReactLegacy.prototype.getStrategyTypeForProp = function (propKey) {\n if (propKey === 'rowData') {\n if (this.props.rowDataChangeDetectionStrategy) {\n return this.props.rowDataChangeDetectionStrategy;\n }\n else if (this.isImmutableDataActive()) {\n return changeDetectionService_1.ChangeDetectionStrategyType.IdentityCheck;\n }\n }\n // all other cases will default to DeepValueCheck\n return changeDetectionService_1.ChangeDetectionStrategyType.DeepValueCheck;\n };\n AgGridReactLegacy.prototype.isImmutableDataActive = function () {\n return (this.props.deltaRowDataMode || this.props.immutableData) || this.props.getRowId != null ||\n (this.props.gridOptions && (this.props.gridOptions.deltaRowDataMode\n || this.props.gridOptions.immutableData\n || this.props.gridOptions.getRowId != null));\n };\n AgGridReactLegacy.prototype.shouldComponentUpdate = function (nextProps) {\n this.processPropsChanges(this.props, nextProps);\n // we want full control of the dom, as AG Grid doesn't use React internally,\n // so for performance reasons we tell React we don't need render called after\n // property changes.\n return false;\n };\n AgGridReactLegacy.prototype.componentDidUpdate = function (prevProps) {\n this.processPropsChanges(prevProps, this.props);\n };\n AgGridReactLegacy.prototype.processPropsChanges = function (prevProps, nextProps) {\n var changes = {};\n this.extractGridPropertyChanges(prevProps, nextProps, changes);\n this.extractDeclarativeColDefChanges(nextProps, changes);\n this.processSynchronousChanges(changes);\n this.processAsynchronousChanges(changes);\n };\n AgGridReactLegacy.prototype.extractDeclarativeColDefChanges = function (nextProps, changes) {\n // if columnDefs are provided on gridOptions we use those - you can't combine both\n // we also skip if columnDefs are provided as a prop directly on AgGridReact\n if ((this.props.gridOptions && this.props.gridOptions.columnDefs) || this.props.columnDefs) {\n return;\n }\n var debugLogging = !!nextProps.debug;\n var propKey = 'columnDefs';\n var currentColDefs = this.gridOptions.columnDefs;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(nextProps.children)) {\n var detectionStrategy = this.changeDetectionService.getStrategy(this.getStrategyTypeForProp(propKey));\n var newColDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(nextProps.children);\n if (!detectionStrategy.areEqual(currentColDefs, newColDefs)) {\n if (debugLogging) {\n console.log(\"agGridReact: colDefs definitions changed\");\n }\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: newColDefs\n };\n }\n }\n else if (currentColDefs && currentColDefs.length > 0) {\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: []\n };\n }\n };\n AgGridReactLegacy.prototype.extractGridPropertyChanges = function (prevProps, nextProps, changes) {\n var _this = this;\n var debugLogging = !!nextProps.debug;\n Object.keys(nextProps).forEach(function (propKey) {\n if (ag_grid_community_1._.includes(ag_grid_community_1.ComponentUtil.ALL_PROPERTIES, propKey)) {\n var changeDetectionStrategy = _this.changeDetectionService.getStrategy(_this.getStrategyTypeForProp(propKey));\n if (!changeDetectionStrategy.areEqual(prevProps[propKey], nextProps[propKey])) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + propKey + \"] property changed\");\n }\n changes[propKey] = {\n previousValue: prevProps[propKey],\n currentValue: nextProps[propKey]\n };\n }\n }\n });\n ag_grid_community_1.ComponentUtil.getEventCallbacks().forEach(function (funcName) {\n if (prevProps[funcName] !== nextProps[funcName]) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + funcName + \"] event callback changed\");\n }\n changes[funcName] = {\n previousValue: prevProps[funcName],\n currentValue: nextProps[funcName]\n };\n }\n });\n };\n AgGridReactLegacy.prototype.componentWillUnmount = function () {\n if (this.api) {\n this.api.destroy();\n this.api = null;\n }\n this.destroyed = true;\n this.portalManager.destroy();\n };\n AgGridReactLegacy.prototype.isDisableStaticMarkup = function () {\n return this.props.disableStaticMarkup === true;\n };\n AgGridReactLegacy.prototype.isLegacyComponentRendering = function () {\n return this.props.legacyComponentRendering === true;\n };\n AgGridReactLegacy.prototype.processSynchronousChanges = function (changes) {\n var asyncChanges = __assign({}, changes);\n if (Object.keys(asyncChanges).length > 0) {\n var synchronousChanges_1 = {};\n this.SYNCHRONOUS_CHANGE_PROPERTIES.forEach(function (synchronousChangeProperty) {\n if (asyncChanges[synchronousChangeProperty]) {\n synchronousChanges_1[synchronousChangeProperty] = asyncChanges[synchronousChangeProperty];\n delete asyncChanges[synchronousChangeProperty];\n }\n });\n if (Object.keys(synchronousChanges_1).length > 0 && !!this.api) {\n ag_grid_community_1.ComponentUtil.processOnChange(synchronousChanges_1, this.gridOptions, this.api, this.columnApi);\n }\n }\n return asyncChanges;\n };\n AgGridReactLegacy.prototype.processAsynchronousChanges = function (changes) {\n var _this = this;\n if (Object.keys(changes).length > 0) {\n window.setTimeout(function () {\n // destroyed?\n if (_this.api) {\n ag_grid_community_1.ComponentUtil.processOnChange(changes, _this.gridOptions, _this.api, _this.columnApi);\n }\n });\n }\n };\n AgGridReactLegacy.MAX_COMPONENT_CREATION_TIME_IN_MS = 1000; // a second should be more than enough to instantiate a component\n AgGridReactLegacy.defaultProps = {\n legacyComponentRendering: false,\n disableStaticMarkup: false,\n maxComponentCreationTimeMs: AgGridReactLegacy.MAX_COMPONENT_CREATION_TIME_IN_MS\n };\n return AgGridReactLegacy;\n}(react_1.Component));\nexports.AgGridReactLegacy = AgGridReactLegacy;\nAgGridReactLegacy.propTypes = {\n gridOptions: prop_types_1.default.object\n};\naddProperties(ag_grid_community_1.ComponentUtil.getEventCallbacks(), prop_types_1.default.func);\naddProperties(ag_grid_community_1.ComponentUtil.BOOLEAN_PROPERTIES, prop_types_1.default.bool);\naddProperties(ag_grid_community_1.ComponentUtil.STRING_PROPERTIES, prop_types_1.default.string);\naddProperties(ag_grid_community_1.ComponentUtil.OBJECT_PROPERTIES, prop_types_1.default.object);\naddProperties(ag_grid_community_1.ComponentUtil.ARRAY_PROPERTIES, prop_types_1.default.array);\naddProperties(ag_grid_community_1.ComponentUtil.NUMBER_PROPERTIES, prop_types_1.default.number);\naddProperties(ag_grid_community_1.ComponentUtil.FUNCTION_PROPERTIES, prop_types_1.default.func);\nfunction addProperties(listOfProps, propType) {\n listOfProps.forEach(function (propKey) {\n AgGridReactLegacy[propKey] = propType;\n });\n}\nvar ReactFrameworkComponentWrapper = /** @class */ (function (_super) {\n __extends(ReactFrameworkComponentWrapper, _super);\n function ReactFrameworkComponentWrapper(agGridReact, portalManager) {\n var _this = _super.call(this) || this;\n _this.agGridReact = agGridReact;\n _this.portalManager = portalManager;\n return _this;\n }\n ReactFrameworkComponentWrapper.prototype.createWrapper = function (UserReactComponent, componentType) {\n if (this.agGridReact.isLegacyComponentRendering()) {\n return new legacyReactComponent_1.LegacyReactComponent(UserReactComponent, this.agGridReact, this.portalManager, componentType);\n }\n else {\n return new newReactComponent_1.NewReactComponent(UserReactComponent, this.portalManager, componentType);\n }\n };\n return ReactFrameworkComponentWrapper;\n}(ag_grid_community_1.BaseComponentWrapper));\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar reactComponent_1 = require(\"../shared/reactComponent\");\nvar server_1 = require(\"react-dom/server\");\nvar keyGenerator_1 = __importDefault(require(\"../shared/keyGenerator\"));\nvar LegacyReactComponent = /** @class */ (function (_super) {\n __extends(LegacyReactComponent, _super);\n function LegacyReactComponent(reactComponent, parentComponent, portalManager, componentType) {\n var _this = _super.call(this, reactComponent, portalManager, componentType) || this;\n _this.staticMarkup = null;\n _this.staticRenderTime = 0;\n _this.parentComponent = parentComponent;\n return _this;\n }\n LegacyReactComponent.prototype.init = function (params) {\n var _this = this;\n this.eParentElement = this.createParentElement(params);\n this.renderStaticMarkup(params);\n return new ag_grid_community_1.AgPromise(function (resolve) { return _this.createReactComponent(params, resolve); });\n };\n LegacyReactComponent.prototype.createReactComponent = function (params, resolve) {\n var _this = this;\n // regular components (ie not functional)\n if (!this.isStatelessComponent()) {\n // grab hold of the actual instance created\n params.ref = function (element) {\n _this.componentInstance = element;\n _this.addParentContainerStyleAndClasses();\n _this.removeStaticMarkup();\n };\n }\n var reactComponent = react_1.createElement(this.reactComponent, params);\n var portal = react_dom_1.createPortal(reactComponent, this.eParentElement, keyGenerator_1.default() // fixed deltaRowModeRefreshCompRenderer\n );\n this.portal = portal;\n this.portalManager.mountReactPortal(portal, this, function (value) {\n resolve(value);\n // functional/stateless components have a slightly different lifecycle (no refs) so we'll clean them up\n // here\n if (_this.isStatelessComponent()) {\n if (_this.isSlowRenderer()) {\n _this.removeStaticMarkup();\n }\n setTimeout(function () {\n _this.removeStaticMarkup();\n });\n }\n });\n };\n LegacyReactComponent.prototype.fallbackMethodAvailable = function (name) {\n return false;\n };\n LegacyReactComponent.prototype.fallbackMethod = function (name, params) { };\n LegacyReactComponent.prototype.isSlowRenderer = function () {\n return this.staticRenderTime >= LegacyReactComponent.SLOW_RENDERING_THRESHOLD;\n };\n LegacyReactComponent.prototype.isNullValue = function () {\n return this.staticMarkup === '';\n };\n /*\n * Attempt to render the component as static markup if possible\n * What this does is eliminate any visible flicker for the user in the scenario where a component is destroyed and\n * recreated with exactly the same data (ie with force refresh)\n * Note: Some use cases will throw an error (ie when using Context) so if an error occurs just ignore it any move on\n */\n LegacyReactComponent.prototype.renderStaticMarkup = function (params) {\n if (this.parentComponent.isDisableStaticMarkup() || !this.componentType.cellRenderer) {\n return;\n }\n var originalConsoleError = console.error;\n var reactComponent = react_1.createElement(this.reactComponent, params);\n try {\n // if a user is doing anything that uses useLayoutEffect (like material ui) then it will throw and we\n // can't do anything to stop it; this is just a warning and has no effect on anything so just suppress it\n // for this single operation\n console.error = function () {\n };\n var start = Date.now();\n var staticMarkup = server_1.renderToStaticMarkup(reactComponent);\n this.staticRenderTime = Date.now() - start;\n console.error = originalConsoleError;\n // if the render method returns null the result will be an empty string\n if (staticMarkup === '') {\n this.staticMarkup = staticMarkup;\n }\n else {\n if (staticMarkup) {\n // we wrap the content as if there is \"trailing\" text etc it's not easy to safely remove\n // the same is true for memoized renderers, renderers that that return simple strings or NaN etc\n this.staticMarkup = document.createElement('span');\n this.staticMarkup.innerHTML = staticMarkup;\n this.eParentElement.appendChild(this.staticMarkup);\n }\n }\n }\n catch (e) {\n // we tried - this can happen with certain (rare) edge cases\n }\n finally {\n console.error = originalConsoleError;\n }\n };\n LegacyReactComponent.prototype.removeStaticMarkup = function () {\n if (this.parentComponent.isDisableStaticMarkup() || !this.componentType.cellRenderer) {\n return;\n }\n if (this.staticMarkup) {\n if (this.staticMarkup.remove) {\n // everyone else in the world\n this.staticMarkup.remove();\n this.staticMarkup = null;\n }\n else if (this.eParentElement.removeChild) {\n // ie11...\n this.eParentElement.removeChild(this.staticMarkup);\n this.staticMarkup = null;\n }\n }\n };\n LegacyReactComponent.prototype.rendered = function () {\n return this.isNullValue() ||\n !!this.staticMarkup || (this.isStatelessComponent() && this.statelessComponentRendered()) ||\n !!(!this.isStatelessComponent() && this.getFrameworkComponentInstance());\n };\n LegacyReactComponent.SLOW_RENDERING_THRESHOLD = 3;\n return LegacyReactComponent;\n}(reactComponent_1.ReactComponent));\nexports.LegacyReactComponent = LegacyReactComponent;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar agGridColumn_1 = require(\"../shared/agGridColumn\");\nvar changeDetectionService_1 = require(\"../shared/changeDetectionService\");\nvar newReactComponent_1 = require(\"../shared/newReactComponent\");\nvar portalManager_1 = require(\"../shared/portalManager\");\nvar gridComp_1 = __importDefault(require(\"./gridComp\"));\nvar reactFrameworkOverrides_1 = require(\"../shared/reactFrameworkOverrides\");\nfunction debug(msg, obj) {\n // console.log(msg, obj);\n}\nvar AgGridReactUi = /** @class */ (function (_super) {\n __extends(AgGridReactUi, _super);\n function AgGridReactUi(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n _this.destroyFuncs = [];\n _this.changeDetectionService = new changeDetectionService_1.ChangeDetectionService();\n _this.eGui = react_1.default.createRef();\n _this.whenReadyFuncs = [];\n _this.ready = false;\n _this.renderedAfterMount = false;\n _this.mounted = false;\n debug('AgGridReactUi.constructor');\n _this.state = { context: undefined };\n _this.portalManager = new portalManager_1.PortalManager(_this, props.componentWrappingElement, props.maxComponentCreationTimeMs);\n _this.destroyFuncs.push(function () { return _this.portalManager.destroy(); });\n return _this;\n }\n AgGridReactUi.prototype.render = function () {\n debug('AgGridReactUi.render, context = ' + (this.state.context));\n if (this.state.context) {\n this.renderedAfterMount = true;\n }\n return (react_1.default.createElement(\"div\", { style: this.createStyleForDiv(), className: this.props.className, ref: this.eGui },\n this.state.context && react_1.default.createElement(gridComp_1.default, { context: this.state.context }),\n this.portalManager.getPortals()));\n };\n AgGridReactUi.prototype.createStyleForDiv = function () {\n return __assign({ height: '100%' }, (this.props.containerStyle || {}));\n };\n AgGridReactUi.prototype.componentDidMount = function () {\n var _this = this;\n if (this.mounted) {\n debug('AgGridReactUi.componentDidMount - skipping');\n return;\n }\n debug('AgGridReactUi.componentDidMount');\n this.mounted = true;\n var modules = this.props.modules || [];\n var gridParams = {\n providedBeanInstances: {\n frameworkComponentWrapper: new ReactFrameworkComponentWrapper(this.portalManager)\n },\n modules: modules,\n frameworkOverrides: new reactFrameworkOverrides_1.ReactFrameworkOverrides(true)\n };\n this.gridOptions = this.props.gridOptions || {};\n var children = this.props.children;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(children)) {\n this.gridOptions.columnDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(children);\n }\n this.gridOptions = ag_grid_community_1.ComponentUtil.copyAttributesToGridOptions(this.gridOptions, this.props);\n var createUiCallback = function (context) {\n _this.setState({ context: context });\n // because React is Async, we need to wait for the UI to be initialised before exposing the API's\n var ctrlsService = context.getBean(ag_grid_community_1.CtrlsService.NAME);\n ctrlsService.whenReady(function () {\n debug('AgGridReactUi.createUiCallback');\n _this.api = _this.gridOptions.api;\n _this.columnApi = _this.gridOptions.columnApi;\n _this.props.setGridApi(_this.api, _this.columnApi);\n _this.destroyFuncs.push(function () { return _this.api.destroy(); });\n });\n };\n // this callback adds to ctrlsService.whenReady(), just like above, however because whenReady() executes\n // funcs in the order they were received, we know adding items here will be AFTER the grid has set columns\n // and data. this is because GridCoreCreator sets these between calling createUiCallback and acceptChangesCallback\n var acceptChangesCallback = function (context) {\n var ctrlsService = context.getBean(ag_grid_community_1.CtrlsService.NAME);\n ctrlsService.whenReady(function () {\n debug('AgGridReactUi.acceptChangesCallback');\n _this.whenReadyFuncs.forEach(function (f) { return f(); });\n _this.whenReadyFuncs.length = 0;\n _this.ready = true;\n });\n };\n // don't need the return value\n var gridCoreCreator = new ag_grid_community_1.GridCoreCreator();\n gridCoreCreator.create(this.eGui.current, this.gridOptions, createUiCallback, acceptChangesCallback, gridParams);\n };\n AgGridReactUi.prototype.componentWillUnmount = function () {\n if (this.renderedAfterMount) {\n debug('AgGridReactUi.componentWillUnmount - executing');\n this.destroyFuncs.forEach(function (f) { return f(); });\n this.destroyFuncs.length = 0;\n }\n else {\n debug('AgGridReactUi.componentWillUnmount - skipping');\n }\n };\n AgGridReactUi.prototype.componentDidUpdate = function (prevProps) {\n this.processPropsChanges(prevProps, this.props);\n };\n AgGridReactUi.prototype.processPropsChanges = function (prevProps, nextProps) {\n var changes = {};\n this.extractGridPropertyChanges(prevProps, nextProps, changes);\n this.extractDeclarativeColDefChanges(nextProps, changes);\n this.processChanges(changes);\n };\n AgGridReactUi.prototype.extractDeclarativeColDefChanges = function (nextProps, changes) {\n // if columnDefs are provided on gridOptions we use those - you can't combine both\n // we also skip if columnDefs are provided as a prop directly on AgGridReact\n if ((this.props.gridOptions && this.props.gridOptions.columnDefs) || this.props.columnDefs) {\n return;\n }\n var debugLogging = !!nextProps.debug;\n var propKey = 'columnDefs';\n var currentColDefs = this.gridOptions.columnDefs;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(nextProps.children)) {\n var detectionStrategy = this.changeDetectionService.getStrategy(this.getStrategyTypeForProp(propKey));\n var newColDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(nextProps.children);\n if (!detectionStrategy.areEqual(currentColDefs, newColDefs)) {\n if (debugLogging) {\n console.log(\"agGridReact: colDefs definitions changed\");\n }\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: newColDefs\n };\n }\n }\n else if (currentColDefs && currentColDefs.length > 0) {\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: []\n };\n }\n };\n AgGridReactUi.prototype.extractGridPropertyChanges = function (prevProps, nextProps, changes) {\n var _this = this;\n var debugLogging = !!nextProps.debug;\n Object.keys(nextProps).forEach(function (propKey) {\n if (ag_grid_community_1._.includes(ag_grid_community_1.ComponentUtil.ALL_PROPERTIES, propKey)) {\n var changeDetectionStrategy = _this.changeDetectionService.getStrategy(_this.getStrategyTypeForProp(propKey));\n if (!changeDetectionStrategy.areEqual(prevProps[propKey], nextProps[propKey])) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + propKey + \"] property changed\");\n }\n changes[propKey] = {\n previousValue: prevProps[propKey],\n currentValue: nextProps[propKey]\n };\n }\n }\n });\n ag_grid_community_1.ComponentUtil.getEventCallbacks().forEach(function (funcName) {\n if (prevProps[funcName] !== nextProps[funcName]) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + funcName + \"] event callback changed\");\n }\n changes[funcName] = {\n previousValue: prevProps[funcName],\n currentValue: nextProps[funcName]\n };\n }\n });\n };\n AgGridReactUi.prototype.processChanges = function (changes) {\n var _this = this;\n this.processWhenReady(function () {\n return ag_grid_community_1.ComponentUtil.processOnChange(changes, _this.gridOptions, _this.api, _this.columnApi);\n });\n };\n AgGridReactUi.prototype.processWhenReady = function (func) {\n if (this.ready) {\n debug('AgGridReactUi.processWhenReady sync');\n func();\n }\n else {\n debug('AgGridReactUi.processWhenReady async');\n this.whenReadyFuncs.push(func);\n }\n };\n AgGridReactUi.prototype.getStrategyTypeForProp = function (propKey) {\n if (propKey === 'rowData') {\n if (this.props.rowDataChangeDetectionStrategy) {\n return this.props.rowDataChangeDetectionStrategy;\n }\n if (this.isImmutableDataActive()) {\n return changeDetectionService_1.ChangeDetectionStrategyType.IdentityCheck;\n }\n }\n // all other cases will default to DeepValueCheck\n return changeDetectionService_1.ChangeDetectionStrategyType.DeepValueCheck;\n };\n AgGridReactUi.prototype.isImmutableDataActive = function () {\n return (this.props.deltaRowDataMode || this.props.immutableData || this.props.getRowId != null) ||\n (this.props.gridOptions && (this.props.gridOptions.deltaRowDataMode\n || this.props.gridOptions.immutableData\n || this.props.gridOptions.getRowId != null));\n };\n return AgGridReactUi;\n}(react_1.Component));\nexports.AgGridReactUi = AgGridReactUi;\nvar ReactFrameworkComponentWrapper = /** @class */ (function (_super) {\n __extends(ReactFrameworkComponentWrapper, _super);\n function ReactFrameworkComponentWrapper(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n ReactFrameworkComponentWrapper.prototype.createWrapper = function (UserReactComponent, componentType) {\n return new newReactComponent_1.NewReactComponent(UserReactComponent, this.parent, componentType);\n };\n return ReactFrameworkComponentWrapper;\n}(ag_grid_community_1.BaseComponentWrapper));\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.BeansContext = react_1.default.createContext({});\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar beansContext_1 = require(\"../beansContext\");\nvar agGridReactUi_1 = require(\"../agGridReactUi\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar DetailCellRenderer = function (props, ref) {\n var _a = react_1.useContext(beansContext_1.BeansContext), ctrlsFactory = _a.ctrlsFactory, context = _a.context, gridOptionsWrapper = _a.gridOptionsWrapper, resizeObserverService = _a.resizeObserverService, clientSideRowModel = _a.clientSideRowModel, serverSideRowModel = _a.serverSideRowModel;\n var _b = react_1.useState(new utils_1.CssClasses()), cssClasses = _b[0], setCssClasses = _b[1];\n var _c = react_1.useState(new utils_1.CssClasses()), gridCssClasses = _c[0], setGridCssClasses = _c[1];\n var _d = react_1.useState(), detailGridOptions = _d[0], setDetailGridOptions = _d[1];\n var _e = react_1.useState(), detailRowData = _e[0], setDetailRowData = _e[1];\n var ctrlRef = react_1.useRef();\n var eGuiRef = react_1.useRef(null);\n var topClassName = react_1.useMemo(function () { return cssClasses.toString() + ' ag-details-row'; }, [cssClasses]);\n var gridClassName = react_1.useMemo(function () { return gridCssClasses.toString() + ' ag-details-grid'; }, [gridCssClasses]);\n if (ref) {\n react_1.useImperativeHandle(ref, function () { return ({\n refresh: function () { return ctrlRef.current.refresh(); }\n }); });\n }\n useEffectOnce_1.useEffectOnce(function () {\n if (props.template && typeof props.template === 'string') {\n console.warn('AG Grid: detailCellRendererParams.template is not supported by React - this only works with frameworks that work against String templates. To change the template, please provide your own React Detail Cell Renderer.');\n }\n });\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveDetailGridCssClass: function (name, on) { return setGridCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setDetailGrid: function (gridOptions) { return setDetailGridOptions(gridOptions); },\n setRowData: function (rowData) { return setDetailRowData(rowData); },\n getGui: function () { return eGuiRef.current; }\n };\n var ctrl = ctrlsFactory.getInstance('detailCellRenderer');\n if (!ctrl) {\n return;\n } // should never happen, means master/detail module not loaded\n context.createBean(ctrl);\n ctrl.init(compProxy, props);\n ctrlRef.current = ctrl;\n var resizeObserverDestroyFunc;\n if (gridOptionsWrapper.isDetailRowAutoHeight()) {\n var checkRowSizeFunc = function () {\n // when disposed, current is null, so nothing to do, and the resize observer will\n // be disposed of soon\n if (eGuiRef.current == null) {\n return;\n }\n var clientHeight = eGuiRef.current.clientHeight;\n // if the UI is not ready, the height can be 0, which we ignore, as otherwise a flicker will occur\n // as UI goes from the default height, to 0, then to the real height as UI becomes ready. this means\n // it's not possible for have 0 as auto-height, however this is an improbable use case, as even an\n // empty detail grid would still have some styling around it giving at least a few pixels.\n if (clientHeight != null && clientHeight > 0) {\n // we do the update in a timeout, to make sure we are not calling from inside the grid\n // doing another update\n var updateRowHeightFunc = function () {\n props.node.setRowHeight(clientHeight);\n if (clientSideRowModel) {\n clientSideRowModel.onRowHeightChanged();\n }\n else if (serverSideRowModel) {\n serverSideRowModel.onRowHeightChanged();\n }\n };\n setTimeout(updateRowHeightFunc, 0);\n }\n };\n resizeObserverDestroyFunc = resizeObserverService.observeResize(eGuiRef.current, checkRowSizeFunc);\n checkRowSizeFunc();\n }\n return function () {\n context.destroyBean(ctrl);\n if (resizeObserverDestroyFunc) {\n resizeObserverDestroyFunc();\n }\n };\n });\n var setGridApi = react_1.useCallback(function (api, columnApi) {\n ctrlRef.current.registerDetailWithMaster(api, columnApi);\n }, []);\n return (react_1.default.createElement(\"div\", { className: topClassName, ref: eGuiRef }, detailGridOptions &&\n react_1.default.createElement(agGridReactUi_1.AgGridReactUi, __assign({ className: gridClassName }, detailGridOptions, { rowData: detailRowData, setGridApi: setGridApi }))));\n};\nexports.default = react_1.forwardRef(DetailCellRenderer);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar utils_1 = require(\"../utils\");\nvar GroupCellRenderer = react_1.forwardRef(function (props, ref) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n var eValueRef = react_1.useRef(null);\n var eCheckboxRef = react_1.useRef(null);\n var eExpandedRef = react_1.useRef(null);\n var eContractedRef = react_1.useRef(null);\n var _a = react_1.useState(), innerCompDetails = _a[0], setInnerCompDetails = _a[1];\n var _b = react_1.useState(), childCount = _b[0], setChildCount = _b[1];\n var _c = react_1.useState(), value = _c[0], setValue = _c[1];\n var _d = react_1.useState(new utils_1.CssClasses()), cssClasses = _d[0], setCssClasses = _d[1];\n var _e = react_1.useState(new utils_1.CssClasses('ag-hidden')), expandedCssClasses = _e[0], setExpandedCssClasses = _e[1];\n var _f = react_1.useState(new utils_1.CssClasses('ag-hidden')), contractedCssClasses = _f[0], setContractedCssClasses = _f[1];\n var _g = react_1.useState(new utils_1.CssClasses('ag-invisible')), checkboxCssClasses = _g[0], setCheckboxCssClasses = _g[1];\n react_1.useImperativeHandle(ref, function () {\n return {\n // force new instance when grid tries to refresh\n refresh: function () { return false; }\n };\n });\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(innerCompDetails, context, eValueRef.current);\n }, [innerCompDetails]);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setInnerRenderer: function (details, valueToDisplay) {\n setInnerCompDetails(details);\n setValue(valueToDisplay);\n },\n setChildCount: function (count) { return setChildCount(count); },\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setContractedDisplayed: function (displayed) { return setContractedCssClasses(function (prev) { return prev.setClass('ag-hidden', !displayed); }); },\n setExpandedDisplayed: function (displayed) { return setExpandedCssClasses(function (prev) { return prev.setClass('ag-hidden', !displayed); }); },\n setCheckboxVisible: function (visible) { return setCheckboxCssClasses(function (prev) { return prev.setClass('ag-invisible', !visible); }); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GroupCellRendererCtrl());\n ctrl.init(compProxy, eGui.current, eCheckboxRef.current, eExpandedRef.current, eContractedRef.current, GroupCellRenderer, props);\n return function () { context.destroyBean(ctrl); };\n });\n var className = react_1.useMemo(function () { return \"ag-cell-wrapper \" + cssClasses.toString(); }, [cssClasses]);\n var expandedClassName = react_1.useMemo(function () { return \"ag-group-expanded \" + expandedCssClasses.toString(); }, [expandedCssClasses]);\n var contractedClassName = react_1.useMemo(function () { return \"ag-group-contracted \" + contractedCssClasses.toString(); }, [contractedCssClasses]);\n var checkboxClassName = react_1.useMemo(function () { return \"ag-group-checkbox \" + checkboxCssClasses.toString(); }, [checkboxCssClasses]);\n var useFwRenderer = innerCompDetails && innerCompDetails.componentFromFramework;\n var FwRenderer = useFwRenderer ? innerCompDetails.componentClass : undefined;\n var useValue = innerCompDetails == null && value != null;\n var escapedValue = ag_grid_community_1._.escapeString(value, true);\n return (react_1.default.createElement(\"span\", __assign({ className: className, ref: eGui }, (!props.colDef ? { role: 'gridcell' } : {})),\n react_1.default.createElement(\"span\", { className: expandedClassName, ref: eExpandedRef }),\n react_1.default.createElement(\"span\", { className: contractedClassName, ref: eContractedRef }),\n react_1.default.createElement(\"span\", { className: checkboxClassName, ref: eCheckboxRef }),\n react_1.default.createElement(\"span\", { className: \"ag-group-value\", ref: eValueRef },\n useValue && react_1.default.createElement(react_1.default.Fragment, null, escapedValue),\n useFwRenderer && react_1.default.createElement(FwRenderer, __assign({}, innerCompDetails.params))),\n react_1.default.createElement(\"span\", { className: \"ag-group-child-count\" }, childCount)));\n});\n// we do not memo() here, as it would stop the forwardRef working\nexports.default = GroupCellRenderer;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar popupEditorComp_1 = __importDefault(require(\"./popupEditorComp\"));\nvar showJsRenderer_1 = __importDefault(require(\"./showJsRenderer\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar CellCompState;\n(function (CellCompState) {\n CellCompState[CellCompState[\"ShowValue\"] = 0] = \"ShowValue\";\n CellCompState[CellCompState[\"EditValue\"] = 1] = \"EditValue\";\n})(CellCompState = exports.CellCompState || (exports.CellCompState = {}));\nvar checkCellEditorDeprecations = function (popup, cellEditor, cellCtrl) {\n var col = cellCtrl.getColumn();\n // cellEditor is written to be a popup editor, however colDef.cellEditorPopup is not set\n if (!popup && cellEditor.isPopup && cellEditor.isPopup()) {\n var msg_1 = \"AG Grid: Found an issue in column \" + col.getColId() + \". If using React, specify an editor is a popup using colDef.cellEditorPopup=true. AG Grid React cannot depend on the editor component specifying if it's in a popup (via the isPopup() method on the editor), as React needs to know this information BEFORE the component is created.\";\n ag_grid_community_1._.doOnce(function () { return console.warn(msg_1); }, 'jsEditorComp-isPopup-' + cellCtrl.getColumn().getColId());\n }\n // cellEditor is a popup and is trying to position itself the deprecated way\n if (popup && cellEditor.getPopupPosition && cellEditor.getPopupPosition() != null) {\n var msg_2 = \"AG Grid: Found an issue in column \" + col.getColId() + \". If using React, specify an editor popup position using colDef.cellEditorPopupPosition=true. AG Grid React cannot depend on the editor component specifying it's position (via the getPopupPosition() method on the editor), as React needs to know this information BEFORE the component is created.\";\n ag_grid_community_1._.doOnce(function () { return console.warn(msg_2); }, 'jsEditorComp-getPopupPosition-' + cellCtrl.getColumn().getColId());\n }\n};\nvar jsxEditValue = function (editDetails, setInlineCellEditorRef, setPopupCellEditorRef, eGui, cellCtrl, jsEditorComp) {\n var compDetails = editDetails.compDetails;\n var CellEditorClass = compDetails.componentClass;\n var reactInlineEditor = compDetails.componentFromFramework && !editDetails.popup;\n var reactPopupEditor = compDetails.componentFromFramework && editDetails.popup;\n var jsPopupEditor = !compDetails.componentFromFramework && editDetails.popup;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n reactInlineEditor && react_1.default.createElement(CellEditorClass, __assign({}, editDetails.compDetails.params, { ref: setInlineCellEditorRef })),\n reactPopupEditor &&\n react_1.default.createElement(popupEditorComp_1.default, { editDetails: editDetails, cellCtrl: cellCtrl, eParentCell: eGui, wrappedContent: react_1.default.createElement(CellEditorClass, __assign({}, editDetails.compDetails.params, { ref: setPopupCellEditorRef })) }),\n jsPopupEditor &&\n jsEditorComp &&\n react_1.default.createElement(popupEditorComp_1.default, { editDetails: editDetails, cellCtrl: cellCtrl, eParentCell: eGui, jsChildComp: jsEditorComp })));\n};\nvar jsxShowValue = function (showDetails, key, parentId, cellRendererRef, showCellWrapper, reactCellRendererStateless, setECellValue) {\n var _a;\n var compDetails = showDetails.compDetails, value = showDetails.value;\n var noCellRenderer = !compDetails;\n var reactCellRenderer = compDetails && compDetails.componentFromFramework;\n var CellRendererClass = compDetails && compDetails.componentClass;\n // if we didn't do this, objects would cause React error. we depend on objects for things\n // like the aggregation functions avg and count, which return objects and depend on toString()\n // getting called.\n var valueForNoCellRenderer = ((_a = value) === null || _a === void 0 ? void 0 : _a.toString) ? value.toString() : value;\n var bodyJsxFunc = function () { return (react_1.default.createElement(react_1.default.Fragment, null,\n noCellRenderer && react_1.default.createElement(react_1.default.Fragment, null, valueForNoCellRenderer),\n reactCellRenderer && !reactCellRendererStateless && react_1.default.createElement(CellRendererClass, __assign({}, compDetails.params, { key: key, ref: cellRendererRef })),\n reactCellRenderer && reactCellRendererStateless && react_1.default.createElement(CellRendererClass, __assign({}, compDetails.params, { key: key })))); };\n return (react_1.default.createElement(react_1.default.Fragment, null, showCellWrapper\n ? (react_1.default.createElement(\"span\", { role: \"presentation\", id: \"cell-\" + parentId, className: \"ag-cell-value\", ref: setECellValue }, bodyJsxFunc()))\n : bodyJsxFunc()));\n};\nvar CellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var cellCtrl = props.cellCtrl, printLayout = props.printLayout, editingRow = props.editingRow;\n var _a = react_1.useState(), renderDetails = _a[0], setRenderDetails = _a[1];\n var _b = react_1.useState(), editDetails = _b[0], setEditDetails = _b[1];\n var _c = react_1.useState(1), renderKey = _c[0], setRenderKey = _c[1];\n var _d = react_1.useState(), userStyles = _d[0], setUserStyles = _d[1];\n var _e = react_1.useState(), tabIndex = _e[0], setTabIndex = _e[1];\n var _f = react_1.useState(), ariaDescribedBy = _f[0], setAriaDescribedBy = _f[1];\n var _g = react_1.useState(), role = _g[0], setRole = _g[1];\n var _h = react_1.useState(), colId = _h[0], setColId = _h[1];\n var _j = react_1.useState(), title = _j[0], setTitle = _j[1];\n var _k = react_1.useState(false), includeSelection = _k[0], setIncludeSelection = _k[1];\n var _l = react_1.useState(false), includeRowDrag = _l[0], setIncludeRowDrag = _l[1];\n var _m = react_1.useState(false), includeDndSource = _m[0], setIncludeDndSource = _m[1];\n var _o = react_1.useState(), jsEditorComp = _o[0], setJsEditorComp = _o[1];\n var forceWrapper = react_1.useMemo(function () { return cellCtrl.isForceWrapper(); }, []);\n var eGui = react_1.useRef(null);\n var cellRendererRef = react_1.useRef(null);\n var jsCellRendererRef = react_1.useRef();\n var cellEditorRef = react_1.useRef();\n // when setting the ref, we also update the state item to force a re-render\n var eCellWrapper = react_1.useRef();\n var _p = react_1.useState(0), cellWrapperVersion = _p[0], setCellWrapperVersion = _p[1];\n var setCellWrapperRef = react_1.useCallback(function (ref) {\n eCellWrapper.current = ref;\n setCellWrapperVersion(function (v) { return v + 1; });\n }, []);\n // when setting the ref, we also update the state item to force a re-render\n var eCellValue = react_1.useRef();\n var _q = react_1.useState(0), cellValueVersion = _q[0], setCellValueVersion = _q[1];\n var setCellValueRef = react_1.useCallback(function (ref) {\n eCellValue.current = ref;\n setCellValueVersion(function (v) { return v + 1; });\n }, []);\n var showTools = renderDetails != null && (includeSelection || includeDndSource || includeRowDrag);\n var showCellWrapper = forceWrapper || showTools;\n var setCellEditorRef = react_1.useCallback(function (popup, cellEditor) {\n cellEditorRef.current = cellEditor;\n if (cellEditor) {\n checkCellEditorDeprecations(popup, cellEditor, cellCtrl);\n var editingCancelledByUserComp = cellEditor.isCancelBeforeStart && cellEditor.isCancelBeforeStart();\n if (editingCancelledByUserComp) {\n // we cannot set state inside render, so hack is to do it in next VM turn\n setTimeout(function () { return cellCtrl.stopEditing(); }, 0);\n }\n }\n }, []);\n var setPopupCellEditorRef = react_1.useCallback(function (cellRenderer) { return setCellEditorRef(true, cellRenderer); }, []);\n var setInlineCellEditorRef = react_1.useCallback(function (cellRenderer) { return setCellEditorRef(false, cellRenderer); }, []);\n var cssClassManager = react_1.useMemo(function () { return new ag_grid_community_1.CssClassManager(function () { return eGui.current; }); }, []);\n showJsRenderer_1.default(renderDetails, showCellWrapper, eCellValue.current, cellValueVersion, jsCellRendererRef, eGui);\n // if RenderDetails changed, need to call refresh. This is not our preferred way (the preferred\n // way for React is just allow the new props to propagate down to the React Cell Renderer)\n // however we do this for backwards compatibility, as having refresh used to be supported.\n var lastRenderDetails = react_1.useRef();\n react_1.useEffect(function () {\n var oldDetails = lastRenderDetails.current;\n var newDetails = renderDetails;\n lastRenderDetails.current = renderDetails;\n // if not updating renderDetails, do nothing\n if (oldDetails == null ||\n oldDetails.compDetails == null ||\n newDetails == null ||\n newDetails.compDetails == null) {\n return;\n }\n var oldCompDetails = oldDetails.compDetails;\n var newCompDetails = newDetails.compDetails;\n // if different Cell Renderer, then do nothing, as renderer will be recreated\n if (oldCompDetails.componentClass != newCompDetails.componentClass) {\n return;\n }\n // if no refresh method, do nothing\n if (cellRendererRef.current == null || cellRendererRef.current.refresh == null) {\n return;\n }\n var result = cellRendererRef.current.refresh(newCompDetails.params);\n if (result != true) {\n // increasing the render key forces the refresh. this is undocumented (for React users,\n // we don't document the refresh method, instead we tell them to act on new params).\n // however the GroupCellRenderer has this logic in it and would need a small refactor\n // to get it working without using refresh() returning false. so this hack staying in,\n // in React if refresh() is implemented and returns false (or undefined), we force a refresh\n setRenderKey(function (prev) { return prev + 1; });\n }\n }, [renderDetails]);\n react_1.useEffect(function () {\n var _a;\n var doingJsEditor = editDetails && !editDetails.compDetails.componentFromFramework;\n if (!doingJsEditor) {\n return;\n }\n var compDetails = editDetails.compDetails;\n var isPopup = editDetails.popup === true;\n var cellEditor = jsComp_1.createSyncJsComp(compDetails);\n if (!cellEditor) {\n return;\n }\n var compGui = cellEditor.getGui();\n setCellEditorRef(isPopup, cellEditor);\n if (!isPopup) {\n var parentEl = (forceWrapper ? eCellWrapper : eGui).current;\n (_a = parentEl) === null || _a === void 0 ? void 0 : _a.appendChild(compGui);\n cellEditor.afterGuiAttached && cellEditor.afterGuiAttached();\n }\n setJsEditorComp(cellEditor);\n return function () {\n context.destroyBean(cellEditor);\n setCellEditorRef(isPopup, undefined);\n setJsEditorComp(undefined);\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n };\n }, [editDetails]);\n // tool widgets effect\n react_1.useEffect(function () {\n if (!cellCtrl || !context) {\n return;\n }\n setAriaDescribedBy(!!eCellWrapper.current ? \"cell-\" + cellCtrl.getInstanceId() : undefined);\n if (!eCellWrapper.current || !showCellWrapper) {\n return;\n }\n var destroyFuncs = [];\n var addComp = function (comp) {\n if (comp) {\n var eGui_1 = comp.getGui();\n eCellWrapper.current.insertAdjacentElement('afterbegin', eGui_1);\n destroyFuncs.push(function () {\n context.destroyBean(comp);\n ag_grid_community_1._.removeFromParent(eGui_1);\n });\n }\n return comp;\n };\n if (includeSelection) {\n addComp(cellCtrl.createSelectionCheckbox());\n }\n if (includeDndSource) {\n addComp(cellCtrl.createDndSource());\n }\n if (includeRowDrag) {\n addComp(cellCtrl.createRowDragComp());\n }\n return function () { return destroyFuncs.forEach(function (f) { return f(); }); };\n }, [showCellWrapper, includeDndSource, includeRowDrag, includeSelection, cellWrapperVersion]);\n // we use layout effect here as we want to synchronously process setComp and it's side effects\n // to ensure the component is fully initialised prior to the first browser paint. See AG-7018.\n useEffectOnce_1.useLayoutEffectOnce(function () {\n if (!cellCtrl) {\n return;\n }\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return cssClassManager.addOrRemoveCssClass(name, on); },\n setUserStyles: function (styles) { return setUserStyles(styles); },\n getFocusableElement: function () { return eGui.current; },\n setTabIndex: function (tabIndex) { return setTabIndex(tabIndex); },\n setRole: function (role) { return setRole(role); },\n setColId: function (colId) { return setColId(colId); },\n setTitle: function (title) { return setTitle(title); },\n setIncludeSelection: function (include) { return setIncludeSelection(include); },\n setIncludeRowDrag: function (include) { return setIncludeRowDrag(include); },\n setIncludeDndSource: function (include) { return setIncludeDndSource(include); },\n getCellEditor: function () { return cellEditorRef.current || null; },\n getCellRenderer: function () { return cellRendererRef.current ? cellRendererRef.current : jsCellRendererRef.current; },\n getParentOfValue: function () { return eCellValue.current ? eCellValue.current : eCellWrapper.current ? eCellWrapper.current : eGui.current; },\n setRenderDetails: function (compDetails, value, force) {\n setRenderDetails({\n value: value,\n compDetails: compDetails,\n force: force\n });\n },\n setEditDetails: function (compDetails, popup, popupPosition) {\n if (compDetails) {\n // start editing\n setEditDetails({\n compDetails: compDetails,\n popup: popup,\n popupPosition: popupPosition\n });\n if (!popup) {\n setRenderDetails(undefined);\n }\n }\n else {\n // stop editing\n setEditDetails(undefined);\n }\n }\n };\n var cellWrapperOrUndefined = eCellWrapper.current || undefined;\n cellCtrl.setComp(compProxy, eGui.current, cellWrapperOrUndefined, printLayout, editingRow);\n });\n var reactCellRendererStateless = react_1.useMemo(function () {\n var res = renderDetails &&\n renderDetails.compDetails &&\n renderDetails.compDetails.componentFromFramework &&\n utils_1.isComponentStateless(renderDetails.compDetails.componentClass);\n return !!res;\n }, [renderDetails]);\n if (eGui.current && !showCellWrapper) {\n cssClassManager.addOrRemoveCssClass('ag-cell-value', !showCellWrapper);\n }\n var cellInstanceId = react_1.useMemo(function () { return cellCtrl.getInstanceId(); }, []);\n var showContents = function () { return (react_1.default.createElement(react_1.default.Fragment, null,\n renderDetails != null &&\n jsxShowValue(renderDetails, renderKey, cellInstanceId, cellRendererRef, showCellWrapper, reactCellRendererStateless, setCellValueRef),\n editDetails != null &&\n jsxEditValue(editDetails, setInlineCellEditorRef, setPopupCellEditorRef, eGui.current, cellCtrl, jsEditorComp))); };\n return (react_1.default.createElement(\"div\", { ref: eGui, style: userStyles, tabIndex: tabIndex, role: role, \"col-id\": colId, title: title, \"aria-describedby\": ariaDescribedBy }, showCellWrapper\n ? (react_1.default.createElement(\"div\", { className: \"ag-cell-wrapper\", role: \"presentation\", ref: setCellWrapperRef }, showContents()))\n : showContents()));\n};\nexports.default = react_1.memo(CellComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar react_dom_1 = require(\"react-dom\");\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar PopupEditorComp = function (props) {\n var _a = react_1.useState(), popupEditorWrapper = _a[0], setPopupEditorWrapper = _a[1];\n var _b = react_1.useContext(beansContext_1.BeansContext), context = _b.context, popupService = _b.popupService, gridOptionsWrapper = _b.gridOptionsWrapper;\n useEffectOnce_1.useEffectOnce(function () {\n var editDetails = props.editDetails, cellCtrl = props.cellCtrl, eParentCell = props.eParentCell;\n var compDetails = editDetails.compDetails;\n var useModelPopup = gridOptionsWrapper.isStopEditingWhenCellsLoseFocus();\n var wrapper = context.createBean(new ag_grid_community_1.PopupEditorWrapper(compDetails.params));\n var ePopupGui = wrapper.getGui();\n if (props.jsChildComp) {\n var eChildGui = props.jsChildComp.getGui();\n if (eChildGui) {\n ePopupGui.appendChild(eChildGui);\n }\n }\n var positionParams = {\n column: cellCtrl.getColumn(),\n rowNode: cellCtrl.getRowNode(),\n type: 'popupCellEditor',\n eventSource: eParentCell,\n ePopup: ePopupGui,\n keepWithinBounds: true\n };\n var positionCallback = editDetails.popupPosition === 'under' ?\n popupService.positionPopupUnderComponent.bind(popupService, positionParams)\n : popupService.positionPopupOverComponent.bind(popupService, positionParams);\n var translate = gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = popupService.addPopup({\n modal: useModelPopup,\n eChild: ePopupGui,\n closeOnEsc: true,\n closedCallback: function () { cellCtrl.onPopupEditorClosed(); },\n anchorToElement: eParentCell,\n positionCallback: positionCallback,\n ariaLabel: translate('ariaLabelCellEditor', 'Cell Editor')\n });\n var hideEditorPopup = addPopupRes ? addPopupRes.hideFunc : undefined;\n setPopupEditorWrapper(wrapper);\n props.jsChildComp && props.jsChildComp.afterGuiAttached && props.jsChildComp.afterGuiAttached();\n return function () {\n if (hideEditorPopup != null) {\n hideEditorPopup();\n }\n context.destroyBean(wrapper);\n };\n });\n return (react_1.default.createElement(react_1.default.Fragment, null, popupEditorWrapper && props.wrappedContent\n && react_dom_1.createPortal(props.wrappedContent, popupEditorWrapper.getGui())));\n};\nexports.default = react_1.memo(PopupEditorComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar useJsCellRenderer = function (showDetails, showTools, eCellValue, cellValueVersion, jsCellRendererRef, eGui) {\n var _a = react_1.useContext(beansContext_1.BeansContext), context = _a.context, userComponentFactory = _a.userComponentFactory;\n var destroyCellRenderer = react_1.useCallback(function () {\n var comp = jsCellRendererRef.current;\n if (!comp) {\n return;\n }\n var compGui = comp.getGui();\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n context.destroyBean(comp);\n jsCellRendererRef.current = undefined;\n }, []);\n // create or refresh JS cell renderer\n react_1.useEffect(function () {\n var showValue = showDetails != null;\n var jsCompDetails = showDetails && showDetails.compDetails && !showDetails.compDetails.componentFromFramework;\n var waitingForToolsSetup = showTools && eCellValue == null;\n var showComp = showValue && jsCompDetails && !waitingForToolsSetup;\n // if not showing comp, destroy any existing one and return\n if (!showComp) {\n destroyCellRenderer();\n return;\n }\n var compDetails = showDetails.compDetails;\n if (jsCellRendererRef.current) {\n // attempt refresh if refresh method exists\n var comp_1 = jsCellRendererRef.current;\n var attemptRefresh = comp_1.refresh != null && showDetails.force == false;\n var refreshResult = attemptRefresh ? comp_1.refresh(compDetails.params) : false;\n var refreshWorked = refreshResult === true || refreshResult === undefined;\n // if refresh worked, nothing else to do\n if (refreshWorked) {\n return;\n }\n // if refresh didn't work, we destroy it and continue, so new cell renderer created below\n destroyCellRenderer();\n }\n var promise = compDetails.newAgStackInstance();\n ;\n if (!promise) {\n return;\n }\n var comp = promise.resolveNow(null, function (x) { return x; }); // js comps are never async\n if (!comp) {\n return;\n }\n var compGui = comp.getGui();\n if (!compGui) {\n return;\n }\n var parent = showTools ? eCellValue : eGui.current;\n parent.appendChild(compGui);\n jsCellRendererRef.current = comp;\n }, [showDetails, showTools, cellValueVersion]);\n // this effect makes sure destroyCellRenderer gets called when the\n // component is destroyed. as the other effect only updates when there\n // is a change in state\n useEffectOnce_1.useEffectOnce(function () {\n return destroyCellRenderer;\n });\n};\nexports.default = useJsCellRenderer;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"./beansContext\");\nvar gridHeaderComp_1 = __importDefault(require(\"./header/gridHeaderComp\"));\nvar reactComment_1 = __importDefault(require(\"./reactComment\"));\nvar rowContainerComp_1 = __importDefault(require(\"./rows/rowContainerComp\"));\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar utils_1 = require(\"./utils\");\nvar GridBodyComp = function () {\n var _a = react_1.useContext(beansContext_1.BeansContext), context = _a.context, agStackComponentsRegistry = _a.agStackComponentsRegistry, resizeObserverService = _a.resizeObserverService;\n var _b = react_1.useState(''), rowAnimationClass = _b[0], setRowAnimationClass = _b[1];\n var _c = react_1.useState(0), ariaColCount = _c[0], setAriaColCount = _c[1];\n var _d = react_1.useState(0), ariaRowCount = _d[0], setAriaRowCount = _d[1];\n var _e = react_1.useState(0), topHeight = _e[0], setTopHeight = _e[1];\n var _f = react_1.useState(0), bottomHeight = _f[0], setBottomHeight = _f[1];\n var _g = react_1.useState('0px'), stickyTopHeight = _g[0], setStickyTopHeight = _g[1];\n var _h = react_1.useState('0px'), stickyTopTop = _h[0], setStickyTopTop = _h[1];\n var _j = react_1.useState('100%'), stickyTopWidth = _j[0], setStickyTopWidth = _j[1];\n var _k = react_1.useState(''), topDisplay = _k[0], setTopDisplay = _k[1];\n var _l = react_1.useState(''), bottomDisplay = _l[0], setBottomDisplay = _l[1];\n var _m = react_1.useState(null), movingCss = _m[0], setMovingCss = _m[1];\n var _o = react_1.useState(null), forceVerticalScrollClass = _o[0], setForceVerticalScrollClass = _o[1];\n var _p = react_1.useState(''), topAndBottomOverflowY = _p[0], setTopAndBottomOverflowY = _p[1];\n var _q = react_1.useState(null), cellSelectableCss = _q[0], setCellSelectableCss = _q[1];\n // we initialise layoutClass to 'ag-layout-normal', because if we don't, the comp will initially\n // render with no width (as ag-layout-normal sets width to 0, which is needed for flex) which\n // gives the grid a massive width, which then renders a massive amount of columns. this problem\n // is due to React been async, for the non-async version (ie when not using React) this is not a\n // problem as the UI will finish initialising before we set data.\n var _r = react_1.useState('ag-layout-normal'), layoutClass = _r[0], setLayoutClass = _r[1];\n var eRoot = react_1.useRef(null);\n var eTop = react_1.useRef(null);\n var eStickyTop = react_1.useRef(null);\n var eBodyViewport = react_1.useRef(null);\n var eBottom = react_1.useRef(null);\n reactComment_1.default(' AG Grid Body ', eRoot);\n reactComment_1.default(' AG Pinned Top ', eTop);\n reactComment_1.default(' AG Sticky Top ', eStickyTop);\n reactComment_1.default(' AG Middle ', eBodyViewport);\n reactComment_1.default(' AG Pinned Bottom ', eBottom);\n useEffectOnce_1.useEffectOnce(function () {\n var beansToDestroy = [];\n var destroyFuncs = [];\n if (!context) {\n return;\n }\n var newComp = function (tag) {\n var CompClass = agStackComponentsRegistry.getComponentClass(tag);\n var comp = context.createBean(new CompClass());\n beansToDestroy.push(comp);\n return comp;\n };\n eRoot.current.appendChild(document.createComment(' AG Fake Horizontal Scroll '));\n eRoot.current.appendChild(newComp('AG-FAKE-HORIZONTAL-SCROLL').getGui());\n eRoot.current.appendChild(document.createComment(' AG Overlay Wrapper '));\n eRoot.current.appendChild(newComp('AG-OVERLAY-WRAPPER').getGui());\n var compProxy = {\n setRowAnimationCssOnBodyViewport: setRowAnimationClass,\n setColumnCount: setAriaColCount,\n setRowCount: setAriaRowCount,\n setTopHeight: setTopHeight,\n setBottomHeight: setBottomHeight,\n setStickyTopHeight: setStickyTopHeight,\n setStickyTopTop: setStickyTopTop,\n setStickyTopWidth: setStickyTopWidth,\n setTopDisplay: setTopDisplay,\n setBottomDisplay: setBottomDisplay,\n setColumnMovingCss: setMovingCss,\n updateLayoutClasses: setLayoutClass,\n setAlwaysVerticalScrollClass: setForceVerticalScrollClass,\n setPinnedTopBottomOverflowY: setTopAndBottomOverflowY,\n setCellSelectableCss: setCellSelectableCss,\n registerBodyViewportResizeListener: function (listener) {\n var unsubscribeFromResize = resizeObserverService.observeResize(eBodyViewport.current, listener);\n destroyFuncs.push(function () { return unsubscribeFromResize(); });\n }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GridBodyCtrl());\n beansToDestroy.push(ctrl);\n ctrl.setComp(compProxy, eRoot.current, eBodyViewport.current, eTop.current, eBottom.current, eStickyTop.current);\n return function () {\n context.destroyBeans(beansToDestroy);\n destroyFuncs.forEach(function (f) { return f(); });\n };\n });\n var rootClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-root', 'ag-unselectable', movingCss, layoutClass);\n }, [movingCss, layoutClass]);\n var bodyViewportClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-body-viewport', rowAnimationClass, layoutClass, forceVerticalScrollClass, cellSelectableCss);\n }, [rowAnimationClass, layoutClass, forceVerticalScrollClass, cellSelectableCss]);\n var topClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-floating-top', cellSelectableCss);\n }, [cellSelectableCss]);\n var stickyTopClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-sticky-top', cellSelectableCss);\n }, [cellSelectableCss]);\n var bottomClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-floating-bottom', cellSelectableCss);\n }, [cellSelectableCss]);\n var topStyle = react_1.useMemo(function () { return ({\n height: topHeight,\n minHeight: topHeight,\n display: topDisplay,\n overflowY: topAndBottomOverflowY\n }); }, [topHeight, topDisplay, topAndBottomOverflowY]);\n var stickyTopStyle = react_1.useMemo(function () { return ({\n height: stickyTopHeight,\n top: stickyTopTop,\n width: stickyTopWidth\n }); }, [stickyTopHeight, stickyTopTop, stickyTopWidth]);\n var bottomStyle = react_1.useMemo(function () { return ({\n height: bottomHeight,\n minHeight: bottomHeight,\n display: bottomDisplay,\n overflowY: topAndBottomOverflowY\n }); }, [bottomHeight, bottomDisplay, topAndBottomOverflowY]);\n var createRowContainer = function (container) { return react_1.default.createElement(rowContainerComp_1.default, { name: container, key: container + \"-container\" }); };\n var createSection = function (_a) {\n var section = _a.section, children = _a.children, className = _a.className, style = _a.style;\n return (react_1.default.createElement(\"div\", { ref: section, className: className, role: \"presentation\", style: style }, children.map(createRowContainer)));\n };\n return (react_1.default.createElement(\"div\", { ref: eRoot, className: rootClasses, role: \"grid\", \"aria-colcount\": ariaColCount, \"aria-rowcount\": ariaRowCount },\n react_1.default.createElement(gridHeaderComp_1.default, null),\n createSection({ section: eTop, className: topClasses, style: topStyle, children: [\n ag_grid_community_1.RowContainerName.TOP_LEFT,\n ag_grid_community_1.RowContainerName.TOP_CENTER,\n ag_grid_community_1.RowContainerName.TOP_RIGHT,\n ag_grid_community_1.RowContainerName.TOP_FULL_WIDTH,\n ] }),\n createSection({ section: eBodyViewport, className: bodyViewportClasses, children: [\n ag_grid_community_1.RowContainerName.LEFT,\n ag_grid_community_1.RowContainerName.CENTER,\n ag_grid_community_1.RowContainerName.RIGHT,\n ag_grid_community_1.RowContainerName.FULL_WIDTH,\n ] }),\n createSection({ section: eStickyTop, className: stickyTopClasses, style: stickyTopStyle, children: [\n ag_grid_community_1.RowContainerName.STICKY_TOP_LEFT,\n ag_grid_community_1.RowContainerName.STICKY_TOP_CENTER,\n ag_grid_community_1.RowContainerName.STICKY_TOP_RIGHT,\n ag_grid_community_1.RowContainerName.STICKY_TOP_FULL_WIDTH,\n ] }),\n createSection({ section: eBottom, className: bottomClasses, style: bottomStyle, children: [\n ag_grid_community_1.RowContainerName.BOTTOM_LEFT,\n ag_grid_community_1.RowContainerName.BOTTOM_CENTER,\n ag_grid_community_1.RowContainerName.BOTTOM_RIGHT,\n ag_grid_community_1.RowContainerName.BOTTOM_FULL_WIDTH,\n ] })));\n};\nexports.default = react_1.memo(GridBodyComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"./beansContext\");\nvar gridBodyComp_1 = __importDefault(require(\"./gridBodyComp\"));\nvar reactComment_1 = __importDefault(require(\"./reactComment\"));\nvar tabGuardComp_1 = __importDefault(require(\"./tabGuardComp\"));\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar utils_1 = require(\"./utils\");\nvar GridComp = function (_a) {\n var context = _a.context;\n var _b = react_1.useState(''), rtlClass = _b[0], setRtlClass = _b[1];\n var _c = react_1.useState(''), keyboardFocusClass = _c[0], setKeyboardFocusClass = _c[1];\n var _d = react_1.useState(''), layoutClass = _d[0], setLayoutClass = _d[1];\n var _e = react_1.useState(null), cursor = _e[0], setCursor = _e[1];\n var _f = react_1.useState(null), userSelect = _f[0], setUserSelect = _f[1];\n var _g = react_1.useState(false), initialised = _g[0], setInitialised = _g[1];\n var _h = react_1.useState(), tabGuardReady = _h[0], setTabGuardReady = _h[1];\n var gridCtrlRef = react_1.useRef(null);\n var eRootWrapperRef = react_1.useRef(null);\n var tabGuardRef = react_1.useRef();\n var eGridBodyParentRef = react_1.useRef(null);\n var focusInnerElementRef = react_1.useRef(function () { return undefined; });\n var onTabKeyDown = react_1.useCallback(function () { return undefined; }, []);\n var beans = react_1.useMemo(function () { return context.getBean('beans'); }, []);\n reactComment_1.default(' AG Grid ', eRootWrapperRef);\n // create shared controller.\n useEffectOnce_1.useEffectOnce(function () {\n var currentController = gridCtrlRef.current = context.createBean(new ag_grid_community_1.GridCtrl());\n return function () {\n context.destroyBean(currentController);\n gridCtrlRef.current = null;\n };\n });\n // initialise the UI\n useEffectOnce_1.useEffectOnce(function () {\n var gridCtrl = gridCtrlRef.current;\n focusInnerElementRef.current = gridCtrl.focusInnerElement.bind(gridCtrl);\n var compProxy = {\n destroyGridUi: function () { },\n setRtlClass: setRtlClass,\n addOrRemoveKeyboardFocusClass: function (addOrRemove) { return setKeyboardFocusClass(addOrRemove ? ag_grid_community_1.FocusService.AG_KEYBOARD_FOCUS : ''); },\n forceFocusOutOfContainer: function () {\n tabGuardRef.current.forceFocusOutOfContainer();\n },\n updateLayoutClasses: setLayoutClass,\n getFocusableContainers: function () {\n var els = [];\n var gridBodyCompEl = eRootWrapperRef.current.querySelector('.ag-root');\n var sideBarEl = eRootWrapperRef.current.querySelector('.ag-side-bar');\n if (gridBodyCompEl) {\n els.push(gridBodyCompEl);\n }\n if (sideBarEl) {\n els.push(sideBarEl);\n }\n return els;\n },\n setCursor: setCursor,\n setUserSelect: setUserSelect\n };\n gridCtrl.setComp(compProxy, eRootWrapperRef.current, eRootWrapperRef.current);\n setInitialised(true);\n });\n // initialise the extra components\n react_1.useEffect(function () {\n if (!tabGuardReady) {\n return;\n }\n var gridCtrl = gridCtrlRef.current;\n var beansToDestroy = [];\n var agStackComponentsRegistry = beans.agStackComponentsRegistry;\n var HeaderDropZonesClass = agStackComponentsRegistry.getComponentClass('AG-GRID-HEADER-DROP-ZONES');\n var SideBarClass = agStackComponentsRegistry.getComponentClass('AG-SIDE-BAR');\n var StatusBarClass = agStackComponentsRegistry.getComponentClass('AG-STATUS-BAR');\n var WatermarkClass = agStackComponentsRegistry.getComponentClass('AG-WATERMARK');\n var PaginationClass = agStackComponentsRegistry.getComponentClass('AG-PAGINATION');\n var additionalEls = [];\n var eRootWrapper = eRootWrapperRef.current;\n var eGridBodyParent = eGridBodyParentRef.current;\n if (gridCtrl.showDropZones() && HeaderDropZonesClass) {\n var headerDropZonesComp = context.createBean(new HeaderDropZonesClass());\n var eGui = headerDropZonesComp.getGui();\n eRootWrapper.insertAdjacentElement('afterbegin', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(headerDropZonesComp);\n }\n if (gridCtrl.showSideBar() && SideBarClass) {\n var sideBarComp = context.createBean(new SideBarClass());\n var eGui = sideBarComp.getGui();\n var bottomTabGuard = eGridBodyParent.querySelector('.ag-tab-guard-bottom');\n if (bottomTabGuard) {\n bottomTabGuard.insertAdjacentElement('beforebegin', eGui);\n additionalEls.push(eGui);\n }\n beansToDestroy.push(sideBarComp);\n }\n if (gridCtrl.showStatusBar() && StatusBarClass) {\n var statusBarComp = context.createBean(new StatusBarClass());\n var eGui = statusBarComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(statusBarComp);\n }\n if (PaginationClass) {\n var paginationComp = context.createBean(new PaginationClass());\n var eGui = paginationComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(paginationComp);\n }\n if (gridCtrl.showWatermark() && WatermarkClass) {\n var watermarkComp = context.createBean(new WatermarkClass());\n var eGui = watermarkComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(watermarkComp);\n }\n return function () {\n context.destroyBeans(beansToDestroy);\n additionalEls.forEach(function (el) {\n if (el.parentElement) {\n el.parentElement.removeChild(el);\n }\n });\n };\n }, [tabGuardReady]);\n var rootWrapperClasses = react_1.useMemo(function () { return utils_1.classesList('ag-root-wrapper', rtlClass, keyboardFocusClass, layoutClass); }, [rtlClass, keyboardFocusClass, layoutClass]);\n var rootWrapperBodyClasses = react_1.useMemo(function () { return utils_1.classesList('ag-root-wrapper-body', 'ag-focus-managed', layoutClass); }, [layoutClass]);\n var topStyle = react_1.useMemo(function () { return ({\n userSelect: userSelect != null ? userSelect : '',\n WebkitUserSelect: userSelect != null ? userSelect : '',\n cursor: cursor != null ? cursor : ''\n }); }, [userSelect, cursor]);\n var eGridBodyParent = eGridBodyParentRef.current;\n var setTabGuardCompRef = react_1.useCallback(function (ref) {\n tabGuardRef.current = ref;\n setTabGuardReady(true);\n }, []);\n return (react_1.default.createElement(\"div\", { ref: eRootWrapperRef, className: rootWrapperClasses, style: topStyle, role: \"presentation\" },\n react_1.default.createElement(\"div\", { className: rootWrapperBodyClasses, ref: eGridBodyParentRef, role: \"presentation\" }, initialised && eGridBodyParent &&\n react_1.default.createElement(beansContext_1.BeansContext.Provider, { value: beans },\n react_1.default.createElement(tabGuardComp_1.default, { ref: setTabGuardCompRef, eFocusableElement: eGridBodyParent, onTabKeyDown: onTabKeyDown, gridCtrl: gridCtrlRef.current }, // we wait for initialised before rending the children, so GridComp has created and registered with it's\n // GridCtrl before we create the child GridBodyComp. Otherwise the GridBodyComp would initialise first,\n // before we have set the the Layout CSS classes, causing the GridBodyComp to render rows to a grid that\n // doesn't have it's height specified, which would result if all the rows getting rendered (and if many rows,\n // hangs the UI)\n react_1.default.createElement(gridBodyComp_1.default, null))))));\n};\nexports.default = react_1.memo(GridComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar headerRowContainerComp_1 = __importDefault(require(\"./headerRowContainerComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar GridHeaderComp = function () {\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(), height = _b[0], setHeight = _b[1];\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setHeightAndMinHeight: function (height) { return setHeight(height); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GridHeaderCtrl());\n ctrl.setComp(compProxy, eGui.current, eGui.current);\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var className = react_1.useMemo(function () {\n var res = cssClasses.toString();\n return 'ag-header ' + res;\n }, [cssClasses]);\n var style = react_1.useMemo(function () { return ({\n height: height,\n minHeight: height\n }); }, [height]);\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, role: \"presentation\" },\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: ag_grid_community_1.Constants.PINNED_LEFT }),\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: null }),\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: ag_grid_community_1.Constants.PINNED_RIGHT })));\n};\nexports.default = react_1.memo(GridHeaderComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(), width = _a[0], setWidth = _a[1];\n var _b = react_1.useState(), title = _b[0], setTitle = _b[1];\n var _c = react_1.useState(), colId = _c[0], setColId = _c[1];\n var _d = react_1.useState(), ariaSort = _d[0], setAriaSort = _d[1];\n var _e = react_1.useState(), ariaDescription = _e[0], setAriaDescription = _e[1];\n var _f = react_1.useState(), userCompDetails = _f[0], setUserCompDetails = _f[1];\n var eGui = react_1.useRef(null);\n var eResize = react_1.useRef(null);\n var eHeaderCompWrapper = react_1.useRef(null);\n var userCompRef = react_1.useRef();\n var ctrl = props.ctrl;\n var cssClassManager = react_1.useMemo(function () { return new ag_grid_community_1.CssClassManager(function () { return eGui.current; }); }, []);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setWidth: function (width) { return setWidth(width); },\n addOrRemoveCssClass: function (name, on) { return cssClassManager.addOrRemoveCssClass(name, on); },\n setColId: function (id) { return setColId(id); },\n setTitle: function (title) { return setTitle(title); },\n setAriaDescription: function (description) { return setAriaDescription(description); },\n setAriaSort: function (sort) { return setAriaSort(sort); },\n setUserCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n getUserCompInstance: function () { return userCompRef.current || undefined; }\n };\n ctrl.setComp(compProxy, eGui.current, eResize.current, eHeaderCompWrapper.current);\n var selectAllGui = ctrl.getSelectAllGui();\n eResize.current.insertAdjacentElement('afterend', selectAllGui);\n });\n // js comps\n react_1.useEffect(function () { return jsComp_1.showJsComp(userCompDetails, context, eHeaderCompWrapper.current, userCompRef); }, [userCompDetails]);\n // add drag handling, must be done after component is added to the dom\n react_1.useEffect(function () {\n ctrl.setDragSource(eGui.current);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({ width: width }); }, [width]);\n var userCompStateless = react_1.useMemo(function () {\n var _a;\n var res = ((_a = userCompDetails) === null || _a === void 0 ? void 0 : _a.componentFromFramework) && utils_1.isComponentStateless(userCompDetails.componentClass);\n return !!res;\n }, [userCompDetails]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-header-cell\", style: style, title: title, \"col-id\": colId, \"aria-sort\": ariaSort, role: \"columnheader\", tabIndex: -1, \"aria-description\": ariaDescription },\n react_1.default.createElement(\"div\", { ref: eResize, className: \"ag-header-cell-resize\", role: \"presentation\" }),\n react_1.default.createElement(\"div\", { ref: eHeaderCompWrapper, className: \"ag-header-cell-comp-wrapper\", role: \"presentation\" },\n reactUserComp && userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n reactUserComp && !userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params, { ref: userCompRef })))));\n};\nexports.default = react_1.memo(HeaderCellComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderFilterCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(new utils_1.CssClasses('ag-header-cell', 'ag-floating-filter')), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(new utils_1.CssClasses()), cssBodyClasses = _b[0], setBodyCssClasses = _b[1];\n var _c = react_1.useState(new utils_1.CssClasses('ag-floating-filter-button', 'ag-hidden')), cssButtonWrapperClasses = _c[0], setButtonWrapperCssClasses = _c[1];\n var _d = react_1.useState(), width = _d[0], setWidth = _d[1];\n var _e = react_1.useState(), userCompDetails = _e[0], setUserCompDetails = _e[1];\n var eGui = react_1.useRef(null);\n var eFloatingFilterBody = react_1.useRef(null);\n var eButtonWrapper = react_1.useRef(null);\n var eButtonShowMainFilter = react_1.useRef(null);\n var alreadyResolved = react_1.useRef(false);\n var userCompResolve = react_1.useRef();\n var userCompPromise = react_1.useRef();\n useEffectOnce_1.useEffectOnce(function () {\n userCompPromise.current = new ag_grid_community_1.AgPromise(function (resolve) {\n userCompResolve.current = resolve;\n });\n });\n var userCompRef = function (value) {\n // i don't know why, but react was calling this method multiple\n // times, thus un-setting, them immediately setting the reference again.\n // because we are resolving a promise, it's not good to be resolving\n // the promise multiple times, so we only resolve the first time.\n if (alreadyResolved.current) {\n return;\n }\n // we also skip when it's un-setting\n if (value == null) {\n return;\n }\n userCompResolve.current && userCompResolve.current(value);\n alreadyResolved.current = true;\n };\n var ctrl = props.ctrl;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveBodyCssClass: function (name, on) { return setBodyCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveButtonWrapperCssClass: function (name, on) { return setButtonWrapperCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setWidth: function (width) { return setWidth(width); },\n setCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n getFloatingFilterComp: function () { return userCompPromise.current ? userCompPromise.current : null; },\n setMenuIcon: function (eIcon) { return eButtonShowMainFilter.current.appendChild(eIcon); }\n };\n ctrl.setComp(compProxy, eGui.current, eButtonShowMainFilter.current, eFloatingFilterBody.current);\n });\n // js comps\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(userCompDetails, context, eFloatingFilterBody.current, userCompRef);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({\n width: width\n }); }, [width]);\n var className = react_1.useMemo(function () { return cssClasses.toString(); }, [cssClasses]);\n var bodyClassName = react_1.useMemo(function () { return cssBodyClasses.toString(); }, [cssBodyClasses]);\n var buttonWrapperClassName = react_1.useMemo(function () { return cssButtonWrapperClasses.toString(); }, [cssButtonWrapperClasses]);\n var userCompStateless = react_1.useMemo(function () {\n var res = userCompDetails\n && userCompDetails.componentFromFramework\n && utils_1.isComponentStateless(userCompDetails.componentClass);\n return !!res;\n }, [userCompDetails]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, role: \"gridcell\", tabIndex: -1 },\n react_1.default.createElement(\"div\", { ref: eFloatingFilterBody, className: bodyClassName, role: \"presentation\" },\n reactUserComp && userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n reactUserComp && !userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params, { ref: userCompRef }))),\n react_1.default.createElement(\"div\", { ref: eButtonWrapper, className: buttonWrapperClassName, role: \"presentation\" },\n react_1.default.createElement(\"button\", { ref: eButtonShowMainFilter, type: \"button\", \"aria-label\": \"Open Filter Menu\", className: \"ag-floating-filter-button-button\", tabIndex: -1 }))));\n};\nexports.default = react_1.memo(HeaderFilterCellComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar utils_1 = require(\"../utils\");\nvar HeaderGroupCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(new utils_1.CssClasses()), cssResizableClasses = _b[0], setResizableCssClasses = _b[1];\n var _c = react_1.useState(), width = _c[0], setWidth = _c[1];\n var _d = react_1.useState(), title = _d[0], setTitle = _d[1];\n var _e = react_1.useState(), colId = _e[0], setColId = _e[1];\n var _f = react_1.useState(), ariaExpanded = _f[0], setAriaExpanded = _f[1];\n var _g = react_1.useState(), userCompDetails = _g[0], setUserCompDetails = _g[1];\n var eGui = react_1.useRef(null);\n var eResize = react_1.useRef(null);\n var ctrl = props.ctrl;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setWidth: function (width) { return setWidth(width); },\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setColId: function (id) { return setColId(id); },\n setTitle: function (title) { return setTitle(title); },\n setUserCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n addOrRemoveResizableCssClass: function (name, on) { return setResizableCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setAriaExpanded: function (expanded) { return setAriaExpanded(expanded); }\n };\n ctrl.setComp(compProxy, eGui.current, eResize.current);\n });\n // js comps\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(userCompDetails, context, eGui.current);\n }, [userCompDetails]);\n // add drag handling, must be done after component is added to the dom\n react_1.useEffect(function () {\n var userCompDomElement = undefined;\n eGui.current.childNodes.forEach(function (node) {\n if (node != null && node !== eResize.current) {\n userCompDomElement = node;\n }\n });\n userCompDomElement && ctrl.setDragSource(userCompDomElement);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({\n width: width\n }); }, [width]);\n var className = react_1.useMemo(function () { return 'ag-header-group-cell ' + cssClasses.toString(); }, [cssClasses]);\n var resizableClassName = react_1.useMemo(function () { return 'ag-header-cell-resize ' + cssResizableClasses.toString(); }, [cssResizableClasses]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, title: title, \"col-id\": colId, role: \"columnheader\", tabIndex: -1, \"aria-expanded\": ariaExpanded },\n reactUserComp && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n react_1.default.createElement(\"div\", { ref: eResize, className: resizableClassName })));\n};\nexports.default = react_1.memo(HeaderGroupCellComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar headerCellComp_1 = __importDefault(require(\"./headerCellComp\"));\nvar headerGroupCellComp_1 = __importDefault(require(\"./headerGroupCellComp\"));\nvar headerFilterCellComp_1 = __importDefault(require(\"./headerFilterCellComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderRowComp = function (props) {\n var gridOptionsWrapper = react_1.useContext(beansContext_1.BeansContext).gridOptionsWrapper;\n var _a = react_1.useState(), transform = _a[0], setTransform = _a[1];\n var _b = react_1.useState(), height = _b[0], setHeight = _b[1];\n var _c = react_1.useState(), top = _c[0], setTop = _c[1];\n var _d = react_1.useState(), width = _d[0], setWidth = _d[1];\n var _e = react_1.useState(), ariaRowIndex = _e[0], setAriaRowIndex = _e[1];\n var _f = react_1.useState([]), cellCtrls = _f[0], setCellCtrls = _f[1];\n var eGui = react_1.useRef(null);\n var ctrl = props.ctrl;\n var typeColumn = ctrl.getType() === ag_grid_community_1.HeaderRowType.COLUMN;\n var typeGroup = ctrl.getType() === ag_grid_community_1.HeaderRowType.COLUMN_GROUP;\n var typeFilter = ctrl.getType() === ag_grid_community_1.HeaderRowType.FLOATING_FILTER;\n var setCellCtrlsMaintainOrder = react_1.useCallback(function (prev, next) {\n // if we are ensuring dom order, we set the ctrls into the dom in the same order they appear on screen\n if (gridOptionsWrapper.isEnsureDomOrder()) {\n return next;\n }\n // if not maintaining order, we want to keep the dom elements we have and add new ones to the end,\n // otherwise we will loose transition effects as elements are placed in different dom locations\n var prevMap = ag_grid_community_1._.mapById(prev, function (c) { return c.getInstanceId(); });\n var nextMap = ag_grid_community_1._.mapById(next, function (c) { return c.getInstanceId(); });\n var oldCtrlsWeAreKeeping = prev.filter(function (c) { return nextMap.has(c.getInstanceId()); });\n var newCtrls = next.filter(function (c) { return !prevMap.has(c.getInstanceId()); });\n return __spreadArrays(oldCtrlsWeAreKeeping, newCtrls);\n }, []);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setTransform: function (transform) { return setTransform(transform); },\n setHeight: function (height) { return setHeight(height); },\n setTop: function (top) { return setTop(top); },\n setHeaderCtrls: function (ctrls) { return setCellCtrls(function (prev) { return setCellCtrlsMaintainOrder(prev, ctrls); }); },\n setWidth: function (width) { return setWidth(width); },\n setAriaRowIndex: function (rowIndex) { return setAriaRowIndex(rowIndex); }\n };\n ctrl.setComp(compProxy);\n });\n var style = react_1.useMemo(function () { return ({\n transform: transform,\n height: height,\n top: top,\n width: width\n }); }, [transform, height, top, width]);\n var className = react_1.useMemo(function () {\n var res = [\"ag-header-row\"];\n typeColumn && res.push(\"ag-header-row-column\");\n typeGroup && res.push(\"ag-header-row-column-group\");\n typeFilter && res.push(\"ag-header-row-column-filter\");\n return res.join(' ');\n }, []);\n var createCellJsx = react_1.useCallback(function (cellCtrl) {\n switch (ctrl.getType()) {\n case ag_grid_community_1.HeaderRowType.COLUMN_GROUP:\n return react_1.default.createElement(headerGroupCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n case ag_grid_community_1.HeaderRowType.FLOATING_FILTER:\n return react_1.default.createElement(headerFilterCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n default:\n return react_1.default.createElement(headerCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n }\n }, []);\n // below, we are not doing floating filters, not yet\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, role: \"row\", style: style, \"aria-rowindex\": ariaRowIndex }, cellCtrls.map(createCellJsx)));\n};\nexports.default = react_1.memo(HeaderRowComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar headerRowComp_1 = __importDefault(require(\"./headerRowComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderRowContainerComp = function (props) {\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(), centerContainerWidth = _b[0], setCenterContainerWidth = _b[1];\n var _c = react_1.useState(), centerContainerTransform = _c[0], setCenterContainerTransform = _c[1];\n var _d = react_1.useState(), pinnedContainerWidth = _d[0], setPinnedContainerWidth = _d[1];\n var _e = react_1.useState([]), headerRowCtrls = _e[0], setHeaderRowCtrls = _e[1];\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n var pinnedLeft = props.pinned === ag_grid_community_1.Constants.PINNED_LEFT;\n var pinnedRight = props.pinned === ag_grid_community_1.Constants.PINNED_RIGHT;\n var centre = !pinnedLeft && !pinnedRight;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setCtrls: function (ctrls) { return setHeaderRowCtrls(ctrls); },\n // centre only\n setCenterWidth: function (width) { return setCenterContainerWidth(width); },\n setContainerTransform: function (transform) { return setCenterContainerTransform(transform); },\n // pinned only\n setPinnedContainerWidth: function (width) { return setPinnedContainerWidth(width); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.HeaderRowContainerCtrl(props.pinned));\n ctrl.setComp(compProxy, eGui.current);\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var className = react_1.useMemo(function () { return cssClasses.toString(); }, [cssClasses]);\n var insertRowsJsx = function () { return headerRowCtrls.map(function (ctrl) { return react_1.default.createElement(headerRowComp_1.default, { ctrl: ctrl, key: ctrl.getInstanceId() }); }); };\n var eCenterContainerStyle = react_1.useMemo(function () { return ({\n width: centerContainerWidth,\n transform: centerContainerTransform\n }); }, [centerContainerWidth, centerContainerTransform]);\n var ePinnedStyle = react_1.useMemo(function () { return ({\n width: pinnedContainerWidth,\n minWidth: pinnedContainerWidth,\n maxWidth: pinnedContainerWidth,\n }); }, [pinnedContainerWidth]);\n return (react_1.default.createElement(react_1.default.Fragment, null,\n pinnedLeft &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-pinned-left-header \" + className, role: \"presentation\", style: ePinnedStyle }, insertRowsJsx()),\n pinnedRight &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-pinned-right-header \" + className, role: \"presentation\", style: ePinnedStyle }, insertRowsJsx()),\n centre &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-header-viewport \" + className, role: \"presentation\" },\n react_1.default.createElement(\"div\", { className: \"ag-header-container\", role: \"rowgroup\", style: eCenterContainerStyle }, insertRowsJsx()))));\n};\nexports.default = react_1.memo(HeaderRowContainerComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showJsComp = function (compDetails, context, eParent, ref) {\n var doNothing = !compDetails || compDetails.componentFromFramework;\n if (doNothing) {\n return;\n }\n var promise = compDetails.newAgStackInstance();\n if (!promise) {\n return;\n }\n // almost all JS Comps are NOT async, however the Floating Multi Filter is Async as it could\n // be wrapping a React filter, so we need to cater for async comps here.\n var comp;\n var compGui;\n var destroyed = false;\n promise.then(function (c) {\n if (destroyed) {\n context.destroyBean(c);\n return;\n }\n comp = c;\n compGui = comp.getGui();\n eParent.appendChild(compGui);\n setRef(ref, comp);\n });\n return function () {\n destroyed = true;\n if (!comp) {\n return;\n } // in case we were destroyed before async comp was returned\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n context.destroyBean(comp);\n if (ref) {\n setRef(ref, undefined);\n }\n };\n};\nvar setRef = function (ref, value) {\n if (!ref) {\n return;\n }\n if (ref instanceof Function) {\n var refCallback = ref;\n refCallback(value);\n }\n else {\n var refObj = ref;\n refObj.current = value;\n }\n};\nexports.createSyncJsComp = function (compDetails) {\n var promise = compDetails.newAgStackInstance();\n if (!promise) {\n return;\n }\n return promise.resolveNow(null, function (x) { return x; }); // js comps are never async\n};\n","// ag-grid-react v28.2.1\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar useReactCommentEffect = function (comment, eForCommentRef) {\n useEffectOnce_1.useEffectOnce(function () {\n var eForComment = eForCommentRef.current;\n var eParent = eForComment.parentElement;\n if (!eParent) {\n return;\n }\n var eComment = document.createComment(comment);\n eParent.insertBefore(eComment, eForComment);\n return function () {\n eParent.removeChild(eComment);\n };\n });\n};\nexports.default = useReactCommentEffect;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar jsComp_1 = require(\"../jsComp\");\nvar utils_1 = require(\"../utils\");\nvar beansContext_1 = require(\"../beansContext\");\nvar cellComp_1 = __importDefault(require(\"../cells/cellComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar maintainOrderOnColumns = function (prev, next, domOrder) {\n if (domOrder) {\n var res_1 = { list: next, instanceIdMap: new Map() };\n next.forEach(function (c) { return res_1.instanceIdMap.set(c.getInstanceId(), c); });\n return res_1;\n }\n // if dom order not important, we don't want to change the order\n // of the elements in the dom, as this would break transition styles\n var oldCellCtrls = [];\n var newCellCtrls = [];\n var newInstanceIdMap = new Map();\n var tempMap = new Map();\n next.forEach(function (c) { return tempMap.set(c.getInstanceId(), c); });\n prev.list.forEach(function (c) {\n var instanceId = c.getInstanceId();\n if (tempMap.has(instanceId)) {\n oldCellCtrls.push(c);\n newInstanceIdMap.set(instanceId, c);\n }\n });\n next.forEach(function (c) {\n var instanceId = c.getInstanceId();\n if (!prev.instanceIdMap.has(instanceId)) {\n newCellCtrls.push(c);\n newInstanceIdMap.set(instanceId, c);\n }\n });\n var res = {\n list: __spreadArrays(oldCellCtrls, newCellCtrls),\n instanceIdMap: newInstanceIdMap\n };\n return res;\n};\nvar RowComp = function (params) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var rowCtrl = params.rowCtrl, containerType = params.containerType;\n var _a = react_1.useState(), rowIndex = _a[0], setRowIndex = _a[1];\n var _b = react_1.useState(), rowId = _b[0], setRowId = _b[1];\n var _c = react_1.useState(), role = _c[0], setRole = _c[1];\n var _d = react_1.useState(), rowBusinessKey = _d[0], setRowBusinessKey = _d[1];\n var _e = react_1.useState(), tabIndex = _e[0], setTabIndex = _e[1];\n var _f = react_1.useState(), userStyles = _f[0], setUserStyles = _f[1];\n var _g = react_1.useState({ list: [], instanceIdMap: new Map() }), cellCtrls = _g[0], setCellCtrls = _g[1];\n var _h = react_1.useState(), fullWidthCompDetails = _h[0], setFullWidthCompDetails = _h[1];\n var _j = react_1.useState(false), domOrder = _j[0], setDomOrder = _j[1];\n // these styles have initial values, so element is placed into the DOM with them,\n // rather than an transition getting applied.\n var _k = react_1.useState(rowCtrl.getInitialRowTop()), top = _k[0], setTop = _k[1];\n var _l = react_1.useState(rowCtrl.getInitialTransform()), transform = _l[0], setTransform = _l[1];\n var eGui = react_1.useRef(null);\n var fullWidthCompRef = react_1.useRef();\n var autoHeightSetup = react_1.useRef(false);\n var _m = react_1.useState(0), autoHeightSetupAttempt = _m[0], setAutoHeightSetupAttempt = _m[1];\n // puts autoHeight onto full with detail rows. this needs trickery, as we need\n // the HTMLElement for the provided Detail Cell Renderer, however the Detail Cell Renderer\n // could be a stateless React Func Comp which won't work with useRef, so we need\n // to poll (we limit to 10) looking for the Detail HTMLElement (which will be the only\n // child) after the fullWidthCompDetails is set.\n react_1.useEffect(function () {\n var _a;\n if (autoHeightSetup.current) {\n return;\n }\n if (!fullWidthCompDetails) {\n return;\n }\n if (autoHeightSetupAttempt > 10) {\n return;\n }\n var eChild = (_a = eGui.current) === null || _a === void 0 ? void 0 : _a.firstChild;\n if (eChild) {\n rowCtrl.setupDetailRowAutoHeight(eChild);\n autoHeightSetup.current = true;\n }\n else {\n setAutoHeightSetupAttempt(function (prev) { return prev + 1; });\n }\n }, [fullWidthCompDetails, autoHeightSetupAttempt]);\n var cssClassManager = react_1.useMemo(function () { return new ag_grid_community_1.CssClassManager(function () { return eGui.current; }); }, []);\n // we use layout effect here as we want to synchronously process setComp and it's side effects\n // to ensure the component is fully initialised prior to the first browser paint. See AG-7018.\n useEffectOnce_1.useLayoutEffectOnce(function () {\n // because React is asychronous, it's possible the RowCtrl is no longer a valid RowCtrl. This can\n // happen if user calls two API methods one after the other, with the second API invalidating the rows\n // the first call created. Thus the rows for the first call could still get created even though no longer needed.\n if (!rowCtrl.isAlive()) {\n return;\n }\n var compProxy = {\n // the rowTop is managed by state, instead of direct style manipulation by rowCtrl (like all the other styles)\n // as we need to have an initial value when it's placed into he DOM for the first time, for animation to work.\n setTop: function (value) { return setTop(value); },\n setTransform: function (value) { return setTransform(value); },\n // i found using React for managing classes at the row level was to slow, as modifying classes caused a lot of\n // React code to execute, so avoiding React for managing CSS Classes made the grid go much faster.\n addOrRemoveCssClass: function (name, on) { return cssClassManager.addOrRemoveCssClass(name, on); },\n setDomOrder: function (domOrder) { return setDomOrder(domOrder); },\n setRowIndex: function (value) { return setRowIndex(value); },\n setRowId: function (value) { return setRowId(value); },\n setRowBusinessKey: function (value) { return setRowBusinessKey(value); },\n setTabIndex: function (value) { return setTabIndex(value); },\n setUserStyles: function (styles) { return setUserStyles(styles); },\n setRole: function (value) { return setRole(value); },\n // if we don't maintain the order, then cols will be ripped out and into the dom\n // when cols reordered, which would stop the CSS transitions from working\n setCellCtrls: function (next) { return setCellCtrls(function (prev) { return maintainOrderOnColumns(prev, next, domOrder); }); },\n showFullWidth: function (compDetails) { return setFullWidthCompDetails(compDetails); },\n getFullWidthCellRenderer: function () { return fullWidthCompRef.current; },\n };\n rowCtrl.setComp(compProxy, eGui.current, containerType);\n });\n react_1.useEffect(function () { return jsComp_1.showJsComp(fullWidthCompDetails, context, eGui.current, fullWidthCompRef); }, [fullWidthCompDetails]);\n var rowStyles = react_1.useMemo(function () {\n var res = { top: top, transform: transform };\n Object.assign(res, userStyles);\n return res;\n }, [top, transform, userStyles]);\n var showFullWidthFramework = fullWidthCompDetails && fullWidthCompDetails.componentFromFramework;\n var showCells = cellCtrls != null;\n var reactFullWidthCellRendererStateless = react_1.useMemo(function () {\n var _a;\n var res = ((_a = fullWidthCompDetails) === null || _a === void 0 ? void 0 : _a.componentFromFramework) && utils_1.isComponentStateless(fullWidthCompDetails.componentClass);\n return !!res;\n }, [fullWidthCompDetails]);\n var showCellsJsx = function () { return cellCtrls.list.map(function (cellCtrl) { return (react_1.default.createElement(cellComp_1.default, { cellCtrl: cellCtrl, editingRow: rowCtrl.isEditing(), printLayout: rowCtrl.isPrintLayout(), key: cellCtrl.getInstanceId() })); }); };\n var showFullWidthFrameworkJsx = function () {\n var FullWidthComp = fullWidthCompDetails.componentClass;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n reactFullWidthCellRendererStateless\n && react_1.default.createElement(FullWidthComp, __assign({}, fullWidthCompDetails.params)),\n !reactFullWidthCellRendererStateless\n && react_1.default.createElement(FullWidthComp, __assign({}, fullWidthCompDetails.params, { ref: fullWidthCompRef }))));\n };\n return (react_1.default.createElement(\"div\", { ref: eGui, role: role, style: rowStyles, \"row-index\": rowIndex, \"row-id\": rowId, \"row-business-key\": rowBusinessKey, tabIndex: tabIndex },\n showCells && showCellsJsx(),\n showFullWidthFramework && showFullWidthFrameworkJsx()));\n};\nexports.default = react_1.memo(RowComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar reactComment_1 = __importDefault(require(\"../reactComment\"));\nvar rowComp_1 = __importDefault(require(\"./rowComp\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar RowContainerComp = function (params) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(''), viewportHeight = _a[0], setViewportHeight = _a[1];\n var _b = react_1.useState([]), rowCtrlsOrdered = _b[0], setRowCtrlsOrdered = _b[1];\n var _c = react_1.useState([]), rowCtrls = _c[0], setRowCtrls = _c[1];\n var _d = react_1.useState(false), domOrder = _d[0], setDomOrder = _d[1];\n var _e = react_1.useState(''), containerWidth = _e[0], setContainerWidth = _e[1];\n var name = params.name;\n var containerType = react_1.useMemo(function () { return ag_grid_community_1.getRowContainerTypeForName(name); }, [name]);\n var eWrapper = react_1.useRef(null);\n var eViewport = react_1.useRef(null);\n var eContainer = react_1.useRef(null);\n var cssClasses = react_1.useMemo(function () { return ag_grid_community_1.RowContainerCtrl.getRowContainerCssClasses(name); }, [name]);\n var wrapperClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.wrapper); }, []);\n var viewportClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.viewport); }, []);\n var containerClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.container); }, []);\n // no need to useMemo for boolean types\n var template1 = name === ag_grid_community_1.RowContainerName.CENTER;\n var template2 = name === ag_grid_community_1.RowContainerName.TOP_CENTER\n || name === ag_grid_community_1.RowContainerName.BOTTOM_CENTER\n || name === ag_grid_community_1.RowContainerName.STICKY_TOP_CENTER;\n var template3 = !template1 && !template2;\n var topLevelRef = template1 ? eWrapper : template2 ? eViewport : eContainer;\n reactComment_1.default(' AG Row Container ' + name + ' ', topLevelRef);\n // if domOrder=true, then we just copy rowCtrls into rowCtrlsOrdered observing order,\n // however if false, then we need to keep the order as they are in the dom, otherwise rowAnimation breaks\n react_1.useEffect(function () {\n setRowCtrlsOrdered(function (prev) {\n if (domOrder) {\n return rowCtrls;\n }\n // if dom order not important, we don't want to change the order\n // of the elements in the dom, as this would break transition styles\n var oldRows = prev.filter(function (r) { return rowCtrls.indexOf(r) >= 0; });\n var newRows = rowCtrls.filter(function (r) { return oldRows.indexOf(r) < 0; });\n var next = __spreadArrays(oldRows, newRows);\n return next;\n });\n }, [domOrder, rowCtrls]);\n useEffectOnce_1.useEffectOnce(function () {\n var beansToDestroy = [];\n var compProxy = {\n setViewportHeight: setViewportHeight,\n setRowCtrls: function (rowCtrls) { return setRowCtrls(rowCtrls); },\n setDomOrder: function (domOrder) { return setDomOrder(domOrder); },\n setContainerWidth: function (width) { return setContainerWidth(width); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.RowContainerCtrl(name));\n beansToDestroy.push(ctrl);\n ctrl.setComp(compProxy, eContainer.current, eViewport.current, eWrapper.current);\n return function () {\n context.destroyBeans(beansToDestroy);\n };\n });\n var viewportStyle = react_1.useMemo(function () { return ({\n height: viewportHeight\n }); }, [viewportHeight]);\n var containerStyle = react_1.useMemo(function () { return ({\n width: containerWidth\n }); }, [containerWidth]);\n var buildContainer = function () { return (react_1.default.createElement(\"div\", { className: containerClasses, ref: eContainer, role: rowCtrls.length ? \"rowgroup\" : \"presentation\", style: containerStyle }, rowCtrlsOrdered.map(function (rowCtrl) { return react_1.default.createElement(rowComp_1.default, { rowCtrl: rowCtrl, containerType: containerType, key: rowCtrl.getInstanceId() }); }))); };\n return (react_1.default.createElement(react_1.default.Fragment, null,\n template1 &&\n react_1.default.createElement(\"div\", { className: wrapperClasses, ref: eWrapper, role: \"presentation\" },\n react_1.default.createElement(\"div\", { className: viewportClasses, ref: eViewport, role: \"presentation\", style: viewportStyle }, buildContainer())),\n template2 &&\n react_1.default.createElement(\"div\", { className: viewportClasses, ref: eViewport, role: \"presentation\", style: viewportStyle }, buildContainer()),\n template3 && buildContainer()));\n};\nexports.default = react_1.memo(RowContainerComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar beansContext_1 = require(\"./beansContext\");\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar TabGuardCompRef = function (props, forwardRef) {\n var children = props.children, eFocusableElement = props.eFocusableElement, onTabKeyDown = props.onTabKeyDown, gridCtrl = props.gridCtrl;\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var topTabGuardRef = react_1.useRef(null);\n var bottomTabGuardRef = react_1.useRef(null);\n var tabGuardCtrlRef = react_1.useRef();\n var _a = react_1.useState(), tabIndex = _a[0], setTabIndex = _a[1];\n react_1.useImperativeHandle(forwardRef, function () { return ({\n forceFocusOutOfContainer: function () {\n tabGuardCtrlRef.current.forceFocusOutOfContainer();\n }\n }); });\n useEffectOnce_1.useEffectOnce(function () {\n var eTopGuard = topTabGuardRef.current;\n var eBottomGuard = bottomTabGuardRef.current;\n var compProxy = {\n setTabIndex: function (value) { return value == null ? setTabIndex(undefined) : setTabIndex(parseInt(value, 10)); }\n };\n var ctrl = tabGuardCtrlRef.current = context.createBean(new ag_grid_community_1.TabGuardCtrl({\n comp: compProxy,\n eTopGuard: eTopGuard,\n eBottomGuard: eBottomGuard,\n eFocusableElement: eFocusableElement,\n onTabKeyDown: onTabKeyDown,\n focusInnerElement: function (fromBottom) { return gridCtrl.focusInnerElement(fromBottom); }\n }));\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var createTabGuard = function (side) { return (react_1.default.createElement(\"div\", { className: \"ag-tab-guard ag-tab-guard-\" + side, role: \"presentation\", tabIndex: tabIndex, ref: side === 'top' ? topTabGuardRef : bottomTabGuardRef })); };\n return (react_1.default.createElement(react_1.default.Fragment, null,\n createTabGuard('top'),\n children,\n createTabGuard('bottom')));\n};\nvar TabGuardComp = react_1.forwardRef(TabGuardCompRef);\nexports.default = react_1.memo(TabGuardComp);\n","// ag-grid-react v28.2.1\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nexports.useEffectOnce = function (effect) {\n var effectFn = react_1.useRef(effect);\n var destroyFn = react_1.useRef();\n var effectCalled = react_1.useRef(false);\n var rendered = react_1.useRef(false);\n var _a = react_1.useState(0), setVal = _a[1];\n if (effectCalled.current) {\n rendered.current = true;\n }\n react_1.useEffect(function () {\n // only execute the effect first time around\n if (!effectCalled.current) {\n destroyFn.current = effectFn.current();\n effectCalled.current = true;\n }\n // this forces one render after the effect is run\n setVal(function (val) { return val + 1; });\n return function () {\n // if the comp didn't render since the useEffect was called,\n // we know it's the dummy React cycle\n if (!rendered.current) {\n return;\n }\n // otherwise this is not a dummy destroy, so call the destroy func\n if (destroyFn.current) {\n destroyFn.current();\n }\n };\n }, []);\n};\nexports.useLayoutEffectOnce = function (effect) {\n var effectFn = react_1.useRef(effect);\n var destroyFn = react_1.useRef();\n var effectCalled = react_1.useRef(false);\n var rendered = react_1.useRef(false);\n var _a = react_1.useState(0), setVal = _a[1];\n if (effectCalled.current) {\n rendered.current = true;\n }\n react_1.useLayoutEffect(function () {\n // only execute the effect first time around\n if (!effectCalled.current) {\n destroyFn.current = effectFn.current();\n effectCalled.current = true;\n }\n // this forces one render after the effect is run\n setVal(function (val) { return val + 1; });\n return function () {\n // if the comp didn't render since the useEffect was called,\n // we know it's the dummy React cycle\n if (!rendered.current) {\n return;\n }\n // otherwise this is not a dummy destroy, so call the destroy func\n if (destroyFn.current) {\n destroyFn.current();\n }\n };\n }, []);\n};\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.classesList = function () {\n var list = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n list[_i] = arguments[_i];\n }\n var filtered = list.filter(function (s) { return s != null && s !== ''; });\n return filtered.join(' ');\n};\nvar CssClasses = /** @class */ (function () {\n function CssClasses() {\n var _this = this;\n var initialClasses = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n initialClasses[_i] = arguments[_i];\n }\n this.classesMap = {};\n initialClasses.forEach(function (className) {\n _this.classesMap[className] = true;\n });\n }\n CssClasses.prototype.setClass = function (className, on) {\n // important to not make a copy if nothing has changed, so react\n // won't trigger a render cycle on new object instance\n var nothingHasChanged = !!this.classesMap[className] == on;\n if (nothingHasChanged) {\n return this;\n }\n var res = new CssClasses();\n res.classesMap = __assign({}, this.classesMap);\n res.classesMap[className] = on;\n return res;\n };\n CssClasses.prototype.toString = function () {\n var _this = this;\n var res = Object.keys(this.classesMap).filter(function (key) { return _this.classesMap[key]; }).join(' ');\n return res;\n };\n return CssClasses;\n}());\nexports.CssClasses = CssClasses;\nexports.isComponentStateless = function (Component) {\n var hasSymbol = function () { return typeof Symbol === 'function' && Symbol.for; };\n var getMemoType = function () { return hasSymbol() ? Symbol.for('react.memo') : 0xead3; };\n return (typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent)) || (typeof Component === 'object' && Component.$$typeof === getMemoType());\n};\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar AgGrid = __importStar(require(\"ag-grid-community\"));\nvar AgGridColumn = /** @class */ (function (_super) {\n __extends(AgGridColumn, _super);\n function AgGridColumn() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AgGridColumn.prototype.render = function () {\n return null;\n };\n AgGridColumn.mapChildColumnDefs = function (children) {\n return react_1.default.Children.map(children, function (child) { return !!child ? AgGridColumn.toColDef(child.props) : null; });\n };\n AgGridColumn.toColDef = function (columnProps) {\n var children = columnProps.children, colDef = __rest(columnProps, [\"children\"]);\n if (AgGridColumn.hasChildColumns(children)) {\n colDef.children = AgGridColumn.mapChildColumnDefs(children);\n }\n return colDef;\n };\n AgGridColumn.hasChildColumns = function (children) {\n return react_1.default.Children.count(children) > 0;\n };\n return AgGridColumn;\n}(react_1.Component));\nexports.AgGridColumn = AgGridColumn;\naddProperties(AgGrid.ColDefUtil.BOOLEAN_PROPERTIES, prop_types_1.default.bool);\naddProperties(AgGrid.ColDefUtil.STRING_PROPERTIES, prop_types_1.default.string);\naddProperties(AgGrid.ColDefUtil.OBJECT_PROPERTIES, prop_types_1.default.object);\naddProperties(AgGrid.ColDefUtil.ARRAY_PROPERTIES, prop_types_1.default.array);\naddProperties(AgGrid.ColDefUtil.NUMBER_PROPERTIES, prop_types_1.default.number);\naddProperties(AgGrid.ColDefUtil.FUNCTION_PROPERTIES, prop_types_1.default.func);\nfunction addProperties(listOfProps, propType) {\n listOfProps.forEach(function (propKey) {\n // @ts-ignore\n AgGridColumn[propKey] = propType;\n });\n}\n","// ag-grid-react v28.2.1\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ChangeDetectionStrategyType;\n(function (ChangeDetectionStrategyType) {\n ChangeDetectionStrategyType[\"IdentityCheck\"] = \"IdentityCheck\";\n ChangeDetectionStrategyType[\"DeepValueCheck\"] = \"DeepValueCheck\";\n ChangeDetectionStrategyType[\"NoCheck\"] = \"NoCheck\";\n})(ChangeDetectionStrategyType = exports.ChangeDetectionStrategyType || (exports.ChangeDetectionStrategyType = {}));\nvar SimpleFunctionalStrategy = /** @class */ (function () {\n function SimpleFunctionalStrategy(strategy) {\n this.strategy = strategy;\n }\n SimpleFunctionalStrategy.prototype.areEqual = function (a, b) {\n return this.strategy(a, b);\n };\n return SimpleFunctionalStrategy;\n}());\nvar DeepValueStrategy = /** @class */ (function () {\n function DeepValueStrategy() {\n }\n DeepValueStrategy.prototype.areEqual = function (a, b) {\n return DeepValueStrategy.areEquivalent(DeepValueStrategy.copy(a), DeepValueStrategy.copy(b));\n };\n /*\n * deeper object comparison - taken from https://stackoverflow.com/questions/1068834/object-comparison-in-javascript\n */\n DeepValueStrategy.unwrapStringOrNumber = function (obj) {\n return obj instanceof Number || obj instanceof String ? obj.valueOf() : obj;\n };\n // sigh, here for ie compatibility\n DeepValueStrategy.copy = function (value) {\n if (!value) {\n return value;\n }\n if (Array.isArray(value)) {\n // shallow copy the array - this will typically be either rowData or columnDefs\n var arrayCopy = [];\n for (var i = 0; i < value.length; i++) {\n arrayCopy.push(this.copy(value[i]));\n }\n return arrayCopy;\n }\n // for anything without keys (boolean, string etc).\n // Object.keys - chrome will swallow them\n if (typeof value !== \"object\") {\n return value;\n }\n return [{}, value].reduce(function (r, o) {\n Object.keys(o).forEach(function (k) {\n r[k] = o[k];\n });\n return r;\n }, {});\n };\n DeepValueStrategy.isNaN = function (value) {\n if (Number.isNaN) {\n return Number.isNaN(value);\n }\n // for ie11...\n return typeof (value) === 'number' && isNaN(value);\n };\n /*\n * slightly modified, but taken from https://stackoverflow.com/questions/1068834/object-comparison-in-javascript\n *\n * What we're trying to do here is determine if the property being checked has changed in _value_, not just in reference\n *\n * For eg, if a user updates the columnDefs via property binding, but the actual columns defs are the same before and\n * after, then we don't want the grid to re-render\n */\n DeepValueStrategy.areEquivalent = function (a, b) {\n a = DeepValueStrategy.unwrapStringOrNumber(a);\n b = DeepValueStrategy.unwrapStringOrNumber(b);\n if (a === b)\n return true; //e.g. a and b both null\n if (a === null || b === null || typeof a !== typeof b)\n return false;\n if (DeepValueStrategy.isNaN(a) && DeepValueStrategy.isNaN(b)) {\n return true;\n }\n if (a instanceof Date) {\n return b instanceof Date && a.valueOf() === b.valueOf();\n }\n if (typeof a === \"function\") {\n // false to allow for callbacks to be reactive...\n return false;\n }\n if (typeof a !== \"object\" ||\n (a.$$typeof && a.$$typeof.toString() === \"Symbol(react.element)\")) {\n return a == b; //for boolean, number, string, function, xml\n }\n if (Object.isFrozen(a) || Object.isFrozen(b)) {\n return a === b;\n }\n var newA = a.areEquivPropertyTracking === undefined, newB = b.areEquivPropertyTracking === undefined;\n try {\n var prop = void 0;\n if (newA) {\n a.areEquivPropertyTracking = [];\n }\n else if (a.areEquivPropertyTracking.some(function (other) {\n return other === b;\n }))\n return true;\n if (newB) {\n b.areEquivPropertyTracking = [];\n }\n else if (b.areEquivPropertyTracking.some(function (other) { return other === a; })) {\n return true;\n }\n a.areEquivPropertyTracking.push(b);\n b.areEquivPropertyTracking.push(a);\n var tmp = {};\n for (prop in a)\n if (prop != \"areEquivPropertyTracking\") {\n tmp[prop] = null;\n }\n for (prop in b)\n if (prop != \"areEquivPropertyTracking\") {\n tmp[prop] = null;\n }\n for (prop in tmp) {\n if (!this.areEquivalent(a[prop], b[prop])) {\n return false;\n }\n }\n return true;\n }\n finally {\n if (newA)\n delete a.areEquivPropertyTracking;\n if (newB)\n delete b.areEquivPropertyTracking;\n }\n };\n return DeepValueStrategy;\n}());\nvar ChangeDetectionService = /** @class */ (function () {\n function ChangeDetectionService() {\n var _a;\n this.strategyMap = (_a = {},\n _a[ChangeDetectionStrategyType.DeepValueCheck] = new DeepValueStrategy(),\n _a[ChangeDetectionStrategyType.IdentityCheck] = new SimpleFunctionalStrategy(function (a, b) { return a === b; }),\n _a[ChangeDetectionStrategyType.NoCheck] = new SimpleFunctionalStrategy(function (a, b) { return false; }),\n _a);\n }\n ChangeDetectionService.prototype.getStrategy = function (changeDetectionStrategy) {\n return this.strategyMap[changeDetectionStrategy];\n };\n return ChangeDetectionService;\n}());\nexports.ChangeDetectionService = ChangeDetectionService;\n","// ag-grid-react v28.2.1\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar counter = 0;\nfunction generateNewKey() {\n return \"agPortalKey_\" + ++counter;\n}\nexports.default = generateNewKey;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar reactComponent_1 = require(\"./reactComponent\");\nvar server_1 = require(\"react-dom/server\");\nvar keyGenerator_1 = __importDefault(require(\"./keyGenerator\"));\nvar NewReactComponent = /** @class */ (function (_super) {\n __extends(NewReactComponent, _super);\n function NewReactComponent(reactComponent, parentComponent, componentType) {\n var _this = _super.call(this, reactComponent, parentComponent, componentType) || this;\n _this.oldPortal = null;\n _this.key = keyGenerator_1.default();\n _this.portalKey = keyGenerator_1.default();\n return _this;\n }\n NewReactComponent.prototype.init = function (params) {\n var _this = this;\n this.eParentElement = this.createParentElement(params);\n this.params = params;\n this.createOrUpdatePortal(params);\n return new ag_grid_community_1.AgPromise(function (resolve) { return _this.createReactComponent(resolve); });\n };\n NewReactComponent.prototype.createOrUpdatePortal = function (params) {\n var _this = this;\n if (!this.isStatelessComponent()) {\n // grab hold of the actual instance created\n params.ref = function (element) {\n _this.componentInstance = element;\n _this.addParentContainerStyleAndClasses();\n };\n }\n this.reactElement = react_1.createElement(this.reactComponent, __assign(__assign({}, params), { key: this.key }));\n this.portal = react_dom_1.createPortal(this.reactElement, this.eParentElement, this.portalKey // fixed deltaRowModeRefreshCompRenderer\n );\n };\n NewReactComponent.prototype.createReactComponent = function (resolve) {\n this.portalManager.mountReactPortal(this.portal, this, function (value) {\n resolve(value);\n });\n };\n NewReactComponent.prototype.isNullValue = function () {\n return this.valueRenderedIsNull(this.params);\n };\n NewReactComponent.prototype.rendered = function () {\n return (this.isStatelessComponent() && this.statelessComponentRendered()) ||\n !!(!this.isStatelessComponent() && this.getFrameworkComponentInstance());\n };\n NewReactComponent.prototype.valueRenderedIsNull = function (params) {\n // we only do this for cellRenderers\n if (!this.componentType.cellRenderer) {\n return false;\n }\n // we've no way of knowing if a component returns null without rendering it first\n // so we render it to markup and check the output - if it'll be null we know and won't timeout\n // waiting for a component that will never be created\n var originalConsoleError = console.error;\n try {\n // if a user is doing anything that uses useLayoutEffect (like material ui) then it will throw and we\n // can't do anything to stop it; this is just a warning and has no effect on anything so just suppress it\n // for this single operation\n console.error = function () {\n };\n var staticMarkup = server_1.renderToStaticMarkup(react_1.createElement(this.reactComponent, params));\n return staticMarkup === '';\n }\n catch (ignore) {\n }\n finally {\n console.error = originalConsoleError;\n }\n return false;\n };\n /*\n * fallback methods - these will be invoked if a corresponding instance method is not present\n * for example if refresh is called and is not available on the component instance, then refreshComponent on this\n * class will be invoked instead\n *\n * Currently only refresh is supported\n */\n NewReactComponent.prototype.refreshComponent = function (args) {\n this.oldPortal = this.portal;\n this.createOrUpdatePortal(args);\n this.portalManager.updateReactPortal(this.oldPortal, this.portal);\n };\n NewReactComponent.prototype.fallbackMethod = function (name, params) {\n var method = this[name + \"Component\"];\n if (!!method) {\n return method.bind(this)(params);\n }\n };\n NewReactComponent.prototype.fallbackMethodAvailable = function (name) {\n var method = this[name + \"Component\"];\n return !!method;\n };\n return NewReactComponent;\n}(reactComponent_1.ReactComponent));\nexports.NewReactComponent = NewReactComponent;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar PortalManager = /** @class */ (function () {\n function PortalManager(parent, wrappingElement, maxComponentCreationTimeMs) {\n this.destroyed = false;\n this.portals = [];\n this.hasPendingPortalUpdate = false;\n this.wrappingElement = wrappingElement ? wrappingElement : 'div';\n this.parent = parent;\n this.maxComponentCreationTimeMs = maxComponentCreationTimeMs ? maxComponentCreationTimeMs : PortalManager.MAX_COMPONENT_CREATION_TIME_IN_MS;\n }\n PortalManager.prototype.getPortals = function () {\n return this.portals;\n };\n PortalManager.prototype.destroy = function () {\n this.destroyed = true;\n };\n PortalManager.prototype.destroyPortal = function (portal) {\n this.portals = this.portals.filter(function (curPortal) { return curPortal !== portal; });\n this.batchUpdate();\n };\n PortalManager.prototype.getComponentWrappingElement = function () {\n return this.wrappingElement;\n };\n PortalManager.prototype.mountReactPortal = function (portal, reactComponent, resolve) {\n this.portals = __spreadArrays(this.portals, [portal]);\n this.waitForInstance(reactComponent, resolve);\n this.batchUpdate();\n };\n PortalManager.prototype.updateReactPortal = function (oldPortal, newPortal) {\n this.portals[this.portals.indexOf(oldPortal)] = newPortal;\n this.batchUpdate();\n };\n PortalManager.prototype.batchUpdate = function () {\n var _this = this;\n if (this.hasPendingPortalUpdate) {\n return;\n }\n setTimeout(function () {\n if (!_this.destroyed) { // destroyed?\n _this.parent.forceUpdate(function () {\n _this.hasPendingPortalUpdate = false;\n });\n }\n });\n this.hasPendingPortalUpdate = true;\n };\n PortalManager.prototype.waitForInstance = function (reactComponent, resolve, startTime) {\n var _this = this;\n if (startTime === void 0) { startTime = Date.now(); }\n // if the grid has been destroyed in the meantime just resolve\n if (this.destroyed) {\n resolve(null);\n return;\n }\n if (reactComponent.rendered()) {\n resolve(reactComponent);\n }\n else {\n if (Date.now() - startTime >= this.maxComponentCreationTimeMs && !this.hasPendingPortalUpdate) {\n // last check - we check if this is a null value being rendered - we do this last as using SSR to check the value\n // can mess up contexts\n if (reactComponent.isNullValue()) {\n resolve(reactComponent);\n return;\n }\n console.error(\"AG Grid: React Component '\" + reactComponent.getReactComponentName() + \"' not created within \" + this.maxComponentCreationTimeMs + \"ms\");\n return;\n }\n window.setTimeout(function () {\n _this.waitForInstance(reactComponent, resolve, startTime);\n });\n }\n };\n PortalManager.MAX_COMPONENT_CREATION_TIME_IN_MS = 1000; // a second should be more than enough to instantiate a component\n return PortalManager;\n}());\nexports.PortalManager = PortalManager;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseReactComponent = /** @class */ (function () {\n function BaseReactComponent() {\n }\n return BaseReactComponent;\n}());\nvar ReactComponent = /** @class */ (function (_super) {\n __extends(ReactComponent, _super);\n function ReactComponent(reactComponent, portalManager, componentType) {\n var _this = _super.call(this) || this;\n _this.portal = null;\n _this.reactComponent = reactComponent;\n _this.portalManager = portalManager;\n _this.componentType = componentType;\n _this.statelessComponent = _this.isStateless(_this.reactComponent);\n return _this;\n }\n ReactComponent.prototype.getGui = function () {\n return this.eParentElement;\n };\n ReactComponent.prototype.destroy = function () {\n if (this.componentInstance && typeof this.componentInstance.destroy == 'function') {\n this.componentInstance.destroy();\n }\n return this.portalManager.destroyPortal(this.portal);\n };\n ReactComponent.prototype.createParentElement = function (params) {\n var componentWrappingElement = this.portalManager.getComponentWrappingElement();\n var eParentElement = document.createElement(componentWrappingElement || 'div');\n eParentElement.classList.add('ag-react-container');\n // DEPRECATED - use componentInstance.getReactContainerStyle or componentInstance.getReactContainerClasses instead\n // so user can have access to the react container, to add css class or style\n params.reactContainer = eParentElement;\n return eParentElement;\n };\n ReactComponent.prototype.addParentContainerStyleAndClasses = function () {\n var _this = this;\n if (!this.componentInstance) {\n return;\n }\n if (this.componentInstance.getReactContainerStyle && this.componentInstance.getReactContainerStyle()) {\n Object.assign(this.eParentElement.style, this.componentInstance.getReactContainerStyle());\n }\n if (this.componentInstance.getReactContainerClasses && this.componentInstance.getReactContainerClasses()) {\n var parentContainerClasses = this.componentInstance.getReactContainerClasses();\n parentContainerClasses.forEach(function (className) { return _this.eParentElement.classList.add(className); });\n }\n };\n ReactComponent.prototype.statelessComponentRendered = function () {\n // fixed fragmentsFuncRendererCreateDestroy funcRendererWithNan (changeDetectionService too for NaN)\n return this.eParentElement.childElementCount > 0 || this.eParentElement.childNodes.length > 0;\n };\n ReactComponent.prototype.getFrameworkComponentInstance = function () {\n return this.componentInstance;\n };\n ReactComponent.prototype.isStatelessComponent = function () {\n return this.statelessComponent;\n };\n ReactComponent.prototype.getReactComponentName = function () {\n return this.reactComponent.name;\n };\n ReactComponent.prototype.getMemoType = function () {\n return this.hasSymbol() ? Symbol.for('react.memo') : 0xead3;\n };\n ReactComponent.prototype.hasSymbol = function () {\n return typeof Symbol === 'function' && Symbol.for;\n };\n ReactComponent.prototype.isStateless = function (Component) {\n return (typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent))\n || (typeof Component === 'object' && Component.$$typeof === this.getMemoType());\n };\n ReactComponent.prototype.hasMethod = function (name) {\n var frameworkComponentInstance = this.getFrameworkComponentInstance();\n return (!!frameworkComponentInstance && frameworkComponentInstance[name] !== null) ||\n this.fallbackMethodAvailable(name);\n };\n ReactComponent.prototype.callMethod = function (name, args) {\n var _this = this;\n var frameworkComponentInstance = this.getFrameworkComponentInstance();\n if (this.isStatelessComponent()) {\n return this.fallbackMethod(name, !!args && args[0] ? args[0] : {});\n }\n else if (!(!!frameworkComponentInstance)) {\n // instance not ready yet - wait for it\n setTimeout(function () { return _this.callMethod(name, args); });\n return;\n }\n var method = frameworkComponentInstance[name];\n if (!!method) {\n return method.apply(frameworkComponentInstance, args);\n }\n if (this.fallbackMethodAvailable(name)) {\n return this.fallbackMethod(name, !!args && args[0] ? args[0] : {});\n }\n };\n ReactComponent.prototype.addMethod = function (name, callback) {\n this[name] = callback;\n };\n return ReactComponent;\n}(BaseReactComponent));\nexports.ReactComponent = ReactComponent;\n","// ag-grid-react v28.2.1\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar groupCellRenderer_1 = __importDefault(require(\"../reactUi/cellRenderer/groupCellRenderer\"));\nvar detailCellRenderer_1 = __importDefault(require(\"../reactUi/cellRenderer/detailCellRenderer\"));\nvar ReactFrameworkOverrides = /** @class */ (function (_super) {\n __extends(ReactFrameworkOverrides, _super);\n function ReactFrameworkOverrides(reactUi) {\n var _this = _super.call(this) || this;\n _this.frameworkComponents = {\n agGroupCellRenderer: groupCellRenderer_1.default,\n agGroupRowRenderer: groupCellRenderer_1.default,\n agDetailCellRenderer: detailCellRenderer_1.default\n };\n _this.reactUi = reactUi;\n return _this;\n }\n ReactFrameworkOverrides.prototype.frameworkComponent = function (name) {\n if (!this.reactUi) {\n return;\n }\n return this.frameworkComponents[name];\n };\n ReactFrameworkOverrides.prototype.isFrameworkComponent = function (comp) {\n if (!comp) {\n return false;\n }\n var prototype = comp.prototype;\n var isJsComp = prototype && 'getGui' in prototype;\n return !isJsComp;\n };\n return ReactFrameworkOverrides;\n}(ag_grid_community_1.VanillaFrameworkOverrides));\nexports.ReactFrameworkOverrides = ReactFrameworkOverrides;\n","exports.AgGridReact = require('./lib/agGridReact').AgGridReact;\nexports.AgGridColumn = require('./lib/shared/agGridColumn').AgGridColumn;\nexports.ChangeDetectionStrategyType = require('./lib/shared/changeDetectionService').ChangeDetectionStrategyType;\nexports.AgGridReactUi = require('./lib/reactUi/agGridReactUi').AgGridReactUi;\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ZXing = {}));\n}(this, (function (exports) { 'use strict';\n\n /*! *****************************************************************************\n Copyright (c) Microsoft Corporation. All rights reserved.\n Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use\n this file except in compliance with the License. You may obtain a copy of the\n License at http://www.apache.org/licenses/LICENSE-2.0\n\n THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\n WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\n MERCHANTABLITY OR NON-INFRINGEMENT.\n\n See the Apache Version 2.0 License for specific language governing permissions\n and limitations under the License.\n ***************************************************************************** */\n /* global Reflect, Promise */\n\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n\n function __extends(d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n }\n\n function fixProto(target, prototype) {\n var setPrototypeOf = Object.setPrototypeOf;\n setPrototypeOf ? setPrototypeOf(target, prototype) : (target.__proto__ = prototype);\n }\n\n function fixStack(target, fn) {\n if (fn === void 0) {\n fn = target.constructor;\n }\n var captureStackTrace = Error.captureStackTrace;\n captureStackTrace && captureStackTrace(target, fn);\n }\n\n\n\n\n\n var CustomError = (function (_super) {\n __extends(CustomError, _super);\n function CustomError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n Object.defineProperty(_this, 'name', {\n value: _newTarget.name,\n enumerable: false\n });\n fixProto(_this, _newTarget.prototype);\n fixStack(_this);\n return _this;\n }\n \n return CustomError;\n })(Error);\n\n /**\n * Custom Error class of type Exception.\n */\n class Exception extends CustomError {\n /**\n * Allows Exception to be constructed directly\n * with some message and prototype definition.\n */\n constructor(message = undefined) {\n super(message);\n this.message = message;\n }\n getKind() {\n const ex = this.constructor;\n return ex.kind;\n }\n }\n /**\n * It's typed as string so it can be extended and overriden.\n */\n Exception.kind = 'Exception';\n\n /**\n * Custom Error class of type Exception.\n */\n class ArgumentException extends Exception {\n }\n ArgumentException.kind = 'ArgumentException';\n\n /**\n * Custom Error class of type Exception.\n */\n class IllegalArgumentException extends Exception {\n }\n IllegalArgumentException.kind = 'IllegalArgumentException';\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n class BinaryBitmap {\n constructor(binarizer) {\n this.binarizer = binarizer;\n if (binarizer === null) {\n throw new IllegalArgumentException('Binarizer must be non-null.');\n }\n }\n /**\n * @return The width of the bitmap.\n */\n getWidth() {\n return this.binarizer.getWidth();\n }\n /**\n * @return The height of the bitmap.\n */\n getHeight() {\n return this.binarizer.getHeight();\n }\n /**\n * Converts one row of luminance data to 1 bit data. May actually do the conversion, or return\n * cached data. Callers should assume this method is expensive and call it as seldom as possible.\n * This method is intended for decoding 1D barcodes and may choose to apply sharpening.\n *\n * @param y The row to fetch, which must be in [0, bitmap height)\n * @param row An optional preallocated array. If null or too small, it will be ignored.\n * If used, the Binarizer will call BitArray.clear(). Always use the returned object.\n * @return The array of bits for this row (true means black).\n * @throws NotFoundException if row can't be binarized\n */\n getBlackRow(y /*int*/, row) {\n return this.binarizer.getBlackRow(y, row);\n }\n /**\n * Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive\n * and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or\n * may not apply sharpening. Therefore, a row from this matrix may not be identical to one\n * fetched using getBlackRow(), so don't mix and match between them.\n *\n * @return The 2D array of bits for the image (true means black).\n * @throws NotFoundException if image can't be binarized to make a matrix\n */\n getBlackMatrix() {\n // The matrix is created on demand the first time it is requested, then cached. There are two\n // reasons for this:\n // 1. This work will never be done if the caller only installs 1D Reader objects, or if a\n // 1D Reader finds a barcode before the 2D Readers run.\n // 2. This work will only be done once even if the caller installs multiple 2D Readers.\n if (this.matrix === null || this.matrix === undefined) {\n this.matrix = this.binarizer.getBlackMatrix();\n }\n return this.matrix;\n }\n /**\n * @return Whether this bitmap can be cropped.\n */\n isCropSupported() {\n return this.binarizer.getLuminanceSource().isCropSupported();\n }\n /**\n * Returns a new object with cropped image data. Implementations may keep a reference to the\n * original data rather than a copy. Only callable if isCropSupported() is true.\n *\n * @param left The left coordinate, which must be in [0,getWidth())\n * @param top The top coordinate, which must be in [0,getHeight())\n * @param width The width of the rectangle to crop.\n * @param height The height of the rectangle to crop.\n * @return A cropped version of this object.\n */\n crop(left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n const newSource = this.binarizer.getLuminanceSource().crop(left, top, width, height);\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n }\n /**\n * @return Whether this bitmap supports counter-clockwise rotation.\n */\n isRotateSupported() {\n return this.binarizer.getLuminanceSource().isRotateSupported();\n }\n /**\n * Returns a new object with rotated image data by 90 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n rotateCounterClockwise() {\n const newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n }\n /**\n * Returns a new object with rotated image data by 45 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n rotateCounterClockwise45() {\n const newSource = this.binarizer.getLuminanceSource().rotateCounterClockwise45();\n return new BinaryBitmap(this.binarizer.createBinarizer(newSource));\n }\n /*@Override*/\n toString() {\n try {\n return this.getBlackMatrix().toString();\n }\n catch (e /*: NotFoundException*/) {\n return '';\n }\n }\n }\n\n /**\n * Custom Error class of type Exception.\n */\n class ChecksumException extends Exception {\n static getChecksumInstance() {\n return new ChecksumException();\n }\n }\n ChecksumException.kind = 'ChecksumException';\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * This class hierarchy provides a set of methods to convert luminance data to 1 bit data.\n * It allows the algorithm to vary polymorphically, for example allowing a very expensive\n * thresholding technique for servers and a fast one for mobile. It also permits the implementation\n * to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class Binarizer {\n constructor(source) {\n this.source = source;\n }\n getLuminanceSource() {\n return this.source;\n }\n getWidth() {\n return this.source.getWidth();\n }\n getHeight() {\n return this.source.getHeight();\n }\n }\n\n class System {\n // public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)\n /**\n * Makes a copy of a array.\n */\n static arraycopy(src, srcPos, dest, destPos, length) {\n // TODO: better use split or set?\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n }\n /**\n * Returns the current time in milliseconds.\n */\n static currentTimeMillis() {\n return Date.now();\n }\n }\n\n /**\n * Custom Error class of type Exception.\n */\n class IndexOutOfBoundsException extends Exception {\n }\n IndexOutOfBoundsException.kind = 'IndexOutOfBoundsException';\n\n /**\n * Custom Error class of type Exception.\n */\n class ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException {\n constructor(index = undefined, message = undefined) {\n super(message);\n this.index = index;\n this.message = message;\n }\n }\n ArrayIndexOutOfBoundsException.kind = 'ArrayIndexOutOfBoundsException';\n\n class Arrays {\n /**\n * Assigns the specified int value to each element of the specified array\n * of ints.\n *\n * @param a the array to be filled\n * @param val the value to be stored in all elements of the array\n */\n static fill(a, val) {\n for (let i = 0, len = a.length; i < len; i++)\n a[i] = val;\n }\n /**\n * Assigns the specified int value to each element of the specified\n * range of the specified array of ints. The range to be filled\n * extends from index {@code fromIndex}, inclusive, to index\n * {@code toIndex}, exclusive. (If {@code fromIndex==toIndex}, the\n * range to be filled is empty.)\n *\n * @param a the array to be filled\n * @param fromIndex the index of the first element (inclusive) to be\n * filled with the specified value\n * @param toIndex the index of the last element (exclusive) to be\n * filled with the specified value\n * @param val the value to be stored in all elements of the array\n * @throws IllegalArgumentException if {@code fromIndex > toIndex}\n * @throws ArrayIndexOutOfBoundsException if {@code fromIndex < 0} or\n * {@code toIndex > a.length}\n */\n static fillWithin(a, fromIndex, toIndex, val) {\n Arrays.rangeCheck(a.length, fromIndex, toIndex);\n for (let i = fromIndex; i < toIndex; i++)\n a[i] = val;\n }\n /**\n * Checks that {@code fromIndex} and {@code toIndex} are in\n * the range and throws an exception if they aren't.\n */\n static rangeCheck(arrayLength, fromIndex, toIndex) {\n if (fromIndex > toIndex) {\n throw new IllegalArgumentException('fromIndex(' + fromIndex + ') > toIndex(' + toIndex + ')');\n }\n if (fromIndex < 0) {\n throw new ArrayIndexOutOfBoundsException(fromIndex);\n }\n if (toIndex > arrayLength) {\n throw new ArrayIndexOutOfBoundsException(toIndex);\n }\n }\n static asList(...args) {\n return args;\n }\n static create(rows, cols, value) {\n let arr = Array.from({ length: rows });\n return arr.map(x => Array.from({ length: cols }).fill(value));\n }\n static createInt32Array(rows, cols, value) {\n let arr = Array.from({ length: rows });\n return arr.map(x => Int32Array.from({ length: cols }).fill(value));\n }\n static equals(first, second) {\n if (!first) {\n return false;\n }\n if (!second) {\n return false;\n }\n if (!first.length) {\n return false;\n }\n if (!second.length) {\n return false;\n }\n if (first.length !== second.length) {\n return false;\n }\n for (let i = 0, length = first.length; i < length; i++) {\n if (first[i] !== second[i]) {\n return false;\n }\n }\n return true;\n }\n static hashCode(a) {\n if (a === null) {\n return 0;\n }\n let result = 1;\n for (const element of a) {\n result = 31 * result + element;\n }\n return result;\n }\n static fillUint8Array(a, value) {\n for (let i = 0; i !== a.length; i++) {\n a[i] = value;\n }\n }\n static copyOf(original, newLength) {\n return original.slice(0, newLength);\n }\n static copyOfUint8Array(original, newLength) {\n if (original.length <= newLength) {\n const newArray = new Uint8Array(newLength);\n newArray.set(original);\n return newArray;\n }\n return original.slice(0, newLength);\n }\n static copyOfRange(original, from, to) {\n const newLength = to - from;\n const copy = new Int32Array(newLength);\n System.arraycopy(original, from, copy, 0, newLength);\n return copy;\n }\n /*\n * Returns the index of of the element in a sorted array or (-n-1) where n is the insertion point\n * for the new element.\n * Parameters:\n * ar - A sorted array\n * el - An element to search for\n * comparator - A comparator function. The function takes two arguments: (a, b) and returns:\n * a negative number if a is less than b;\n * 0 if a is equal to b;\n * a positive number of a is greater than b.\n * The array may contain duplicate elements. If there are more than one equal elements in the array,\n * the returned value can be the index of any one of the equal elements.\n *\n * http://jsfiddle.net/aryzhov/pkfst550/\n */\n static binarySearch(ar, el, comparator) {\n if (undefined === comparator) {\n comparator = Arrays.numberComparator;\n }\n let m = 0;\n let n = ar.length - 1;\n while (m <= n) {\n const k = (n + m) >> 1;\n const cmp = comparator(el, ar[k]);\n if (cmp > 0) {\n m = k + 1;\n }\n else if (cmp < 0) {\n n = k - 1;\n }\n else {\n return k;\n }\n }\n return -m - 1;\n }\n static numberComparator(a, b) {\n return a - b;\n }\n }\n\n /**\n * Ponyfill for Java's Integer class.\n */\n class Integer {\n static numberOfTrailingZeros(i) {\n let y;\n if (i === 0)\n return 32;\n let n = 31;\n y = i << 16;\n if (y !== 0) {\n n -= 16;\n i = y;\n }\n y = i << 8;\n if (y !== 0) {\n n -= 8;\n i = y;\n }\n y = i << 4;\n if (y !== 0) {\n n -= 4;\n i = y;\n }\n y = i << 2;\n if (y !== 0) {\n n -= 2;\n i = y;\n }\n return n - ((i << 1) >>> 31);\n }\n static numberOfLeadingZeros(i) {\n // HD, Figure 5-6\n if (i === 0) {\n return 32;\n }\n let n = 1;\n if (i >>> 16 === 0) {\n n += 16;\n i <<= 16;\n }\n if (i >>> 24 === 0) {\n n += 8;\n i <<= 8;\n }\n if (i >>> 28 === 0) {\n n += 4;\n i <<= 4;\n }\n if (i >>> 30 === 0) {\n n += 2;\n i <<= 2;\n }\n n -= i >>> 31;\n return n;\n }\n static toHexString(i) {\n return i.toString(16);\n }\n static toBinaryString(intNumber) {\n return String(parseInt(String(intNumber), 2));\n }\n // Returns the number of one-bits in the two's complement binary representation of the specified int value. This function is sometimes referred to as the population count.\n // Returns:\n // the number of one-bits in the two's complement binary representation of the specified int value.\n static bitCount(i) {\n // HD, Figure 5-2\n i = i - ((i >>> 1) & 0x55555555);\n i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);\n i = (i + (i >>> 4)) & 0x0f0f0f0f;\n i = i + (i >>> 8);\n i = i + (i >>> 16);\n return i & 0x3f;\n }\n static truncDivision(dividend, divisor) {\n return Math.trunc(dividend / divisor);\n }\n /**\n * Converts A string to an integer.\n * @param s A string to convert into a number.\n * @param radix A value between 2 and 36 that specifies the base of the number in numString. If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. All other strings are considered decimal.\n */\n static parseInt(num, radix = undefined) {\n return parseInt(num, radix);\n }\n }\n Integer.MIN_VALUE_32_BITS = -2147483648;\n Integer.MAX_VALUE = Number.MAX_SAFE_INTEGER;\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

A simple, fast array of bits, represented compactly by an array of ints internally.

\n *\n * @author Sean Owen\n */\n class BitArray /*implements Cloneable*/ {\n // public constructor() {\n // this.size = 0\n // this.bits = new Int32Array(1)\n // }\n // public constructor(size?: number /*int*/) {\n // if (undefined === size) {\n // this.size = 0\n // } else {\n // this.size = size\n // }\n // this.bits = this.makeArray(size)\n // }\n // For testing only\n constructor(size /*int*/, bits) {\n if (undefined === size) {\n this.size = 0;\n this.bits = new Int32Array(1);\n }\n else {\n this.size = size;\n if (undefined === bits || null === bits) {\n this.bits = BitArray.makeArray(size);\n }\n else {\n this.bits = bits;\n }\n }\n }\n getSize() {\n return this.size;\n }\n getSizeInBytes() {\n return Math.floor((this.size + 7) / 8);\n }\n ensureCapacity(size /*int*/) {\n if (size > this.bits.length * 32) {\n const newBits = BitArray.makeArray(size);\n System.arraycopy(this.bits, 0, newBits, 0, this.bits.length);\n this.bits = newBits;\n }\n }\n /**\n * @param i bit to get\n * @return true iff bit i is set\n */\n get(i /*int*/) {\n return (this.bits[Math.floor(i / 32)] & (1 << (i & 0x1F))) !== 0;\n }\n /**\n * Sets bit i.\n *\n * @param i bit to set\n */\n set(i /*int*/) {\n this.bits[Math.floor(i / 32)] |= 1 << (i & 0x1F);\n }\n /**\n * Flips bit i.\n *\n * @param i bit to set\n */\n flip(i /*int*/) {\n this.bits[Math.floor(i / 32)] ^= 1 << (i & 0x1F);\n }\n /**\n * @param from first bit to check\n * @return index of first bit that is set, starting from the given index, or size if none are set\n * at or beyond this given index\n * @see #getNextUnset(int)\n */\n getNextSet(from /*int*/) {\n const size = this.size;\n if (from >= size) {\n return size;\n }\n const bits = this.bits;\n let bitsOffset = Math.floor(from / 32);\n let currentBits = bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n const length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = bits[bitsOffset];\n }\n const result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n }\n /**\n * @param from index to start looking for unset bit\n * @return index of next unset bit, or {@code size} if none are unset until the end\n * @see #getNextSet(int)\n */\n getNextUnset(from /*int*/) {\n const size = this.size;\n if (from >= size) {\n return size;\n }\n const bits = this.bits;\n let bitsOffset = Math.floor(from / 32);\n let currentBits = ~bits[bitsOffset];\n // mask off lesser bits first\n currentBits &= ~((1 << (from & 0x1F)) - 1);\n const length = bits.length;\n while (currentBits === 0) {\n if (++bitsOffset === length) {\n return size;\n }\n currentBits = ~bits[bitsOffset];\n }\n const result = (bitsOffset * 32) + Integer.numberOfTrailingZeros(currentBits);\n return result > size ? size : result;\n }\n /**\n * Sets a block of 32 bits, starting at bit i.\n *\n * @param i first bit to set\n * @param newBits the new value of the next 32 bits. Note again that the least-significant bit\n * corresponds to bit i, the next-least-significant to i+1, and so on.\n */\n setBulk(i /*int*/, newBits /*int*/) {\n this.bits[Math.floor(i / 32)] = newBits;\n }\n /**\n * Sets a range of bits.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n */\n setRange(start /*int*/, end /*int*/) {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return;\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n const firstInt = Math.floor(start / 32);\n const lastInt = Math.floor(end / 32);\n const bits = this.bits;\n for (let i = firstInt; i <= lastInt; i++) {\n const firstBit = i > firstInt ? 0 : start & 0x1F;\n const lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n const mask = (2 << lastBit) - (1 << firstBit);\n bits[i] |= mask;\n }\n }\n /**\n * Clears all bits (sets to false).\n */\n clear() {\n const max = this.bits.length;\n const bits = this.bits;\n for (let i = 0; i < max; i++) {\n bits[i] = 0;\n }\n }\n /**\n * Efficient method to check if a range of bits is set, or not set.\n *\n * @param start start of range, inclusive.\n * @param end end of range, exclusive\n * @param value if true, checks that bits in range are set, otherwise checks that they are not set\n * @return true iff all bits are set or not set in range, according to value argument\n * @throws IllegalArgumentException if end is less than start or the range is not contained in the array\n */\n isRange(start /*int*/, end /*int*/, value) {\n if (end < start || start < 0 || end > this.size) {\n throw new IllegalArgumentException();\n }\n if (end === start) {\n return true; // empty range matches\n }\n end--; // will be easier to treat this as the last actually set bit -- inclusive\n const firstInt = Math.floor(start / 32);\n const lastInt = Math.floor(end / 32);\n const bits = this.bits;\n for (let i = firstInt; i <= lastInt; i++) {\n const firstBit = i > firstInt ? 0 : start & 0x1F;\n const lastBit = i < lastInt ? 31 : end & 0x1F;\n // Ones from firstBit to lastBit, inclusive\n const mask = (2 << lastBit) - (1 << firstBit) & 0xFFFFFFFF;\n // TYPESCRIPTPORT: & 0xFFFFFFFF added to discard anything after 32 bits, as ES has 53 bits\n // Return false if we're looking for 1s and the masked bits[i] isn't all 1s (is: that,\n // equals the mask, or we're looking for 0s and the masked portion is not all 0s\n if ((bits[i] & mask) !== (value ? mask : 0)) {\n return false;\n }\n }\n return true;\n }\n appendBit(bit) {\n this.ensureCapacity(this.size + 1);\n if (bit) {\n this.bits[Math.floor(this.size / 32)] |= 1 << (this.size & 0x1F);\n }\n this.size++;\n }\n /**\n * Appends the least-significant bits, from value, in order from most-significant to\n * least-significant. For example, appending 6 bits from 0x000001E will append the bits\n * 0, 1, 1, 1, 1, 0 in that order.\n *\n * @param value {@code int} containing bits to append\n * @param numBits bits from value to append\n */\n appendBits(value /*int*/, numBits /*int*/) {\n if (numBits < 0 || numBits > 32) {\n throw new IllegalArgumentException('Num bits must be between 0 and 32');\n }\n this.ensureCapacity(this.size + numBits);\n // const appendBit = this.appendBit;\n for (let numBitsLeft = numBits; numBitsLeft > 0; numBitsLeft--) {\n this.appendBit(((value >> (numBitsLeft - 1)) & 0x01) === 1);\n }\n }\n appendBitArray(other) {\n const otherSize = other.size;\n this.ensureCapacity(this.size + otherSize);\n // const appendBit = this.appendBit;\n for (let i = 0; i < otherSize; i++) {\n this.appendBit(other.get(i));\n }\n }\n xor(other) {\n if (this.size !== other.size) {\n throw new IllegalArgumentException('Sizes don\\'t match');\n }\n const bits = this.bits;\n for (let i = 0, length = bits.length; i < length; i++) {\n // The last int could be incomplete (i.e. not have 32 bits in\n // it) but there is no problem since 0 XOR 0 == 0.\n bits[i] ^= other.bits[i];\n }\n }\n /**\n *\n * @param bitOffset first bit to start writing\n * @param array array to write into. Bytes are written most-significant byte first. This is the opposite\n * of the internal representation, which is exposed by {@link #getBitArray()}\n * @param offset position in array to start writing\n * @param numBytes how many bytes to write\n */\n toBytes(bitOffset /*int*/, array, offset /*int*/, numBytes /*int*/) {\n for (let i = 0; i < numBytes; i++) {\n let theByte = 0;\n for (let j = 0; j < 8; j++) {\n if (this.get(bitOffset)) {\n theByte |= 1 << (7 - j);\n }\n bitOffset++;\n }\n array[offset + i] = /*(byte)*/ theByte;\n }\n }\n /**\n * @return underlying array of ints. The first element holds the first 32 bits, and the least\n * significant bit is bit 0.\n */\n getBitArray() {\n return this.bits;\n }\n /**\n * Reverses all bits in the array.\n */\n reverse() {\n const newBits = new Int32Array(this.bits.length);\n // reverse all int's first\n const len = Math.floor((this.size - 1) / 32);\n const oldBitsLen = len + 1;\n const bits = this.bits;\n for (let i = 0; i < oldBitsLen; i++) {\n let x = bits[i];\n x = ((x >> 1) & 0x55555555) | ((x & 0x55555555) << 1);\n x = ((x >> 2) & 0x33333333) | ((x & 0x33333333) << 2);\n x = ((x >> 4) & 0x0f0f0f0f) | ((x & 0x0f0f0f0f) << 4);\n x = ((x >> 8) & 0x00ff00ff) | ((x & 0x00ff00ff) << 8);\n x = ((x >> 16) & 0x0000ffff) | ((x & 0x0000ffff) << 16);\n newBits[len - i] = /*(int)*/ x;\n }\n // now correct the int's if the bit size isn't a multiple of 32\n if (this.size !== oldBitsLen * 32) {\n const leftOffset = oldBitsLen * 32 - this.size;\n let currentInt = newBits[0] >>> leftOffset;\n for (let i = 1; i < oldBitsLen; i++) {\n const nextInt = newBits[i];\n currentInt |= nextInt << (32 - leftOffset);\n newBits[i - 1] = currentInt;\n currentInt = nextInt >>> leftOffset;\n }\n newBits[oldBitsLen - 1] = currentInt;\n }\n this.bits = newBits;\n }\n static makeArray(size /*int*/) {\n return new Int32Array(Math.floor((size + 31) / 32));\n }\n /*@Override*/\n equals(o) {\n if (!(o instanceof BitArray)) {\n return false;\n }\n const other = o;\n return this.size === other.size && Arrays.equals(this.bits, other.bits);\n }\n /*@Override*/\n hashCode() {\n return 31 * this.size + Arrays.hashCode(this.bits);\n }\n /*@Override*/\n toString() {\n let result = '';\n for (let i = 0, size = this.size; i < size; i++) {\n if ((i & 0x07) === 0) {\n result += ' ';\n }\n result += this.get(i) ? 'X' : '.';\n }\n return result;\n }\n /*@Override*/\n clone() {\n return new BitArray(this.size, this.bits.slice());\n }\n }\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing {*/\n /**\n * Encapsulates a type of hint that a caller may pass to a barcode reader to help it\n * more quickly or accurately decode it. It is up to implementations to decide what,\n * if anything, to do with the information that is supplied.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n * @see Reader#decode(BinaryBitmap,java.util.Map)\n */\n var DecodeHintType;\n (function (DecodeHintType) {\n /**\n * Unspecified, application-specific hint. Maps to an unspecified {@link Object}.\n */\n DecodeHintType[DecodeHintType[\"OTHER\"] = 0] = \"OTHER\"; /*(Object.class)*/\n /**\n * Image is a pure monochrome image of a barcode. Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"PURE_BARCODE\"] = 1] = \"PURE_BARCODE\"; /*(Void.class)*/\n /**\n * Image is known to be of one of a few possible formats.\n * Maps to a {@link List} of {@link BarcodeFormat}s.\n */\n DecodeHintType[DecodeHintType[\"POSSIBLE_FORMATS\"] = 2] = \"POSSIBLE_FORMATS\"; /*(List.class)*/\n /**\n * Spend more time to try to find a barcode; optimize for accuracy, not speed.\n * Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"TRY_HARDER\"] = 3] = \"TRY_HARDER\"; /*(Void.class)*/\n /**\n * Specifies what character encoding to use when decoding, where applicable (type String)\n */\n DecodeHintType[DecodeHintType[\"CHARACTER_SET\"] = 4] = \"CHARACTER_SET\"; /*(String.class)*/\n /**\n * Allowed lengths of encoded data -- reject anything else. Maps to an {@code Int32Array}.\n */\n DecodeHintType[DecodeHintType[\"ALLOWED_LENGTHS\"] = 5] = \"ALLOWED_LENGTHS\"; /*(Int32Array.class)*/\n /**\n * Assume Code 39 codes employ a check digit. Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"ASSUME_CODE_39_CHECK_DIGIT\"] = 6] = \"ASSUME_CODE_39_CHECK_DIGIT\"; /*(Void.class)*/\n /**\n * Assume the barcode is being processed as a GS1 barcode, and modify behavior as needed.\n * For example this affects FNC1 handling for Code 128 (aka GS1-128). Doesn't matter what it maps to;\n * use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"ASSUME_GS1\"] = 7] = \"ASSUME_GS1\"; /*(Void.class)*/\n /**\n * If true, return the start and end digits in a Codabar barcode instead of stripping them. They\n * are alpha, whereas the rest are numeric. By default, they are stripped, but this causes them\n * to not be. Doesn't matter what it maps to; use {@link Boolean#TRUE}.\n */\n DecodeHintType[DecodeHintType[\"RETURN_CODABAR_START_END\"] = 8] = \"RETURN_CODABAR_START_END\"; /*(Void.class)*/\n /**\n * The caller needs to be notified via callback when a possible {@link ResultPoint}\n * is found. Maps to a {@link ResultPointCallback}.\n */\n DecodeHintType[DecodeHintType[\"NEED_RESULT_POINT_CALLBACK\"] = 9] = \"NEED_RESULT_POINT_CALLBACK\"; /*(ResultPointCallback.class)*/\n /**\n * Allowed extension lengths for EAN or UPC barcodes. Other formats will ignore this.\n * Maps to an {@code Int32Array} of the allowed extension lengths, for example [2], [5], or [2, 5].\n * If it is optional to have an extension, do not set this hint. If this is set,\n * and a UPC or EAN barcode is found but an extension is not, then no result will be returned\n * at all.\n */\n DecodeHintType[DecodeHintType[\"ALLOWED_EAN_EXTENSIONS\"] = 10] = \"ALLOWED_EAN_EXTENSIONS\"; /*(Int32Array.class)*/\n // End of enumeration values.\n /**\n * Data type the hint is expecting.\n * Among the possible values the {@link Void} stands out as being used for\n * hints that do not expect a value to be supplied (flag hints). Such hints\n * will possibly have their value ignored, or replaced by a\n * {@link Boolean#TRUE}. Hint suppliers should probably use\n * {@link Boolean#TRUE} as directed by the actual hint documentation.\n */\n // private valueType: Class\n // DecodeHintType(valueType: Class) {\n // this.valueType = valueType\n // }\n // public getValueType(): Class {\n // return valueType\n // }\n })(DecodeHintType || (DecodeHintType = {}));\n var DecodeHintType$1 = DecodeHintType;\n\n /**\n * Custom Error class of type Exception.\n */\n class FormatException extends Exception {\n static getFormatInstance() {\n return new FormatException();\n }\n }\n FormatException.kind = 'FormatException';\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.util.HashMap;*/\n /*import java.util.Map;*/\n var CharacterSetValueIdentifiers;\n (function (CharacterSetValueIdentifiers) {\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp437\"] = 0] = \"Cp437\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_1\"] = 1] = \"ISO8859_1\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_2\"] = 2] = \"ISO8859_2\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_3\"] = 3] = \"ISO8859_3\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_4\"] = 4] = \"ISO8859_4\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_5\"] = 5] = \"ISO8859_5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_6\"] = 6] = \"ISO8859_6\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_7\"] = 7] = \"ISO8859_7\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_8\"] = 8] = \"ISO8859_8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_9\"] = 9] = \"ISO8859_9\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_10\"] = 10] = \"ISO8859_10\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_11\"] = 11] = \"ISO8859_11\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_13\"] = 12] = \"ISO8859_13\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_14\"] = 13] = \"ISO8859_14\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_15\"] = 14] = \"ISO8859_15\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ISO8859_16\"] = 15] = \"ISO8859_16\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"SJIS\"] = 16] = \"SJIS\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1250\"] = 17] = \"Cp1250\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1251\"] = 18] = \"Cp1251\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1252\"] = 19] = \"Cp1252\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Cp1256\"] = 20] = \"Cp1256\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UnicodeBigUnmarked\"] = 21] = \"UnicodeBigUnmarked\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"UTF8\"] = 22] = \"UTF8\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"ASCII\"] = 23] = \"ASCII\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"Big5\"] = 24] = \"Big5\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"GB18030\"] = 25] = \"GB18030\";\n CharacterSetValueIdentifiers[CharacterSetValueIdentifiers[\"EUC_KR\"] = 26] = \"EUC_KR\";\n })(CharacterSetValueIdentifiers || (CharacterSetValueIdentifiers = {}));\n /**\n * Encapsulates a Character Set ECI, according to \"Extended Channel Interpretations\" 5.3.1.1\n * of ISO 18004.\n *\n * @author Sean Owen\n */\n class CharacterSetECI {\n constructor(valueIdentifier, valuesParam, name, ...otherEncodingNames) {\n this.valueIdentifier = valueIdentifier;\n this.name = name;\n if (typeof valuesParam === 'number') {\n this.values = Int32Array.from([valuesParam]);\n }\n else {\n this.values = valuesParam;\n }\n this.otherEncodingNames = otherEncodingNames;\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI.set(valueIdentifier, this);\n CharacterSetECI.NAME_TO_ECI.set(name, this);\n const values = this.values;\n for (let i = 0, length = values.length; i !== length; i++) {\n const v = values[i];\n CharacterSetECI.VALUES_TO_ECI.set(v, this);\n }\n for (const otherName of otherEncodingNames) {\n CharacterSetECI.NAME_TO_ECI.set(otherName, this);\n }\n }\n // CharacterSetECI(value: number /*int*/) {\n // this(new Int32Array {value})\n // }\n // CharacterSetECI(value: number /*int*/, String... otherEncodingNames) {\n // this.values = new Int32Array {value}\n // this.otherEncodingNames = otherEncodingNames\n // }\n // CharacterSetECI(values: Int32Array, String... otherEncodingNames) {\n // this.values = values\n // this.otherEncodingNames = otherEncodingNames\n // }\n getValueIdentifier() {\n return this.valueIdentifier;\n }\n getName() {\n return this.name;\n }\n getValue() {\n return this.values[0];\n }\n /**\n * @param value character set ECI value\n * @return {@code CharacterSetECI} representing ECI of given value, or null if it is legal but\n * unsupported\n * @throws FormatException if ECI value is invalid\n */\n static getCharacterSetECIByValue(value /*int*/) {\n if (value < 0 || value >= 900) {\n throw new FormatException('incorect value');\n }\n const characterSet = CharacterSetECI.VALUES_TO_ECI.get(value);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n }\n /**\n * @param name character set ECI encoding name\n * @return CharacterSetECI representing ECI for character encoding, or null if it is legal\n * but unsupported\n */\n static getCharacterSetECIByName(name) {\n const characterSet = CharacterSetECI.NAME_TO_ECI.get(name);\n if (undefined === characterSet) {\n throw new FormatException('incorect value');\n }\n return characterSet;\n }\n equals(o) {\n if (!(o instanceof CharacterSetECI)) {\n return false;\n }\n const other = o;\n return this.getName() === other.getName();\n }\n }\n CharacterSetECI.VALUE_IDENTIFIER_TO_ECI = new Map();\n CharacterSetECI.VALUES_TO_ECI = new Map();\n CharacterSetECI.NAME_TO_ECI = new Map();\n // Enum name is a Java encoding valid for java.lang and java.io\n // TYPESCRIPTPORT: changed the main label for ISO as the TextEncoder did not recognized them in the form from java\n // (eg ISO8859_1 must be ISO88591 or ISO8859-1 or ISO-8859-1)\n // later on: well, except 16 wich does not work with ISO885916 so used ISO-8859-1 form for default\n CharacterSetECI.Cp437 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp437, Int32Array.from([0, 2]), 'Cp437');\n CharacterSetECI.ISO8859_1 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_1, Int32Array.from([1, 3]), 'ISO-8859-1', 'ISO88591', 'ISO8859_1');\n CharacterSetECI.ISO8859_2 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_2, 4, 'ISO-8859-2', 'ISO88592', 'ISO8859_2');\n CharacterSetECI.ISO8859_3 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_3, 5, 'ISO-8859-3', 'ISO88593', 'ISO8859_3');\n CharacterSetECI.ISO8859_4 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_4, 6, 'ISO-8859-4', 'ISO88594', 'ISO8859_4');\n CharacterSetECI.ISO8859_5 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_5, 7, 'ISO-8859-5', 'ISO88595', 'ISO8859_5');\n CharacterSetECI.ISO8859_6 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_6, 8, 'ISO-8859-6', 'ISO88596', 'ISO8859_6');\n CharacterSetECI.ISO8859_7 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_7, 9, 'ISO-8859-7', 'ISO88597', 'ISO8859_7');\n CharacterSetECI.ISO8859_8 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_8, 10, 'ISO-8859-8', 'ISO88598', 'ISO8859_8');\n CharacterSetECI.ISO8859_9 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_9, 11, 'ISO-8859-9', 'ISO88599', 'ISO8859_9');\n CharacterSetECI.ISO8859_10 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_10, 12, 'ISO-8859-10', 'ISO885910', 'ISO8859_10');\n CharacterSetECI.ISO8859_11 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_11, 13, 'ISO-8859-11', 'ISO885911', 'ISO8859_11');\n CharacterSetECI.ISO8859_13 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_13, 15, 'ISO-8859-13', 'ISO885913', 'ISO8859_13');\n CharacterSetECI.ISO8859_14 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_14, 16, 'ISO-8859-14', 'ISO885914', 'ISO8859_14');\n CharacterSetECI.ISO8859_15 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_15, 17, 'ISO-8859-15', 'ISO885915', 'ISO8859_15');\n CharacterSetECI.ISO8859_16 = new CharacterSetECI(CharacterSetValueIdentifiers.ISO8859_16, 18, 'ISO-8859-16', 'ISO885916', 'ISO8859_16');\n CharacterSetECI.SJIS = new CharacterSetECI(CharacterSetValueIdentifiers.SJIS, 20, 'SJIS', 'Shift_JIS');\n CharacterSetECI.Cp1250 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1250, 21, 'Cp1250', 'windows-1250');\n CharacterSetECI.Cp1251 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1251, 22, 'Cp1251', 'windows-1251');\n CharacterSetECI.Cp1252 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1252, 23, 'Cp1252', 'windows-1252');\n CharacterSetECI.Cp1256 = new CharacterSetECI(CharacterSetValueIdentifiers.Cp1256, 24, 'Cp1256', 'windows-1256');\n CharacterSetECI.UnicodeBigUnmarked = new CharacterSetECI(CharacterSetValueIdentifiers.UnicodeBigUnmarked, 25, 'UnicodeBigUnmarked', 'UTF-16BE', 'UnicodeBig');\n CharacterSetECI.UTF8 = new CharacterSetECI(CharacterSetValueIdentifiers.UTF8, 26, 'UTF8', 'UTF-8');\n CharacterSetECI.ASCII = new CharacterSetECI(CharacterSetValueIdentifiers.ASCII, Int32Array.from([27, 170]), 'ASCII', 'US-ASCII');\n CharacterSetECI.Big5 = new CharacterSetECI(CharacterSetValueIdentifiers.Big5, 28, 'Big5');\n CharacterSetECI.GB18030 = new CharacterSetECI(CharacterSetValueIdentifiers.GB18030, 29, 'GB18030', 'GB2312', 'EUC_CN', 'GBK');\n CharacterSetECI.EUC_KR = new CharacterSetECI(CharacterSetValueIdentifiers.EUC_KR, 30, 'EUC_KR', 'EUC-KR');\n\n /**\n * Custom Error class of type Exception.\n */\n class UnsupportedOperationException extends Exception {\n }\n UnsupportedOperationException.kind = 'UnsupportedOperationException';\n\n /**\n * Responsible for en/decoding strings.\n */\n class StringEncoding {\n /**\n * Decodes some Uint8Array to a string format.\n */\n static decode(bytes, encoding) {\n const encodingName = this.encodingName(encoding);\n if (this.customDecoder) {\n return this.customDecoder(bytes, encodingName);\n }\n // Increases browser support.\n if (typeof TextDecoder === 'undefined' || this.shouldDecodeOnFallback(encodingName)) {\n return this.decodeFallback(bytes, encodingName);\n }\n return new TextDecoder(encodingName).decode(bytes);\n }\n /**\n * Checks if the decoding method should use the fallback for decoding\n * once Node TextDecoder doesn't support all encoding formats.\n *\n * @param encodingName\n */\n static shouldDecodeOnFallback(encodingName) {\n return !StringEncoding.isBrowser() && encodingName === 'ISO-8859-1';\n }\n /**\n * Encodes some string into a Uint8Array.\n */\n static encode(s, encoding) {\n const encodingName = this.encodingName(encoding);\n if (this.customEncoder) {\n return this.customEncoder(s, encodingName);\n }\n // Increases browser support.\n if (typeof TextEncoder === 'undefined') {\n return this.encodeFallback(s);\n }\n // TextEncoder only encodes to UTF8 by default as specified by encoding.spec.whatwg.org\n return new TextEncoder().encode(s);\n }\n static isBrowser() {\n return (typeof window !== 'undefined' && {}.toString.call(window) === '[object Window]');\n }\n /**\n * Returns the string value from some encoding character set.\n */\n static encodingName(encoding) {\n return typeof encoding === 'string'\n ? encoding\n : encoding.getName();\n }\n /**\n * Returns character set from some encoding character set.\n */\n static encodingCharacterSet(encoding) {\n if (encoding instanceof CharacterSetECI) {\n return encoding;\n }\n return CharacterSetECI.getCharacterSetECIByName(encoding);\n }\n /**\n * Runs a fallback for the native decoding funcion.\n */\n static decodeFallback(bytes, encoding) {\n const characterSet = this.encodingCharacterSet(encoding);\n if (StringEncoding.isDecodeFallbackSupported(characterSet)) {\n let s = '';\n for (let i = 0, length = bytes.length; i < length; i++) {\n let h = bytes[i].toString(16);\n if (h.length < 2) {\n h = '0' + h;\n }\n s += '%' + h;\n }\n return decodeURIComponent(s);\n }\n if (characterSet.equals(CharacterSetECI.UnicodeBigUnmarked)) {\n return String.fromCharCode.apply(null, new Uint16Array(bytes.buffer));\n }\n throw new UnsupportedOperationException(`Encoding ${this.encodingName(encoding)} not supported by fallback.`);\n }\n static isDecodeFallbackSupported(characterSet) {\n return characterSet.equals(CharacterSetECI.UTF8) ||\n characterSet.equals(CharacterSetECI.ISO8859_1) ||\n characterSet.equals(CharacterSetECI.ASCII);\n }\n /**\n * Runs a fallback for the native encoding funcion.\n *\n * @see https://stackoverflow.com/a/17192845/4367683\n */\n static encodeFallback(s) {\n const encodedURIstring = btoa(unescape(encodeURIComponent(s)));\n const charList = encodedURIstring.split('');\n const uintArray = [];\n for (let i = 0; i < charList.length; i++) {\n uintArray.push(charList[i].charCodeAt(0));\n }\n return new Uint8Array(uintArray);\n }\n }\n\n /*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * Common string-related functions.\n *\n * @author Sean Owen\n * @author Alex Dupre\n */\n class StringUtils {\n // SHIFT_JIS.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING) ||\n // EUC_JP.equalsIgnoreCase(PLATFORM_DEFAULT_ENCODING);\n static castAsNonUtf8Char(code, encoding = null) {\n // ISO 8859-1 is the Java default as UTF-8 is JavaScripts\n // you can see this method as a Java version of String.fromCharCode\n const e = encoding ? encoding.getName() : this.ISO88591;\n // use passed format (fromCharCode will return UTF8 encoding)\n return StringEncoding.decode(new Uint8Array([code]), e);\n }\n /**\n * @param bytes bytes encoding a string, whose encoding should be guessed\n * @param hints decode hints if applicable\n * @return name of guessed encoding; at the moment will only guess one of:\n * {@link #SHIFT_JIS}, {@link #UTF8}, {@link #ISO88591}, or the platform\n * default encoding if none of these can possibly be correct\n */\n static guessEncoding(bytes, hints) {\n if (hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType$1.CHARACTER_SET)) {\n return hints.get(DecodeHintType$1.CHARACTER_SET).toString();\n }\n // For now, merely tries to distinguish ISO-8859-1, UTF-8 and Shift_JIS,\n // which should be by far the most common encodings.\n const length = bytes.length;\n let canBeISO88591 = true;\n let canBeShiftJIS = true;\n let canBeUTF8 = true;\n let utf8BytesLeft = 0;\n // int utf8LowChars = 0\n let utf2BytesChars = 0;\n let utf3BytesChars = 0;\n let utf4BytesChars = 0;\n let sjisBytesLeft = 0;\n // int sjisLowChars = 0\n let sjisKatakanaChars = 0;\n // int sjisDoubleBytesChars = 0\n let sjisCurKatakanaWordLength = 0;\n let sjisCurDoubleBytesWordLength = 0;\n let sjisMaxKatakanaWordLength = 0;\n let sjisMaxDoubleBytesWordLength = 0;\n // int isoLowChars = 0\n // int isoHighChars = 0\n let isoHighOther = 0;\n const utf8bom = bytes.length > 3 &&\n bytes[0] === /*(byte) */ 0xEF &&\n bytes[1] === /*(byte) */ 0xBB &&\n bytes[2] === /*(byte) */ 0xBF;\n for (let i = 0; i < length && (canBeISO88591 || canBeShiftJIS || canBeUTF8); i++) {\n const value = bytes[i] & 0xFF;\n // UTF-8 stuff\n if (canBeUTF8) {\n if (utf8BytesLeft > 0) {\n if ((value & 0x80) === 0) {\n canBeUTF8 = false;\n }\n else {\n utf8BytesLeft--;\n }\n }\n else if ((value & 0x80) !== 0) {\n if ((value & 0x40) === 0) {\n canBeUTF8 = false;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x20) === 0) {\n utf2BytesChars++;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x10) === 0) {\n utf3BytesChars++;\n }\n else {\n utf8BytesLeft++;\n if ((value & 0x08) === 0) {\n utf4BytesChars++;\n }\n else {\n canBeUTF8 = false;\n }\n }\n }\n }\n } // else {\n // utf8LowChars++\n // }\n }\n // ISO-8859-1 stuff\n if (canBeISO88591) {\n if (value > 0x7F && value < 0xA0) {\n canBeISO88591 = false;\n }\n else if (value > 0x9F) {\n if (value < 0xC0 || value === 0xD7 || value === 0xF7) {\n isoHighOther++;\n } // else {\n // isoHighChars++\n // }\n } // else {\n // isoLowChars++\n // }\n }\n // Shift_JIS stuff\n if (canBeShiftJIS) {\n if (sjisBytesLeft > 0) {\n if (value < 0x40 || value === 0x7F || value > 0xFC) {\n canBeShiftJIS = false;\n }\n else {\n sjisBytesLeft--;\n }\n }\n else if (value === 0x80 || value === 0xA0 || value > 0xEF) {\n canBeShiftJIS = false;\n }\n else if (value > 0xA0 && value < 0xE0) {\n sjisKatakanaChars++;\n sjisCurDoubleBytesWordLength = 0;\n sjisCurKatakanaWordLength++;\n if (sjisCurKatakanaWordLength > sjisMaxKatakanaWordLength) {\n sjisMaxKatakanaWordLength = sjisCurKatakanaWordLength;\n }\n }\n else if (value > 0x7F) {\n sjisBytesLeft++;\n // sjisDoubleBytesChars++\n sjisCurKatakanaWordLength = 0;\n sjisCurDoubleBytesWordLength++;\n if (sjisCurDoubleBytesWordLength > sjisMaxDoubleBytesWordLength) {\n sjisMaxDoubleBytesWordLength = sjisCurDoubleBytesWordLength;\n }\n }\n else {\n // sjisLowChars++\n sjisCurKatakanaWordLength = 0;\n sjisCurDoubleBytesWordLength = 0;\n }\n }\n }\n if (canBeUTF8 && utf8BytesLeft > 0) {\n canBeUTF8 = false;\n }\n if (canBeShiftJIS && sjisBytesLeft > 0) {\n canBeShiftJIS = false;\n }\n // Easy -- if there is BOM or at least 1 valid not-single byte character (and no evidence it can't be UTF-8), done\n if (canBeUTF8 && (utf8bom || utf2BytesChars + utf3BytesChars + utf4BytesChars > 0)) {\n return StringUtils.UTF8;\n }\n // Easy -- if assuming Shift_JIS or at least 3 valid consecutive not-ascii characters (and no evidence it can't be), done\n if (canBeShiftJIS && (StringUtils.ASSUME_SHIFT_JIS || sjisMaxKatakanaWordLength >= 3 || sjisMaxDoubleBytesWordLength >= 3)) {\n return StringUtils.SHIFT_JIS;\n }\n // Distinguishing Shift_JIS and ISO-8859-1 can be a little tough for short words. The crude heuristic is:\n // - If we saw\n // - only two consecutive katakana chars in the whole text, or\n // - at least 10% of bytes that could be \"upper\" not-alphanumeric Latin1,\n // - then we conclude Shift_JIS, else ISO-8859-1\n if (canBeISO88591 && canBeShiftJIS) {\n return (sjisMaxKatakanaWordLength === 2 && sjisKatakanaChars === 2) || isoHighOther * 10 >= length\n ? StringUtils.SHIFT_JIS : StringUtils.ISO88591;\n }\n // Otherwise, try in order ISO-8859-1, Shift JIS, UTF-8 and fall back to default platform encoding\n if (canBeISO88591) {\n return StringUtils.ISO88591;\n }\n if (canBeShiftJIS) {\n return StringUtils.SHIFT_JIS;\n }\n if (canBeUTF8) {\n return StringUtils.UTF8;\n }\n // Otherwise, we take a wild guess with platform encoding\n return StringUtils.PLATFORM_DEFAULT_ENCODING;\n }\n /**\n *\n * @see https://stackoverflow.com/a/13439711/4367683\n *\n * @param append The new string to append.\n * @param args Argumets values to be formated.\n */\n static format(append, ...args) {\n let i = -1;\n function callback(exp, p0, p1, p2, p3, p4) {\n if (exp === '%%')\n return '%';\n if (args[++i] === undefined)\n return undefined;\n exp = p2 ? parseInt(p2.substr(1)) : undefined;\n let base = p3 ? parseInt(p3.substr(1)) : undefined;\n let val;\n switch (p4) {\n case 's':\n val = args[i];\n break;\n case 'c':\n val = args[i][0];\n break;\n case 'f':\n val = parseFloat(args[i]).toFixed(exp);\n break;\n case 'p':\n val = parseFloat(args[i]).toPrecision(exp);\n break;\n case 'e':\n val = parseFloat(args[i]).toExponential(exp);\n break;\n case 'x':\n val = parseInt(args[i]).toString(base ? base : 16);\n break;\n case 'd':\n val = parseFloat(parseInt(args[i], base ? base : 10).toPrecision(exp)).toFixed(0);\n break;\n }\n val = typeof val === 'object' ? JSON.stringify(val) : (+val).toString(base);\n let size = parseInt(p1); /* padding size */\n let ch = p1 && (p1[0] + '') === '0' ? '0' : ' '; /* isnull? */\n while (val.length < size)\n val = p0 !== undefined ? val + ch : ch + val; /* isminus? */\n return val;\n }\n let regex = /%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;\n return append.replace(regex, callback);\n }\n /**\n *\n */\n static getBytes(str, encoding) {\n return StringEncoding.encode(str, encoding);\n }\n /**\n * Returns the charcode at the specified index or at index zero.\n */\n static getCharCode(str, index = 0) {\n return str.charCodeAt(index);\n }\n /**\n * Returns char for given charcode\n */\n static getCharAt(charCode) {\n return String.fromCharCode(charCode);\n }\n }\n StringUtils.SHIFT_JIS = CharacterSetECI.SJIS.getName(); // \"SJIS\"\n StringUtils.GB2312 = 'GB2312';\n StringUtils.ISO88591 = CharacterSetECI.ISO8859_1.getName(); // \"ISO8859_1\"\n StringUtils.EUC_JP = 'EUC_JP';\n StringUtils.UTF8 = CharacterSetECI.UTF8.getName(); // \"UTF8\"\n StringUtils.PLATFORM_DEFAULT_ENCODING = StringUtils.UTF8; // \"UTF8\"//Charset.defaultCharset().name()\n StringUtils.ASSUME_SHIFT_JIS = false;\n\n class StringBuilder {\n constructor(value = '') {\n this.value = value;\n }\n enableDecoding(encoding) {\n this.encoding = encoding;\n return this;\n }\n append(s) {\n if (typeof s === 'string') {\n this.value += s.toString();\n }\n else if (this.encoding) {\n // use passed format (fromCharCode will return UTF8 encoding)\n this.value += StringUtils.castAsNonUtf8Char(s, this.encoding);\n }\n else {\n // correctly converts from UTF-8, but not other encodings\n this.value += String.fromCharCode(s);\n }\n return this;\n }\n appendChars(str, offset, len) {\n for (let i = offset; offset < offset + len; i++) {\n this.append(str[i]);\n }\n return this;\n }\n length() {\n return this.value.length;\n }\n charAt(n) {\n return this.value.charAt(n);\n }\n deleteCharAt(n) {\n this.value = this.value.substr(0, n) + this.value.substring(n + 1);\n }\n setCharAt(n, c) {\n this.value = this.value.substr(0, n) + c + this.value.substr(n + 1);\n }\n substring(start, end) {\n return this.value.substring(start, end);\n }\n /**\n * @note helper method for RSS Expanded\n */\n setLengthToZero() {\n this.value = '';\n }\n toString() {\n return this.value;\n }\n insert(n, c) {\n this.value = this.value.substr(0, n) + c + this.value.substr(n + c.length);\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Represents a 2D matrix of bits. In function arguments below, and throughout the common\n * module, x is the column position, and y is the row position. The ordering is always x, y.\n * The origin is at the top-left.

\n *\n *

Internally the bits are represented in a 1-D array of 32-bit ints. However, each row begins\n * with a new int. This is done intentionally so that we can copy out a row into a BitArray very\n * efficiently.

\n *\n *

The ordering of bits is row-major. Within each int, the least significant bits are used first,\n * meaning they represent lower x values. This is compatible with BitArray's implementation.

\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class BitMatrix /*implements Cloneable*/ {\n /**\n * Creates an empty square {@link BitMatrix}.\n *\n * @param dimension height and width\n */\n // public constructor(dimension: number /*int*/) {\n // this(dimension, dimension)\n // }\n /**\n * Creates an empty {@link BitMatrix}.\n *\n * @param width bit matrix width\n * @param height bit matrix height\n */\n // public constructor(width: number /*int*/, height: number /*int*/) {\n // if (width < 1 || height < 1) {\n // throw new IllegalArgumentException(\"Both dimensions must be greater than 0\")\n // }\n // this.width = width\n // this.height = height\n // this.rowSize = (width + 31) / 32\n // bits = new int[rowSize * height];\n // }\n constructor(width /*int*/, height /*int*/, rowSize /*int*/, bits) {\n this.width = width;\n this.height = height;\n this.rowSize = rowSize;\n this.bits = bits;\n if (undefined === height || null === height) {\n height = width;\n }\n this.height = height;\n if (width < 1 || height < 1) {\n throw new IllegalArgumentException('Both dimensions must be greater than 0');\n }\n if (undefined === rowSize || null === rowSize) {\n rowSize = Math.floor((width + 31) / 32);\n }\n this.rowSize = rowSize;\n if (undefined === bits || null === bits) {\n this.bits = new Int32Array(this.rowSize * this.height);\n }\n }\n /**\n * Interprets a 2D array of booleans as a {@link BitMatrix}, where \"true\" means an \"on\" bit.\n *\n * @function parse\n * @param image bits of the image, as a row-major 2D array. Elements are arrays representing rows\n * @return {@link BitMatrix} representation of image\n */\n static parseFromBooleanArray(image) {\n const height = image.length;\n const width = image[0].length;\n const bits = new BitMatrix(width, height);\n for (let i = 0; i < height; i++) {\n const imageI = image[i];\n for (let j = 0; j < width; j++) {\n if (imageI[j]) {\n bits.set(j, i);\n }\n }\n }\n return bits;\n }\n /**\n *\n * @function parse\n * @param stringRepresentation\n * @param setString\n * @param unsetString\n */\n static parseFromString(stringRepresentation, setString, unsetString) {\n if (stringRepresentation === null) {\n throw new IllegalArgumentException('stringRepresentation cannot be null');\n }\n const bits = new Array(stringRepresentation.length);\n let bitsPos = 0;\n let rowStartPos = 0;\n let rowLength = -1;\n let nRows = 0;\n let pos = 0;\n while (pos < stringRepresentation.length) {\n if (stringRepresentation.charAt(pos) === '\\n' ||\n stringRepresentation.charAt(pos) === '\\r') {\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n rowStartPos = bitsPos;\n nRows++;\n }\n pos++;\n }\n else if (stringRepresentation.substring(pos, pos + setString.length) === setString) {\n pos += setString.length;\n bits[bitsPos] = true;\n bitsPos++;\n }\n else if (stringRepresentation.substring(pos, pos + unsetString.length) === unsetString) {\n pos += unsetString.length;\n bits[bitsPos] = false;\n bitsPos++;\n }\n else {\n throw new IllegalArgumentException('illegal character encountered: ' + stringRepresentation.substring(pos));\n }\n }\n // no EOL at end?\n if (bitsPos > rowStartPos) {\n if (rowLength === -1) {\n rowLength = bitsPos - rowStartPos;\n }\n else if (bitsPos - rowStartPos !== rowLength) {\n throw new IllegalArgumentException('row lengths do not match');\n }\n nRows++;\n }\n const matrix = new BitMatrix(rowLength, nRows);\n for (let i = 0; i < bitsPos; i++) {\n if (bits[i]) {\n matrix.set(Math.floor(i % rowLength), Math.floor(i / rowLength));\n }\n }\n return matrix;\n }\n /**\n *

Gets the requested bit, where true means black.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n * @return value of given bit in matrix\n */\n get(x /*int*/, y /*int*/) {\n const offset = y * this.rowSize + Math.floor(x / 32);\n return ((this.bits[offset] >>> (x & 0x1f)) & 1) !== 0;\n }\n /**\n *

Sets the given bit to true.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n set(x /*int*/, y /*int*/) {\n const offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] |= (1 << (x & 0x1f)) & 0xFFFFFFFF;\n }\n unset(x /*int*/, y /*int*/) {\n const offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] &= ~((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n /**\n *

Flips the given bit.

\n *\n * @param x The horizontal component (i.e. which column)\n * @param y The vertical component (i.e. which row)\n */\n flip(x /*int*/, y /*int*/) {\n const offset = y * this.rowSize + Math.floor(x / 32);\n this.bits[offset] ^= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n /**\n * Exclusive-or (XOR): Flip the bit in this {@code BitMatrix} if the corresponding\n * mask bit is set.\n *\n * @param mask XOR mask\n */\n xor(mask) {\n if (this.width !== mask.getWidth() || this.height !== mask.getHeight()\n || this.rowSize !== mask.getRowSize()) {\n throw new IllegalArgumentException('input matrix dimensions do not match');\n }\n const rowArray = new BitArray(Math.floor(this.width / 32) + 1);\n const rowSize = this.rowSize;\n const bits = this.bits;\n for (let y = 0, height = this.height; y < height; y++) {\n const offset = y * rowSize;\n const row = mask.getRow(y, rowArray).getBitArray();\n for (let x = 0; x < rowSize; x++) {\n bits[offset + x] ^= row[x];\n }\n }\n }\n /**\n * Clears all bits (sets to false).\n */\n clear() {\n const bits = this.bits;\n const max = bits.length;\n for (let i = 0; i < max; i++) {\n bits[i] = 0;\n }\n }\n /**\n *

Sets a square region of the bit matrix to true.

\n *\n * @param left The horizontal position to begin at (inclusive)\n * @param top The vertical position to begin at (inclusive)\n * @param width The width of the region\n * @param height The height of the region\n */\n setRegion(left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n if (top < 0 || left < 0) {\n throw new IllegalArgumentException('Left and top must be nonnegative');\n }\n if (height < 1 || width < 1) {\n throw new IllegalArgumentException('Height and width must be at least 1');\n }\n const right = left + width;\n const bottom = top + height;\n if (bottom > this.height || right > this.width) {\n throw new IllegalArgumentException('The region must fit inside the matrix');\n }\n const rowSize = this.rowSize;\n const bits = this.bits;\n for (let y = top; y < bottom; y++) {\n const offset = y * rowSize;\n for (let x = left; x < right; x++) {\n bits[offset + Math.floor(x / 32)] |= ((1 << (x & 0x1f)) & 0xFFFFFFFF);\n }\n }\n }\n /**\n * A fast method to retrieve one row of data from the matrix as a BitArray.\n *\n * @param y The row to retrieve\n * @param row An optional caller-allocated BitArray, will be allocated if null or too small\n * @return The resulting BitArray - this reference should always be used even when passing\n * your own row\n */\n getRow(y /*int*/, row) {\n if (row === null || row === undefined || row.getSize() < this.width) {\n row = new BitArray(this.width);\n }\n else {\n row.clear();\n }\n const rowSize = this.rowSize;\n const bits = this.bits;\n const offset = y * rowSize;\n for (let x = 0; x < rowSize; x++) {\n row.setBulk(x * 32, bits[offset + x]);\n }\n return row;\n }\n /**\n * @param y row to set\n * @param row {@link BitArray} to copy from\n */\n setRow(y /*int*/, row) {\n System.arraycopy(row.getBitArray(), 0, this.bits, y * this.rowSize, this.rowSize);\n }\n /**\n * Modifies this {@code BitMatrix} to represent the same but rotated 180 degrees\n */\n rotate180() {\n const width = this.getWidth();\n const height = this.getHeight();\n let topRow = new BitArray(width);\n let bottomRow = new BitArray(width);\n for (let i = 0, length = Math.floor((height + 1) / 2); i < length; i++) {\n topRow = this.getRow(i, topRow);\n bottomRow = this.getRow(height - 1 - i, bottomRow);\n topRow.reverse();\n bottomRow.reverse();\n this.setRow(i, bottomRow);\n this.setRow(height - 1 - i, topRow);\n }\n }\n /**\n * This is useful in detecting the enclosing rectangle of a 'pure' barcode.\n *\n * @return {@code left,top,width,height} enclosing rectangle of all 1 bits, or null if it is all white\n */\n getEnclosingRectangle() {\n const width = this.width;\n const height = this.height;\n const rowSize = this.rowSize;\n const bits = this.bits;\n let left = width;\n let top = height;\n let right = -1;\n let bottom = -1;\n for (let y = 0; y < height; y++) {\n for (let x32 = 0; x32 < rowSize; x32++) {\n const theBits = bits[y * rowSize + x32];\n if (theBits !== 0) {\n if (y < top) {\n top = y;\n }\n if (y > bottom) {\n bottom = y;\n }\n if (x32 * 32 < left) {\n let bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n if ((x32 * 32 + bit) < left) {\n left = x32 * 32 + bit;\n }\n }\n if (x32 * 32 + 31 > right) {\n let bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n if ((x32 * 32 + bit) > right) {\n right = x32 * 32 + bit;\n }\n }\n }\n }\n }\n if (right < left || bottom < top) {\n return null;\n }\n return Int32Array.from([left, top, right - left + 1, bottom - top + 1]);\n }\n /**\n * This is useful in detecting a corner of a 'pure' barcode.\n *\n * @return {@code x,y} coordinate of top-left-most 1 bit, or null if it is all white\n */\n getTopLeftOnBit() {\n const rowSize = this.rowSize;\n const bits = this.bits;\n let bitsOffset = 0;\n while (bitsOffset < bits.length && bits[bitsOffset] === 0) {\n bitsOffset++;\n }\n if (bitsOffset === bits.length) {\n return null;\n }\n const y = bitsOffset / rowSize;\n let x = (bitsOffset % rowSize) * 32;\n const theBits = bits[bitsOffset];\n let bit = 0;\n while (((theBits << (31 - bit)) & 0xFFFFFFFF) === 0) {\n bit++;\n }\n x += bit;\n return Int32Array.from([x, y]);\n }\n getBottomRightOnBit() {\n const rowSize = this.rowSize;\n const bits = this.bits;\n let bitsOffset = bits.length - 1;\n while (bitsOffset >= 0 && bits[bitsOffset] === 0) {\n bitsOffset--;\n }\n if (bitsOffset < 0) {\n return null;\n }\n const y = Math.floor(bitsOffset / rowSize);\n let x = Math.floor(bitsOffset % rowSize) * 32;\n const theBits = bits[bitsOffset];\n let bit = 31;\n while ((theBits >>> bit) === 0) {\n bit--;\n }\n x += bit;\n return Int32Array.from([x, y]);\n }\n /**\n * @return The width of the matrix\n */\n getWidth() {\n return this.width;\n }\n /**\n * @return The height of the matrix\n */\n getHeight() {\n return this.height;\n }\n /**\n * @return The row size of the matrix\n */\n getRowSize() {\n return this.rowSize;\n }\n /*@Override*/\n equals(o) {\n if (!(o instanceof BitMatrix)) {\n return false;\n }\n const other = o;\n return this.width === other.width && this.height === other.height && this.rowSize === other.rowSize &&\n Arrays.equals(this.bits, other.bits);\n }\n /*@Override*/\n hashCode() {\n let hash = this.width;\n hash = 31 * hash + this.width;\n hash = 31 * hash + this.height;\n hash = 31 * hash + this.rowSize;\n hash = 31 * hash + Arrays.hashCode(this.bits);\n return hash;\n }\n /**\n * @return string representation using \"X\" for set and \" \" for unset bits\n */\n /*@Override*/\n // public toString(): string {\n // return toString(\": \"X, \" \")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @return string representation of entire matrix utilizing given strings\n */\n // public toString(setString: string = \"X \", unsetString: string = \" \"): string {\n // return this.buildToString(setString, unsetString, \"\\n\")\n // }\n /**\n * @param setString representation of a set bit\n * @param unsetString representation of an unset bit\n * @param lineSeparator newline character in string representation\n * @return string representation of entire matrix utilizing given strings and line separator\n * @deprecated call {@link #toString(String,String)} only, which uses \\n line separator always\n */\n // @Deprecated\n toString(setString = 'X ', unsetString = ' ', lineSeparator = '\\n') {\n return this.buildToString(setString, unsetString, lineSeparator);\n }\n buildToString(setString, unsetString, lineSeparator) {\n let result = new StringBuilder();\n // result.append(lineSeparator);\n for (let y = 0, height = this.height; y < height; y++) {\n for (let x = 0, width = this.width; x < width; x++) {\n result.append(this.get(x, y) ? setString : unsetString);\n }\n result.append(lineSeparator);\n }\n return result.toString();\n }\n /*@Override*/\n clone() {\n return new BitMatrix(this.width, this.height, this.rowSize, this.bits.slice());\n }\n }\n\n /**\n * Custom Error class of type Exception.\n */\n class NotFoundException extends Exception {\n static getNotFoundInstance() {\n return new NotFoundException();\n }\n }\n NotFoundException.kind = 'NotFoundException';\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * This Binarizer implementation uses the old ZXing global histogram approach. It is suitable\n * for low-end mobile devices which don't have enough CPU or memory to use a local thresholding\n * algorithm. However, because it picks a global black point, it cannot handle difficult shadows\n * and gradients.\n *\n * Faster mobile devices and all desktop applications should probably use HybridBinarizer instead.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\n class GlobalHistogramBinarizer extends Binarizer {\n constructor(source) {\n super(source);\n this.luminances = GlobalHistogramBinarizer.EMPTY;\n this.buckets = new Int32Array(GlobalHistogramBinarizer.LUMINANCE_BUCKETS);\n }\n // Applies simple sharpening to the row data to improve performance of the 1D Readers.\n /*@Override*/\n getBlackRow(y /*int*/, row) {\n const source = this.getLuminanceSource();\n const width = source.getWidth();\n if (row === undefined || row === null || row.getSize() < width) {\n row = new BitArray(width);\n }\n else {\n row.clear();\n }\n this.initArrays(width);\n const localLuminances = source.getRow(y, this.luminances);\n const localBuckets = this.buckets;\n for (let x = 0; x < width; x++) {\n localBuckets[(localLuminances[x] & 0xff) >> GlobalHistogramBinarizer.LUMINANCE_SHIFT]++;\n }\n const blackPoint = GlobalHistogramBinarizer.estimateBlackPoint(localBuckets);\n if (width < 3) {\n // Special case for very small images\n for (let x = 0; x < width; x++) {\n if ((localLuminances[x] & 0xff) < blackPoint) {\n row.set(x);\n }\n }\n }\n else {\n let left = localLuminances[0] & 0xff;\n let center = localLuminances[1] & 0xff;\n for (let x = 1; x < width - 1; x++) {\n const right = localLuminances[x + 1] & 0xff;\n // A simple -1 4 -1 box filter with a weight of 2.\n if (((center * 4) - left - right) / 2 < blackPoint) {\n row.set(x);\n }\n left = center;\n center = right;\n }\n }\n return row;\n }\n // Does not sharpen the data, as this call is intended to only be used by 2D Readers.\n /*@Override*/\n getBlackMatrix() {\n const source = this.getLuminanceSource();\n const width = source.getWidth();\n const height = source.getHeight();\n const matrix = new BitMatrix(width, height);\n // Quickly calculates the histogram by sampling four rows from the image. This proved to be\n // more robust on the blackbox tests than sampling a diagonal as we used to do.\n this.initArrays(width);\n const localBuckets = this.buckets;\n for (let y = 1; y < 5; y++) {\n const row = Math.floor((height * y) / 5);\n const localLuminances = source.getRow(row, this.luminances);\n const right = Math.floor((width * 4) / 5);\n for (let x = Math.floor(width / 5); x < right; x++) {\n const pixel = localLuminances[x] & 0xff;\n localBuckets[pixel >> GlobalHistogramBinarizer.LUMINANCE_SHIFT]++;\n }\n }\n const blackPoint = GlobalHistogramBinarizer.estimateBlackPoint(localBuckets);\n // We delay reading the entire image luminance until the black point estimation succeeds.\n // Although we end up reading four rows twice, it is consistent with our motto of\n // \"fail quickly\" which is necessary for continuous scanning.\n const localLuminances = source.getMatrix();\n for (let y = 0; y < height; y++) {\n const offset = y * width;\n for (let x = 0; x < width; x++) {\n const pixel = localLuminances[offset + x] & 0xff;\n if (pixel < blackPoint) {\n matrix.set(x, y);\n }\n }\n }\n return matrix;\n }\n /*@Override*/\n createBinarizer(source) {\n return new GlobalHistogramBinarizer(source);\n }\n initArrays(luminanceSize /*int*/) {\n if (this.luminances.length < luminanceSize) {\n this.luminances = new Uint8ClampedArray(luminanceSize);\n }\n const buckets = this.buckets;\n for (let x = 0; x < GlobalHistogramBinarizer.LUMINANCE_BUCKETS; x++) {\n buckets[x] = 0;\n }\n }\n static estimateBlackPoint(buckets) {\n // Find the tallest peak in the histogram.\n const numBuckets = buckets.length;\n let maxBucketCount = 0;\n let firstPeak = 0;\n let firstPeakSize = 0;\n for (let x = 0; x < numBuckets; x++) {\n if (buckets[x] > firstPeakSize) {\n firstPeak = x;\n firstPeakSize = buckets[x];\n }\n if (buckets[x] > maxBucketCount) {\n maxBucketCount = buckets[x];\n }\n }\n // Find the second-tallest peak which is somewhat far from the tallest peak.\n let secondPeak = 0;\n let secondPeakScore = 0;\n for (let x = 0; x < numBuckets; x++) {\n const distanceToBiggest = x - firstPeak;\n // Encourage more distant second peaks by multiplying by square of distance.\n const score = buckets[x] * distanceToBiggest * distanceToBiggest;\n if (score > secondPeakScore) {\n secondPeak = x;\n secondPeakScore = score;\n }\n }\n // Make sure firstPeak corresponds to the black peak.\n if (firstPeak > secondPeak) {\n const temp = firstPeak;\n firstPeak = secondPeak;\n secondPeak = temp;\n }\n // If there is too little contrast in the image to pick a meaningful black point, throw rather\n // than waste time trying to decode the image, and risk false positives.\n if (secondPeak - firstPeak <= numBuckets / 16) {\n throw new NotFoundException();\n }\n // Find a valley between them that is low and closer to the white peak.\n let bestValley = secondPeak - 1;\n let bestValleyScore = -1;\n for (let x = secondPeak - 1; x > firstPeak; x--) {\n const fromFirst = x - firstPeak;\n const score = fromFirst * fromFirst * (secondPeak - x) * (maxBucketCount - buckets[x]);\n if (score > bestValleyScore) {\n bestValley = x;\n bestValleyScore = score;\n }\n }\n return bestValley << GlobalHistogramBinarizer.LUMINANCE_SHIFT;\n }\n }\n GlobalHistogramBinarizer.LUMINANCE_BITS = 5;\n GlobalHistogramBinarizer.LUMINANCE_SHIFT = 8 - GlobalHistogramBinarizer.LUMINANCE_BITS;\n GlobalHistogramBinarizer.LUMINANCE_BUCKETS = 1 << GlobalHistogramBinarizer.LUMINANCE_BITS;\n GlobalHistogramBinarizer.EMPTY = Uint8ClampedArray.from([0]);\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * This class implements a local thresholding algorithm, which while slower than the\n * GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for\n * high frequency images of barcodes with black data on white backgrounds. For this application,\n * it does a much better job than a global blackpoint with severe shadows and gradients.\n * However it tends to produce artifacts on lower frequency images and is therefore not\n * a good general purpose binarizer for uses outside ZXing.\n *\n * This class extends GlobalHistogramBinarizer, using the older histogram approach for 1D readers,\n * and the newer local approach for 2D readers. 1D decoding using a per-row histogram is already\n * inherently local, and only fails for horizontal gradients. We can revisit that problem later,\n * but for now it was not a win to use local blocks for 1D.\n *\n * This Binarizer is the default for the unit tests and the recommended class for library users.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class HybridBinarizer extends GlobalHistogramBinarizer {\n constructor(source) {\n super(source);\n this.matrix = null;\n }\n /**\n * Calculates the final BitMatrix once for all requests. This could be called once from the\n * constructor instead, but there are some advantages to doing it lazily, such as making\n * profiling easier, and not doing heavy lifting when callers don't expect it.\n */\n /*@Override*/\n getBlackMatrix() {\n if (this.matrix !== null) {\n return this.matrix;\n }\n const source = this.getLuminanceSource();\n const width = source.getWidth();\n const height = source.getHeight();\n if (width >= HybridBinarizer.MINIMUM_DIMENSION && height >= HybridBinarizer.MINIMUM_DIMENSION) {\n const luminances = source.getMatrix();\n let subWidth = width >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((width & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subWidth++;\n }\n let subHeight = height >> HybridBinarizer.BLOCK_SIZE_POWER;\n if ((height & HybridBinarizer.BLOCK_SIZE_MASK) !== 0) {\n subHeight++;\n }\n const blackPoints = HybridBinarizer.calculateBlackPoints(luminances, subWidth, subHeight, width, height);\n const newMatrix = new BitMatrix(width, height);\n HybridBinarizer.calculateThresholdForBlock(luminances, subWidth, subHeight, width, height, blackPoints, newMatrix);\n this.matrix = newMatrix;\n }\n else {\n // If the image is too small, fall back to the global histogram approach.\n this.matrix = super.getBlackMatrix();\n }\n return this.matrix;\n }\n /*@Override*/\n createBinarizer(source) {\n return new HybridBinarizer(source);\n }\n /**\n * For each block in the image, calculate the average black point using a 5x5 grid\n * of the blocks around it. Also handles the corner cases (fractional blocks are computed based\n * on the last pixels in the row/column which are also used in the previous block).\n */\n static calculateThresholdForBlock(luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/, blackPoints, matrix) {\n const maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n const maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n for (let y = 0; y < subHeight; y++) {\n let yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n const top = HybridBinarizer.cap(y, 2, subHeight - 3);\n for (let x = 0; x < subWidth; x++) {\n let xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n const left = HybridBinarizer.cap(x, 2, subWidth - 3);\n let sum = 0;\n for (let z = -2; z <= 2; z++) {\n const blackRow = blackPoints[top + z];\n sum += blackRow[left - 2] + blackRow[left - 1] + blackRow[left] + blackRow[left + 1] + blackRow[left + 2];\n }\n const average = sum / 25;\n HybridBinarizer.thresholdBlock(luminances, xoffset, yoffset, average, width, matrix);\n }\n }\n }\n static cap(value /*int*/, min /*int*/, max /*int*/) {\n return value < min ? min : value > max ? max : value;\n }\n /**\n * Applies a single threshold to a block of pixels.\n */\n static thresholdBlock(luminances, xoffset /*int*/, yoffset /*int*/, threshold /*int*/, stride /*int*/, matrix) {\n for (let y = 0, offset = yoffset * stride + xoffset; y < HybridBinarizer.BLOCK_SIZE; y++, offset += stride) {\n for (let x = 0; x < HybridBinarizer.BLOCK_SIZE; x++) {\n // Comparison needs to be <= so that black == 0 pixels are black even if the threshold is 0.\n if ((luminances[offset + x] & 0xFF) <= threshold) {\n matrix.set(xoffset + x, yoffset + y);\n }\n }\n }\n }\n /**\n * Calculates a single black point for each block of pixels and saves it away.\n * See the following thread for a discussion of this algorithm:\n * http://groups.google.com/group/zxing/browse_thread/thread/d06efa2c35a7ddc0\n */\n static calculateBlackPoints(luminances, subWidth /*int*/, subHeight /*int*/, width /*int*/, height /*int*/) {\n const maxYOffset = height - HybridBinarizer.BLOCK_SIZE;\n const maxXOffset = width - HybridBinarizer.BLOCK_SIZE;\n // tslint:disable-next-line:whitespace\n const blackPoints = new Array(subHeight); // subWidth\n for (let y = 0; y < subHeight; y++) {\n blackPoints[y] = new Int32Array(subWidth);\n let yoffset = y << HybridBinarizer.BLOCK_SIZE_POWER;\n if (yoffset > maxYOffset) {\n yoffset = maxYOffset;\n }\n for (let x = 0; x < subWidth; x++) {\n let xoffset = x << HybridBinarizer.BLOCK_SIZE_POWER;\n if (xoffset > maxXOffset) {\n xoffset = maxXOffset;\n }\n let sum = 0;\n let min = 0xFF;\n let max = 0;\n for (let yy = 0, offset = yoffset * width + xoffset; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (let xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n const pixel = luminances[offset + xx] & 0xFF;\n sum += pixel;\n // still looking for good contrast\n if (pixel < min) {\n min = pixel;\n }\n if (pixel > max) {\n max = pixel;\n }\n }\n // short-circuit min/max tests once dynamic range is met\n if (max - min > HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // finish the rest of the rows quickly\n for (yy++, offset += width; yy < HybridBinarizer.BLOCK_SIZE; yy++, offset += width) {\n for (let xx = 0; xx < HybridBinarizer.BLOCK_SIZE; xx++) {\n sum += luminances[offset + xx] & 0xFF;\n }\n }\n }\n }\n // The default estimate is the average of the values in the block.\n let average = sum >> (HybridBinarizer.BLOCK_SIZE_POWER * 2);\n if (max - min <= HybridBinarizer.MIN_DYNAMIC_RANGE) {\n // If variation within the block is low, assume this is a block with only light or only\n // dark pixels. In that case we do not want to use the average, as it would divide this\n // low contrast area into black and white pixels, essentially creating data out of noise.\n //\n // The default assumption is that the block is light/background. Since no estimate for\n // the level of dark pixels exists locally, use half the min for the block.\n average = min / 2;\n if (y > 0 && x > 0) {\n // Correct the \"white background\" assumption for blocks that have neighbors by comparing\n // the pixels in this block to the previously calculated black points. This is based on\n // the fact that dark barcode symbology is always surrounded by some amount of light\n // background for which reasonable black point estimates were made. The bp estimated at\n // the boundaries is used for the interior.\n // The (min < bp) is arbitrary but works better than other heuristics that were tried.\n const averageNeighborBlackPoint = (blackPoints[y - 1][x] + (2 * blackPoints[y][x - 1]) + blackPoints[y - 1][x - 1]) / 4;\n if (min < averageNeighborBlackPoint) {\n average = averageNeighborBlackPoint;\n }\n }\n }\n blackPoints[y][x] = average;\n }\n }\n return blackPoints;\n }\n }\n // This class uses 5x5 blocks to compute local luminance, where each block is 8x8 pixels.\n // So this is the smallest dimension in each axis we can accept.\n HybridBinarizer.BLOCK_SIZE_POWER = 3;\n HybridBinarizer.BLOCK_SIZE = 1 << HybridBinarizer.BLOCK_SIZE_POWER; // ...0100...00\n HybridBinarizer.BLOCK_SIZE_MASK = HybridBinarizer.BLOCK_SIZE - 1; // ...0011...11\n HybridBinarizer.MINIMUM_DIMENSION = HybridBinarizer.BLOCK_SIZE * 5;\n HybridBinarizer.MIN_DYNAMIC_RANGE = 24;\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing {*/\n /**\n * The purpose of this class hierarchy is to abstract different bitmap implementations across\n * platforms into a standard interface for requesting greyscale luminance values. The interface\n * only provides immutable methods; therefore crop and rotation create copies. This is to ensure\n * that one Reader does not modify the original luminance source and leave it in an unknown state\n * for other Readers in the chain.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class LuminanceSource {\n constructor(width /*int*/, height /*int*/) {\n this.width = width;\n this.height = height;\n }\n /**\n * @return The width of the bitmap.\n */\n getWidth() {\n return this.width;\n }\n /**\n * @return The height of the bitmap.\n */\n getHeight() {\n return this.height;\n }\n /**\n * @return Whether this subclass supports cropping.\n */\n isCropSupported() {\n return false;\n }\n /**\n * Returns a new object with cropped image data. Implementations may keep a reference to the\n * original data rather than a copy. Only callable if isCropSupported() is true.\n *\n * @param left The left coordinate, which must be in [0,getWidth())\n * @param top The top coordinate, which must be in [0,getHeight())\n * @param width The width of the rectangle to crop.\n * @param height The height of the rectangle to crop.\n * @return A cropped version of this object.\n */\n crop(left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n throw new UnsupportedOperationException('This luminance source does not support cropping.');\n }\n /**\n * @return Whether this subclass supports counter-clockwise rotation.\n */\n isRotateSupported() {\n return false;\n }\n /**\n * Returns a new object with rotated image data by 90 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n rotateCounterClockwise() {\n throw new UnsupportedOperationException('This luminance source does not support rotation by 90 degrees.');\n }\n /**\n * Returns a new object with rotated image data by 45 degrees counterclockwise.\n * Only callable if {@link #isRotateSupported()} is true.\n *\n * @return A rotated version of this object.\n */\n rotateCounterClockwise45() {\n throw new UnsupportedOperationException('This luminance source does not support rotation by 45 degrees.');\n }\n /*@Override*/\n toString() {\n const row = new Uint8ClampedArray(this.width);\n let result = new StringBuilder();\n for (let y = 0; y < this.height; y++) {\n const sourceRow = this.getRow(y, row);\n for (let x = 0; x < this.width; x++) {\n const luminance = sourceRow[x] & 0xFF;\n let c;\n if (luminance < 0x40) {\n c = '#';\n }\n else if (luminance < 0x80) {\n c = '+';\n }\n else if (luminance < 0xC0) {\n c = '.';\n }\n else {\n c = ' ';\n }\n result.append(c);\n }\n result.append('\\n');\n }\n return result.toString();\n }\n }\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing {*/\n /**\n * A wrapper implementation of {@link LuminanceSource} which inverts the luminances it returns -- black becomes\n * white and vice versa, and each value becomes (255-value).\n *\n * @author Sean Owen\n */\n class InvertedLuminanceSource extends LuminanceSource {\n constructor(delegate) {\n super(delegate.getWidth(), delegate.getHeight());\n this.delegate = delegate;\n }\n /*@Override*/\n getRow(y /*int*/, row) {\n const sourceRow = this.delegate.getRow(y, row);\n const width = this.getWidth();\n for (let i = 0; i < width; i++) {\n sourceRow[i] = /*(byte)*/ (255 - (sourceRow[i] & 0xFF));\n }\n return sourceRow;\n }\n /*@Override*/\n getMatrix() {\n const matrix = this.delegate.getMatrix();\n const length = this.getWidth() * this.getHeight();\n const invertedMatrix = new Uint8ClampedArray(length);\n for (let i = 0; i < length; i++) {\n invertedMatrix[i] = /*(byte)*/ (255 - (matrix[i] & 0xFF));\n }\n return invertedMatrix;\n }\n /*@Override*/\n isCropSupported() {\n return this.delegate.isCropSupported();\n }\n /*@Override*/\n crop(left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new InvertedLuminanceSource(this.delegate.crop(left, top, width, height));\n }\n /*@Override*/\n isRotateSupported() {\n return this.delegate.isRotateSupported();\n }\n /**\n * @return original delegate {@link LuminanceSource} since invert undoes itself\n */\n /*@Override*/\n invert() {\n return this.delegate;\n }\n /*@Override*/\n rotateCounterClockwise() {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise());\n }\n /*@Override*/\n rotateCounterClockwise45() {\n return new InvertedLuminanceSource(this.delegate.rotateCounterClockwise45());\n }\n }\n\n /**\n * @deprecated Moving to @zxing/browser\n */\n class HTMLCanvasElementLuminanceSource extends LuminanceSource {\n constructor(canvas) {\n super(canvas.width, canvas.height);\n this.canvas = canvas;\n this.tempCanvasElement = null;\n this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(canvas);\n }\n static makeBufferFromCanvasImageData(canvas) {\n const imageData = canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height);\n return HTMLCanvasElementLuminanceSource.toGrayscaleBuffer(imageData.data, canvas.width, canvas.height);\n }\n static toGrayscaleBuffer(imageBuffer, width, height) {\n const grayscaleBuffer = new Uint8ClampedArray(width * height);\n for (let i = 0, j = 0, length = imageBuffer.length; i < length; i += 4, j++) {\n let gray;\n const alpha = imageBuffer[i + 3];\n // The color of fully-transparent pixels is irrelevant. They are often, technically, fully-transparent\n // black (0 alpha, and then 0 RGB). They are often used, of course as the \"white\" area in a\n // barcode image. Force any such pixel to be white:\n if (alpha === 0) {\n gray = 0xFF;\n }\n else {\n const pixelR = imageBuffer[i];\n const pixelG = imageBuffer[i + 1];\n const pixelB = imageBuffer[i + 2];\n // .299R + 0.587G + 0.114B (YUV/YIQ for PAL and NTSC),\n // (306*R) >> 10 is approximately equal to R*0.299, and so on.\n // 0x200 >> 10 is 0.5, it implements rounding.\n gray = (306 * pixelR +\n 601 * pixelG +\n 117 * pixelB +\n 0x200) >> 10;\n }\n grayscaleBuffer[j] = gray;\n }\n return grayscaleBuffer;\n }\n getRow(y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n const width = this.getWidth();\n const start = y * width;\n if (row === null) {\n row = this.buffer.slice(start, start + width);\n }\n else {\n if (row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n // The underlying raster of image consists of bytes with the luminance values\n // TODO: can avoid set/slice?\n row.set(this.buffer.slice(start, start + width));\n }\n return row;\n }\n getMatrix() {\n return this.buffer;\n }\n isCropSupported() {\n return true;\n }\n crop(left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n super.crop(left, top, width, height);\n return this;\n }\n /**\n * This is always true, since the image is a gray-scale image.\n *\n * @return true\n */\n isRotateSupported() {\n return true;\n }\n rotateCounterClockwise() {\n this.rotate(-90);\n return this;\n }\n rotateCounterClockwise45() {\n this.rotate(-45);\n return this;\n }\n getTempCanvasElement() {\n if (null === this.tempCanvasElement) {\n const tempCanvasElement = this.canvas.ownerDocument.createElement('canvas');\n tempCanvasElement.width = this.canvas.width;\n tempCanvasElement.height = this.canvas.height;\n this.tempCanvasElement = tempCanvasElement;\n }\n return this.tempCanvasElement;\n }\n rotate(angle) {\n const tempCanvasElement = this.getTempCanvasElement();\n const tempContext = tempCanvasElement.getContext('2d');\n const angleRadians = angle * HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS;\n // Calculate and set new dimensions for temp canvas\n const width = this.canvas.width;\n const height = this.canvas.height;\n const newWidth = Math.ceil(Math.abs(Math.cos(angleRadians)) * width + Math.abs(Math.sin(angleRadians)) * height);\n const newHeight = Math.ceil(Math.abs(Math.sin(angleRadians)) * width + Math.abs(Math.cos(angleRadians)) * height);\n tempCanvasElement.width = newWidth;\n tempCanvasElement.height = newHeight;\n // Draw at center of temp canvas to prevent clipping of image data\n tempContext.translate(newWidth / 2, newHeight / 2);\n tempContext.rotate(angleRadians);\n tempContext.drawImage(this.canvas, width / -2, height / -2);\n this.buffer = HTMLCanvasElementLuminanceSource.makeBufferFromCanvasImageData(tempCanvasElement);\n return this;\n }\n invert() {\n return new InvertedLuminanceSource(this);\n }\n }\n HTMLCanvasElementLuminanceSource.DEGREE_TO_RADIANS = Math.PI / 180;\n\n /**\n * @deprecated Moving to @zxing/browser\n *\n * Video input device metadata containing the id and label of the device if available.\n */\n class VideoInputDevice {\n /**\n * Creates an instance of VideoInputDevice.\n *\n * @param {string} deviceId the video input device id\n * @param {string} label the label of the device if available\n */\n constructor(deviceId, label, groupId) {\n this.deviceId = deviceId;\n this.label = label;\n /** @inheritdoc */\n this.kind = 'videoinput';\n this.groupId = groupId || undefined;\n }\n /** @inheritdoc */\n toJSON() {\n return {\n kind: this.kind,\n groupId: this.groupId,\n deviceId: this.deviceId,\n label: this.label,\n };\n }\n }\n\n var __awaiter = ((globalThis || global || self || window || undefined) && (globalThis || global || self || window || undefined).__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };\n /**\n * @deprecated Moving to @zxing/browser\n *\n * Base class for browser code reader.\n */\n class BrowserCodeReader {\n /**\n * Creates an instance of BrowserCodeReader.\n * @param {Reader} reader The reader instance to decode the barcode\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent successful decode tries\n *\n * @memberOf BrowserCodeReader\n */\n constructor(reader, timeBetweenScansMillis = 500, _hints) {\n this.reader = reader;\n this.timeBetweenScansMillis = timeBetweenScansMillis;\n this._hints = _hints;\n /**\n * This will break the loop.\n */\n this._stopContinuousDecode = false;\n /**\n * This will break the loop.\n */\n this._stopAsyncDecode = false;\n /**\n * Delay time between decode attempts made by the scanner.\n */\n this._timeBetweenDecodingAttempts = 0;\n }\n /**\n * If navigator is present.\n */\n get hasNavigator() {\n return typeof navigator !== 'undefined';\n }\n /**\n * If mediaDevices under navigator is supported.\n */\n get isMediaDevicesSuported() {\n return this.hasNavigator && !!navigator.mediaDevices;\n }\n /**\n * If enumerateDevices under navigator is supported.\n */\n get canEnumerateDevices() {\n return !!(this.isMediaDevicesSuported && navigator.mediaDevices.enumerateDevices);\n }\n /** Time between two decoding tries in milli seconds. */\n get timeBetweenDecodingAttempts() {\n return this._timeBetweenDecodingAttempts;\n }\n /**\n * Change the time span the decoder waits between two decoding tries.\n *\n * @param {number} millis Time between two decoding tries in milli seconds.\n */\n set timeBetweenDecodingAttempts(millis) {\n this._timeBetweenDecodingAttempts = millis < 0 ? 0 : millis;\n }\n /**\n * Sets the hints.\n */\n set hints(hints) {\n this._hints = hints || null;\n }\n /**\n * Sets the hints.\n */\n get hints() {\n return this._hints;\n }\n /**\n * Lists all the available video input devices.\n */\n listVideoInputDevices() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.hasNavigator) {\n throw new Error('Can\\'t enumerate devices, navigator is not present.');\n }\n if (!this.canEnumerateDevices) {\n throw new Error('Can\\'t enumerate devices, method not supported.');\n }\n const devices = yield navigator.mediaDevices.enumerateDevices();\n const videoDevices = [];\n for (const device of devices) {\n const kind = device.kind === 'video' ? 'videoinput' : device.kind;\n if (kind !== 'videoinput') {\n continue;\n }\n const deviceId = device.deviceId || device.id;\n const label = device.label || `Video device ${videoDevices.length + 1}`;\n const groupId = device.groupId;\n const videoDevice = { deviceId, label, kind, groupId };\n videoDevices.push(videoDevice);\n }\n return videoDevices;\n });\n }\n /**\n * Obtain the list of available devices with type 'videoinput'.\n *\n * @returns {Promise} an array of available video input devices\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `listVideoInputDevices` instead.\n */\n getVideoInputDevices() {\n return __awaiter(this, void 0, void 0, function* () {\n const devices = yield this.listVideoInputDevices();\n return devices.map(d => new VideoInputDevice(d.deviceId, d.label));\n });\n }\n /**\n * Let's you find a device using it's Id.\n */\n findDeviceById(deviceId) {\n return __awaiter(this, void 0, void 0, function* () {\n const devices = yield this.listVideoInputDevices();\n if (!devices) {\n return null;\n }\n return devices.find(x => x.deviceId === deviceId);\n });\n }\n /**\n * Decodes the barcode from the device specified by deviceId while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `decodeOnceFromVideoDevice` instead.\n */\n decodeFromInputVideoDevice(deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.decodeOnceFromVideoDevice(deviceId, videoSource);\n });\n }\n /**\n * In one attempt, tries to decode the barcode from the device specified by deviceId while showing the video in the specified video element.\n *\n * @param deviceId the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n decodeOnceFromVideoDevice(deviceId, videoSource) {\n return __awaiter(this, void 0, void 0, function* () {\n this.reset();\n let videoConstraints;\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n const constraints = { video: videoConstraints };\n return yield this.decodeOnceFromConstraints(constraints, videoSource);\n });\n }\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param constraints the media stream constraints to get s valid media stream to decode from\n * @param video the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n decodeOnceFromConstraints(constraints, videoSource) {\n return __awaiter(this, void 0, void 0, function* () {\n const stream = yield navigator.mediaDevices.getUserMedia(constraints);\n return yield this.decodeOnceFromStream(stream, videoSource);\n });\n }\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n decodeOnceFromStream(stream, videoSource) {\n return __awaiter(this, void 0, void 0, function* () {\n this.reset();\n const video = yield this.attachStreamToVideo(stream, videoSource);\n const result = yield this.decodeOnce(video);\n return result;\n });\n }\n /**\n * Continuously decodes the barcode from the device specified by device while showing the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise}\n *\n * @memberOf BrowserCodeReader\n *\n * @deprecated Use `decodeFromVideoDevice` instead.\n */\n decodeFromInputVideoDeviceContinuously(deviceId, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.decodeFromVideoDevice(deviceId, videoSource, callbackFn);\n });\n }\n /**\n * Continuously tries to decode the barcode from the device specified by device while showing the video in the specified video element.\n *\n * @param {string|null} [deviceId] the id of one of the devices obtained after calling getVideoInputDevices. Can be undefined, in this case it will decode from one of the available devices, preffering the main camera (environment facing) if available.\n * @param {string|HTMLVideoElement|null} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise}\n *\n * @memberOf BrowserCodeReader\n */\n decodeFromVideoDevice(deviceId, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function* () {\n let videoConstraints;\n if (!deviceId) {\n videoConstraints = { facingMode: 'environment' };\n }\n else {\n videoConstraints = { deviceId: { exact: deviceId } };\n }\n const constraints = { video: videoConstraints };\n return yield this.decodeFromConstraints(constraints, videoSource, callbackFn);\n });\n }\n /**\n * Continuously tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n decodeFromConstraints(constraints, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function* () {\n const stream = yield navigator.mediaDevices.getUserMedia(constraints);\n return yield this.decodeFromStream(stream, videoSource, callbackFn);\n });\n }\n /**\n * In one attempt, tries to decode the barcode from a stream obtained from the given constraints while showing the video in the specified video element.\n *\n * @param {MediaStream} [constraints] the media stream constraints to get s valid media stream to decode from\n * @param {string|HTMLVideoElement} [video] the video element in page where to show the video while decoding. Can be either an element id or directly an HTMLVideoElement. Can be undefined, in which case no video will be shown.\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n decodeFromStream(stream, videoSource, callbackFn) {\n return __awaiter(this, void 0, void 0, function* () {\n this.reset();\n const video = yield this.attachStreamToVideo(stream, videoSource);\n return yield this.decodeContinuously(video, callbackFn);\n });\n }\n /**\n * Breaks the decoding loop.\n */\n stopAsyncDecode() {\n this._stopAsyncDecode = true;\n }\n /**\n * Breaks the decoding loop.\n */\n stopContinuousDecode() {\n this._stopContinuousDecode = true;\n }\n /**\n * Sets the new stream and request a new decoding-with-delay.\n *\n * @param stream The stream to be shown in the video element.\n * @param decodeFn A callback for the decode method.\n */\n attachStreamToVideo(stream, videoSource) {\n return __awaiter(this, void 0, void 0, function* () {\n const videoElement = this.prepareVideoElement(videoSource);\n this.addVideoSource(videoElement, stream);\n this.videoElement = videoElement;\n this.stream = stream;\n yield this.playVideoOnLoadAsync(videoElement);\n return videoElement;\n });\n }\n /**\n *\n * @param videoElement\n */\n playVideoOnLoadAsync(videoElement) {\n return new Promise((resolve, reject) => this.playVideoOnLoad(videoElement, () => resolve()));\n }\n /**\n * Binds listeners and callbacks to the videoElement.\n *\n * @param element\n * @param callbackFn\n */\n playVideoOnLoad(element, callbackFn) {\n this.videoEndedListener = () => this.stopStreams();\n this.videoCanPlayListener = () => this.tryPlayVideo(element);\n element.addEventListener('ended', this.videoEndedListener);\n element.addEventListener('canplay', this.videoCanPlayListener);\n element.addEventListener('playing', callbackFn);\n // if canplay was already fired, we won't know when to play, so just give it a try\n this.tryPlayVideo(element);\n }\n /**\n * Checks if the given video element is currently playing.\n */\n isVideoPlaying(video) {\n return video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2;\n }\n /**\n * Just tries to play the video and logs any errors.\n * The play call is only made is the video is not already playing.\n */\n tryPlayVideo(videoElement) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.isVideoPlaying(videoElement)) {\n console.warn('Trying to play video that is already playing.');\n return;\n }\n try {\n yield videoElement.play();\n }\n catch (_a) {\n console.warn('It was not possible to play the video.');\n }\n });\n }\n /**\n * Searches and validates a media element.\n */\n getMediaElement(mediaElementId, type) {\n const mediaElement = document.getElementById(mediaElementId);\n if (!mediaElement) {\n throw new ArgumentException(`element with id '${mediaElementId}' not found`);\n }\n if (mediaElement.nodeName.toLowerCase() !== type.toLowerCase()) {\n throw new ArgumentException(`element with id '${mediaElementId}' must be an ${type} element`);\n }\n return mediaElement;\n }\n /**\n * Decodes the barcode from an image.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n decodeFromImage(source, url) {\n if (!source && !url) {\n throw new ArgumentException('either imageElement with a src set or an url must be provided');\n }\n if (url && !source) {\n return this.decodeFromImageUrl(url);\n }\n return this.decodeFromImageElement(source);\n }\n /**\n * Decodes the barcode from a video.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n */\n decodeFromVideo(source, url) {\n if (!source && !url) {\n throw new ArgumentException('Either an element with a src set or an URL must be provided');\n }\n if (url && !source) {\n return this.decodeFromVideoUrl(url);\n }\n return this.decodeFromVideoElement(source);\n }\n /**\n * Decodes continuously the barcode from a video.\n *\n * @param {(string|HTMLImageElement)} [source] The image element that can be either an element id or the element itself. Can be undefined in which case the decoding will be done from the imageUrl parameter.\n * @param {string} [url]\n * @returns {Promise} The decoding result.\n *\n * @memberOf BrowserCodeReader\n *\n * @experimental\n */\n decodeFromVideoContinuously(source, url, callbackFn) {\n if (undefined === source && undefined === url) {\n throw new ArgumentException('Either an element with a src set or an URL must be provided');\n }\n if (url && !source) {\n return this.decodeFromVideoUrlContinuously(url, callbackFn);\n }\n return this.decodeFromVideoElementContinuously(source, callbackFn);\n }\n /**\n * Decodes something from an image HTML element.\n */\n decodeFromImageElement(source) {\n if (!source) {\n throw new ArgumentException('An image element must be provided.');\n }\n this.reset();\n const element = this.prepareImageElement(source);\n this.imageElement = element;\n let task;\n if (this.isImageLoaded(element)) {\n task = this.decodeOnce(element, false, true);\n }\n else {\n task = this._decodeOnLoadImage(element);\n }\n return task;\n }\n /**\n * Decodes something from an image HTML element.\n */\n decodeFromVideoElement(source) {\n const element = this._decodeFromVideoElementSetup(source);\n return this._decodeOnLoadVideo(element);\n }\n /**\n * Decodes something from an image HTML element.\n */\n decodeFromVideoElementContinuously(source, callbackFn) {\n const element = this._decodeFromVideoElementSetup(source);\n return this._decodeOnLoadVideoContinuously(element, callbackFn);\n }\n /**\n * Sets up the video source so it can be decoded when loaded.\n *\n * @param source The video source element.\n */\n _decodeFromVideoElementSetup(source) {\n if (!source) {\n throw new ArgumentException('A video element must be provided.');\n }\n this.reset();\n const element = this.prepareVideoElement(source);\n // defines the video element before starts decoding\n this.videoElement = element;\n return element;\n }\n /**\n * Decodes an image from a URL.\n */\n decodeFromImageUrl(url) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n const element = this.prepareImageElement();\n this.imageElement = element;\n const decodeTask = this._decodeOnLoadImage(element);\n element.src = url;\n return decodeTask;\n }\n /**\n * Decodes an image from a URL.\n */\n decodeFromVideoUrl(url) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n // creates a new element\n const element = this.prepareVideoElement();\n const decodeTask = this.decodeFromVideoElement(element);\n element.src = url;\n return decodeTask;\n }\n /**\n * Decodes an image from a URL.\n *\n * @experimental\n */\n decodeFromVideoUrlContinuously(url, callbackFn) {\n if (!url) {\n throw new ArgumentException('An URL must be provided.');\n }\n this.reset();\n // creates a new element\n const element = this.prepareVideoElement();\n const decodeTask = this.decodeFromVideoElementContinuously(element, callbackFn);\n element.src = url;\n return decodeTask;\n }\n _decodeOnLoadImage(element) {\n return new Promise((resolve, reject) => {\n this.imageLoadedListener = () => this.decodeOnce(element, false, true).then(resolve, reject);\n element.addEventListener('load', this.imageLoadedListener);\n });\n }\n _decodeOnLoadVideo(videoElement) {\n return __awaiter(this, void 0, void 0, function* () {\n // plays the video\n yield this.playVideoOnLoadAsync(videoElement);\n // starts decoding after played the video\n return yield this.decodeOnce(videoElement);\n });\n }\n _decodeOnLoadVideoContinuously(videoElement, callbackFn) {\n return __awaiter(this, void 0, void 0, function* () {\n // plays the video\n yield this.playVideoOnLoadAsync(videoElement);\n // starts decoding after played the video\n this.decodeContinuously(videoElement, callbackFn);\n });\n }\n isImageLoaded(img) {\n // During the onload event, IE correctly identifies any images that\n // weren’t downloaded as not complete. Others should too. Gecko-based\n // browsers act like NS4 in that they report this incorrectly.\n if (!img.complete) {\n return false;\n }\n // However, they do have two very useful properties: naturalWidth and\n // naturalHeight. These give the true size of the image. If it failed\n // to load, either of these should be zero.\n if (img.naturalWidth === 0) {\n return false;\n }\n // No other way of checking: assume it’s ok.\n return true;\n }\n prepareImageElement(imageSource) {\n let imageElement;\n if (typeof imageSource === 'undefined') {\n imageElement = document.createElement('img');\n imageElement.width = 200;\n imageElement.height = 200;\n }\n if (typeof imageSource === 'string') {\n imageElement = this.getMediaElement(imageSource, 'img');\n }\n if (imageSource instanceof HTMLImageElement) {\n imageElement = imageSource;\n }\n return imageElement;\n }\n /**\n * Sets a HTMLVideoElement for scanning or creates a new one.\n *\n * @param videoSource The HTMLVideoElement to be set.\n */\n prepareVideoElement(videoSource) {\n let videoElement;\n if (!videoSource && typeof document !== 'undefined') {\n videoElement = document.createElement('video');\n videoElement.width = 200;\n videoElement.height = 200;\n }\n if (typeof videoSource === 'string') {\n videoElement = this.getMediaElement(videoSource, 'video');\n }\n if (videoSource instanceof HTMLVideoElement) {\n videoElement = videoSource;\n }\n // Needed for iOS 11\n videoElement.setAttribute('autoplay', 'true');\n videoElement.setAttribute('muted', 'true');\n videoElement.setAttribute('playsinline', 'true');\n return videoElement;\n }\n /**\n * Tries to decode from the video input until it finds some value.\n */\n decodeOnce(element, retryIfNotFound = true, retryIfChecksumOrFormatError = true) {\n this._stopAsyncDecode = false;\n const loop = (resolve, reject) => {\n if (this._stopAsyncDecode) {\n reject(new NotFoundException('Video stream has ended before any code could be detected.'));\n this._stopAsyncDecode = undefined;\n return;\n }\n try {\n const result = this.decode(element);\n resolve(result);\n }\n catch (e) {\n const ifNotFound = retryIfNotFound && e instanceof NotFoundException;\n const isChecksumOrFormatError = e instanceof ChecksumException || e instanceof FormatException;\n const ifChecksumOrFormat = isChecksumOrFormatError && retryIfChecksumOrFormatError;\n if (ifNotFound || ifChecksumOrFormat) {\n // trying again\n return setTimeout(loop, this._timeBetweenDecodingAttempts, resolve, reject);\n }\n reject(e);\n }\n };\n return new Promise((resolve, reject) => loop(resolve, reject));\n }\n /**\n * Continuously decodes from video input.\n */\n decodeContinuously(element, callbackFn) {\n this._stopContinuousDecode = false;\n const loop = () => {\n if (this._stopContinuousDecode) {\n this._stopContinuousDecode = undefined;\n return;\n }\n try {\n const result = this.decode(element);\n callbackFn(result, null);\n setTimeout(loop, this.timeBetweenScansMillis);\n }\n catch (e) {\n callbackFn(null, e);\n const isChecksumOrFormatError = e instanceof ChecksumException || e instanceof FormatException;\n const isNotFound = e instanceof NotFoundException;\n if (isChecksumOrFormatError || isNotFound) {\n // trying again\n setTimeout(loop, this._timeBetweenDecodingAttempts);\n }\n }\n };\n loop();\n }\n /**\n * Gets the BinaryBitmap for ya! (and decodes it)\n */\n decode(element) {\n // get binary bitmap for decode function\n const binaryBitmap = this.createBinaryBitmap(element);\n return this.decodeBitmap(binaryBitmap);\n }\n /**\n * Creates a binaryBitmap based in some image source.\n *\n * @param mediaElement HTML element containing drawable image source.\n */\n createBinaryBitmap(mediaElement) {\n const ctx = this.getCaptureCanvasContext(mediaElement);\n this.drawImageOnCanvas(ctx, mediaElement);\n const canvas = this.getCaptureCanvas(mediaElement);\n const luminanceSource = new HTMLCanvasElementLuminanceSource(canvas);\n const hybridBinarizer = new HybridBinarizer(luminanceSource);\n return new BinaryBitmap(hybridBinarizer);\n }\n /**\n *\n */\n getCaptureCanvasContext(mediaElement) {\n if (!this.captureCanvasContext) {\n const elem = this.getCaptureCanvas(mediaElement);\n const ctx = elem.getContext('2d');\n this.captureCanvasContext = ctx;\n }\n return this.captureCanvasContext;\n }\n /**\n *\n */\n getCaptureCanvas(mediaElement) {\n if (!this.captureCanvas) {\n const elem = this.createCaptureCanvas(mediaElement);\n this.captureCanvas = elem;\n }\n return this.captureCanvas;\n }\n /**\n * Ovewriting this allows you to manipulate the snapshot image in anyway you want before decode.\n */\n drawImageOnCanvas(canvasElementContext, srcElement) {\n canvasElementContext.drawImage(srcElement, 0, 0);\n }\n /**\n * Call the encapsulated readers decode\n */\n decodeBitmap(binaryBitmap) {\n return this.reader.decode(binaryBitmap, this._hints);\n }\n /**\n * 🖌 Prepares the canvas for capture and scan frames.\n */\n createCaptureCanvas(mediaElement) {\n if (typeof document === 'undefined') {\n this._destroyCaptureCanvas();\n return null;\n }\n const canvasElement = document.createElement('canvas');\n let width;\n let height;\n if (typeof mediaElement !== 'undefined') {\n if (mediaElement instanceof HTMLVideoElement) {\n width = mediaElement.videoWidth;\n height = mediaElement.videoHeight;\n }\n else if (mediaElement instanceof HTMLImageElement) {\n width = mediaElement.naturalWidth || mediaElement.width;\n height = mediaElement.naturalHeight || mediaElement.height;\n }\n }\n canvasElement.style.width = width + 'px';\n canvasElement.style.height = height + 'px';\n canvasElement.width = width;\n canvasElement.height = height;\n return canvasElement;\n }\n /**\n * Stops the continuous scan and cleans the stream.\n */\n stopStreams() {\n if (this.stream) {\n this.stream.getVideoTracks().forEach(t => t.stop());\n this.stream = undefined;\n }\n if (this._stopAsyncDecode === false) {\n this.stopAsyncDecode();\n }\n if (this._stopContinuousDecode === false) {\n this.stopContinuousDecode();\n }\n }\n /**\n * Resets the code reader to the initial state. Cancels any ongoing barcode scanning from video or camera.\n *\n * @memberOf BrowserCodeReader\n */\n reset() {\n // stops the camera, preview and scan 🔴\n this.stopStreams();\n // clean and forget about HTML elements\n this._destroyVideoElement();\n this._destroyImageElement();\n this._destroyCaptureCanvas();\n }\n _destroyVideoElement() {\n if (!this.videoElement) {\n return;\n }\n // first gives freedon to the element 🕊\n if (typeof this.videoEndedListener !== 'undefined') {\n this.videoElement.removeEventListener('ended', this.videoEndedListener);\n }\n if (typeof this.videoPlayingEventListener !== 'undefined') {\n this.videoElement.removeEventListener('playing', this.videoPlayingEventListener);\n }\n if (typeof this.videoCanPlayListener !== 'undefined') {\n this.videoElement.removeEventListener('loadedmetadata', this.videoCanPlayListener);\n }\n // then forgets about that element 😢\n this.cleanVideoSource(this.videoElement);\n this.videoElement = undefined;\n }\n _destroyImageElement() {\n if (!this.imageElement) {\n return;\n }\n // first gives freedon to the element 🕊\n if (undefined !== this.imageLoadedListener) {\n this.imageElement.removeEventListener('load', this.imageLoadedListener);\n }\n // then forget about that element 😢\n this.imageElement.src = undefined;\n this.imageElement.removeAttribute('src');\n this.imageElement = undefined;\n }\n /**\n * Cleans canvas references 🖌\n */\n _destroyCaptureCanvas() {\n // then forget about that element 😢\n this.captureCanvasContext = undefined;\n this.captureCanvas = undefined;\n }\n /**\n * Defines what the videoElement src will be.\n *\n * @param videoElement\n * @param stream\n */\n addVideoSource(videoElement, stream) {\n // Older browsers may not have `srcObject`\n try {\n // @note Throws Exception if interrupted by a new loaded request\n videoElement.srcObject = stream;\n }\n catch (err) {\n // @note Avoid using this in new browsers, as it is going away.\n videoElement.src = URL.createObjectURL(stream);\n }\n }\n /**\n * Unbinds a HTML video src property.\n *\n * @param videoElement\n */\n cleanVideoSource(videoElement) {\n try {\n videoElement.srcObject = null;\n }\n catch (err) {\n videoElement.src = '';\n }\n this.videoElement.removeAttribute('src');\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates the result of decoding a barcode within an image.

\n *\n * @author Sean Owen\n */\n class Result {\n // public constructor(private text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format) {\n // this(text, rawBytes, resultPoints, format, System.currentTimeMillis())\n // }\n // public constructor(text: string,\n // Uint8Array rawBytes,\n // ResultPoconst resultPoints: Int32Array,\n // BarcodeFormat format,\n // long timestamp) {\n // this(text, rawBytes, rawBytes == null ? 0 : 8 * rawBytes.length,\n // resultPoints, format, timestamp)\n // }\n constructor(text, rawBytes, numBits = rawBytes == null ? 0 : 8 * rawBytes.length, resultPoints, format, timestamp = System.currentTimeMillis()) {\n this.text = text;\n this.rawBytes = rawBytes;\n this.numBits = numBits;\n this.resultPoints = resultPoints;\n this.format = format;\n this.timestamp = timestamp;\n this.text = text;\n this.rawBytes = rawBytes;\n if (undefined === numBits || null === numBits) {\n this.numBits = (rawBytes === null || rawBytes === undefined) ? 0 : 8 * rawBytes.length;\n }\n else {\n this.numBits = numBits;\n }\n this.resultPoints = resultPoints;\n this.format = format;\n this.resultMetadata = null;\n if (undefined === timestamp || null === timestamp) {\n this.timestamp = System.currentTimeMillis();\n }\n else {\n this.timestamp = timestamp;\n }\n }\n /**\n * @return raw text encoded by the barcode\n */\n getText() {\n return this.text;\n }\n /**\n * @return raw bytes encoded by the barcode, if applicable, otherwise {@code null}\n */\n getRawBytes() {\n return this.rawBytes;\n }\n /**\n * @return how many bits of {@link #getRawBytes()} are valid; typically 8 times its length\n * @since 3.3.0\n */\n getNumBits() {\n return this.numBits;\n }\n /**\n * @return points related to the barcode in the image. These are typically points\n * identifying finder patterns or the corners of the barcode. The exact meaning is\n * specific to the type of barcode that was decoded.\n */\n getResultPoints() {\n return this.resultPoints;\n }\n /**\n * @return {@link BarcodeFormat} representing the format of the barcode that was decoded\n */\n getBarcodeFormat() {\n return this.format;\n }\n /**\n * @return {@link Map} mapping {@link ResultMetadataType} keys to values. May be\n * {@code null}. This contains optional metadata about what was detected about the barcode,\n * like orientation.\n */\n getResultMetadata() {\n return this.resultMetadata;\n }\n putMetadata(type, value) {\n if (this.resultMetadata === null) {\n this.resultMetadata = new Map();\n }\n this.resultMetadata.set(type, value);\n }\n putAllMetadata(metadata) {\n if (metadata !== null) {\n if (this.resultMetadata === null) {\n this.resultMetadata = metadata;\n }\n else {\n this.resultMetadata = new Map(metadata);\n }\n }\n }\n addResultPoints(newPoints) {\n const oldPoints = this.resultPoints;\n if (oldPoints === null) {\n this.resultPoints = newPoints;\n }\n else if (newPoints !== null && newPoints.length > 0) {\n const allPoints = new Array(oldPoints.length + newPoints.length);\n System.arraycopy(oldPoints, 0, allPoints, 0, oldPoints.length);\n System.arraycopy(newPoints, 0, allPoints, oldPoints.length, newPoints.length);\n this.resultPoints = allPoints;\n }\n }\n getTimestamp() {\n return this.timestamp;\n }\n /*@Override*/\n toString() {\n return this.text;\n }\n }\n\n /*\n * Direct port to TypeScript of ZXing by Adrian Toșcă\n */\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing {*/\n /**\n * Enumerates barcode formats known to this package. Please keep alphabetized.\n *\n * @author Sean Owen\n */\n var BarcodeFormat;\n (function (BarcodeFormat) {\n /** Aztec 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"AZTEC\"] = 0] = \"AZTEC\";\n /** CODABAR 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODABAR\"] = 1] = \"CODABAR\";\n /** Code 39 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_39\"] = 2] = \"CODE_39\";\n /** Code 93 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_93\"] = 3] = \"CODE_93\";\n /** Code 128 1D format. */\n BarcodeFormat[BarcodeFormat[\"CODE_128\"] = 4] = \"CODE_128\";\n /** Data Matrix 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"DATA_MATRIX\"] = 5] = \"DATA_MATRIX\";\n /** EAN-8 1D format. */\n BarcodeFormat[BarcodeFormat[\"EAN_8\"] = 6] = \"EAN_8\";\n /** EAN-13 1D format. */\n BarcodeFormat[BarcodeFormat[\"EAN_13\"] = 7] = \"EAN_13\";\n /** ITF (Interleaved Two of Five) 1D format. */\n BarcodeFormat[BarcodeFormat[\"ITF\"] = 8] = \"ITF\";\n /** MaxiCode 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"MAXICODE\"] = 9] = \"MAXICODE\";\n /** PDF417 format. */\n BarcodeFormat[BarcodeFormat[\"PDF_417\"] = 10] = \"PDF_417\";\n /** QR Code 2D barcode format. */\n BarcodeFormat[BarcodeFormat[\"QR_CODE\"] = 11] = \"QR_CODE\";\n /** RSS 14 */\n BarcodeFormat[BarcodeFormat[\"RSS_14\"] = 12] = \"RSS_14\";\n /** RSS EXPANDED */\n BarcodeFormat[BarcodeFormat[\"RSS_EXPANDED\"] = 13] = \"RSS_EXPANDED\";\n /** UPC-A 1D format. */\n BarcodeFormat[BarcodeFormat[\"UPC_A\"] = 14] = \"UPC_A\";\n /** UPC-E 1D format. */\n BarcodeFormat[BarcodeFormat[\"UPC_E\"] = 15] = \"UPC_E\";\n /** UPC/EAN extension format. Not a stand-alone format. */\n BarcodeFormat[BarcodeFormat[\"UPC_EAN_EXTENSION\"] = 16] = \"UPC_EAN_EXTENSION\";\n })(BarcodeFormat || (BarcodeFormat = {}));\n var BarcodeFormat$1 = BarcodeFormat;\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing {*/\n /**\n * Represents some type of metadata about the result of the decoding that the decoder\n * wishes to communicate back to the caller.\n *\n * @author Sean Owen\n */\n var ResultMetadataType;\n (function (ResultMetadataType) {\n /**\n * Unspecified, application-specific metadata. Maps to an unspecified {@link Object}.\n */\n ResultMetadataType[ResultMetadataType[\"OTHER\"] = 0] = \"OTHER\";\n /**\n * Denotes the likely approximate orientation of the barcode in the image. This value\n * is given as degrees rotated clockwise from the normal, upright orientation.\n * For example a 1D barcode which was found by reading top-to-bottom would be\n * said to have orientation \"90\". This key maps to an {@link Integer} whose\n * value is in the range [0,360).\n */\n ResultMetadataType[ResultMetadataType[\"ORIENTATION\"] = 1] = \"ORIENTATION\";\n /**\n *

2D barcode formats typically encode text, but allow for a sort of 'byte mode'\n * which is sometimes used to encode binary data. While {@link Result} makes available\n * the complete raw bytes in the barcode for these formats, it does not offer the bytes\n * from the byte segments alone.

\n *\n *

This maps to a {@link java.util.List} of byte arrays corresponding to the\n * raw bytes in the byte segments in the barcode, in order.

\n */\n ResultMetadataType[ResultMetadataType[\"BYTE_SEGMENTS\"] = 2] = \"BYTE_SEGMENTS\";\n /**\n * Error correction level used, if applicable. The value type depends on the\n * format, but is typically a String.\n */\n ResultMetadataType[ResultMetadataType[\"ERROR_CORRECTION_LEVEL\"] = 3] = \"ERROR_CORRECTION_LEVEL\";\n /**\n * For some periodicals, indicates the issue number as an {@link Integer}.\n */\n ResultMetadataType[ResultMetadataType[\"ISSUE_NUMBER\"] = 4] = \"ISSUE_NUMBER\";\n /**\n * For some products, indicates the suggested retail price in the barcode as a\n * formatted {@link String}.\n */\n ResultMetadataType[ResultMetadataType[\"SUGGESTED_PRICE\"] = 5] = \"SUGGESTED_PRICE\";\n /**\n * For some products, the possible country of manufacture as a {@link String} denoting the\n * ISO country code. Some map to multiple possible countries, like \"US/CA\".\n */\n ResultMetadataType[ResultMetadataType[\"POSSIBLE_COUNTRY\"] = 6] = \"POSSIBLE_COUNTRY\";\n /**\n * For some products, the extension text\n */\n ResultMetadataType[ResultMetadataType[\"UPC_EAN_EXTENSION\"] = 7] = \"UPC_EAN_EXTENSION\";\n /**\n * PDF417-specific metadata\n */\n ResultMetadataType[ResultMetadataType[\"PDF417_EXTRA_METADATA\"] = 8] = \"PDF417_EXTRA_METADATA\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * sequence number is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_SEQUENCE\"] = 9] = \"STRUCTURED_APPEND_SEQUENCE\";\n /**\n * If the code format supports structured append and the current scanned code is part of one then the\n * parity is given with it.\n */\n ResultMetadataType[ResultMetadataType[\"STRUCTURED_APPEND_PARITY\"] = 10] = \"STRUCTURED_APPEND_PARITY\";\n })(ResultMetadataType || (ResultMetadataType = {}));\n var ResultMetadataType$1 = ResultMetadataType;\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing.common {*/\n /*import java.util.List;*/\n /**\n *

Encapsulates the result of decoding a matrix of bits. This typically\n * applies to 2D barcode formats. For now it contains the raw bytes obtained,\n * as well as a String interpretation of those bytes, if applicable.

\n *\n * @author Sean Owen\n */\n class DecoderResult {\n // public constructor(rawBytes: Uint8Array,\n // text: string,\n // List byteSegments,\n // String ecLevel) {\n // this(rawBytes, text, byteSegments, ecLevel, -1, -1)\n // }\n constructor(rawBytes, text, byteSegments, ecLevel, structuredAppendSequenceNumber = -1, structuredAppendParity = -1) {\n this.rawBytes = rawBytes;\n this.text = text;\n this.byteSegments = byteSegments;\n this.ecLevel = ecLevel;\n this.structuredAppendSequenceNumber = structuredAppendSequenceNumber;\n this.structuredAppendParity = structuredAppendParity;\n this.numBits = (rawBytes === undefined || rawBytes === null) ? 0 : 8 * rawBytes.length;\n }\n /**\n * @return raw bytes representing the result, or {@code null} if not applicable\n */\n getRawBytes() {\n return this.rawBytes;\n }\n /**\n * @return how many bits of {@link #getRawBytes()} are valid; typically 8 times its length\n * @since 3.3.0\n */\n getNumBits() {\n return this.numBits;\n }\n /**\n * @param numBits overrides the number of bits that are valid in {@link #getRawBytes()}\n * @since 3.3.0\n */\n setNumBits(numBits /*int*/) {\n this.numBits = numBits;\n }\n /**\n * @return text representation of the result\n */\n getText() {\n return this.text;\n }\n /**\n * @return list of byte segments in the result, or {@code null} if not applicable\n */\n getByteSegments() {\n return this.byteSegments;\n }\n /**\n * @return name of error correction level used, or {@code null} if not applicable\n */\n getECLevel() {\n return this.ecLevel;\n }\n /**\n * @return number of errors corrected, or {@code null} if not applicable\n */\n getErrorsCorrected() {\n return this.errorsCorrected;\n }\n setErrorsCorrected(errorsCorrected /*Integer*/) {\n this.errorsCorrected = errorsCorrected;\n }\n /**\n * @return number of erasures corrected, or {@code null} if not applicable\n */\n getErasures() {\n return this.erasures;\n }\n setErasures(erasures /*Integer*/) {\n this.erasures = erasures;\n }\n /**\n * @return arbitrary additional metadata\n */\n getOther() {\n return this.other;\n }\n setOther(other) {\n this.other = other;\n }\n hasStructuredAppend() {\n return this.structuredAppendParity >= 0 && this.structuredAppendSequenceNumber >= 0;\n }\n getStructuredAppendParity() {\n return this.structuredAppendParity;\n }\n getStructuredAppendSequenceNumber() {\n return this.structuredAppendSequenceNumber;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.

\n *\n *

Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *

\n *\n * @author Sean Owen\n * @author David Olivier\n */\n class AbstractGenericGF {\n /**\n * @return 2 to the power of a in GF(size)\n */\n exp(a) {\n return this.expTable[a];\n }\n /**\n * @return base 2 log of a in GF(size)\n */\n log(a /*int*/) {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n }\n /**\n * Implements both addition and subtraction -- they are the same in GF(size).\n *\n * @return sum/difference of a and b\n */\n static addOrSubtract(a /*int*/, b /*int*/) {\n return a ^ b;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Represents a polynomial whose coefficients are elements of a GF.\n * Instances of this class are immutable.

\n *\n *

Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.

\n *\n * @author Sean Owen\n */\n class GenericGFPoly {\n /**\n * @param field the {@link GenericGF} instance representing the field to use\n * to perform computations\n * @param coefficients coefficients as ints representing elements of GF(size), arranged\n * from most significant (highest-power term) coefficient to least significant\n * @throws IllegalArgumentException if argument is null or empty,\n * or if leading coefficient is 0 and this is not a\n * constant polynomial (that is, it is not the monomial \"0\")\n */\n constructor(field, coefficients) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n const coefficientsLength = coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n let firstNonZero = 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = Int32Array.from([0]);\n }\n else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n getCoefficients() {\n return this.coefficients;\n }\n /**\n * @return degree of this polynomial\n */\n getDegree() {\n return this.coefficients.length - 1;\n }\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n isZero() {\n return this.coefficients[0] === 0;\n }\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n getCoefficient(degree /*int*/) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n }\n /**\n * @return evaluation of this polynomial at a given point\n */\n evaluateAt(a /*int*/) {\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n const coefficients = this.coefficients;\n let result;\n if (a === 1) {\n // Just the sum of the coefficients\n result = 0;\n for (let i = 0, length = coefficients.length; i !== length; i++) {\n const coefficient = coefficients[i];\n result = AbstractGenericGF.addOrSubtract(result, coefficient);\n }\n return result;\n }\n result = coefficients[0];\n const size = coefficients.length;\n const field = this.field;\n for (let i = 1; i < size; i++) {\n result = AbstractGenericGF.addOrSubtract(field.multiply(a, result), coefficients[i]);\n }\n return result;\n }\n addOrSubtract(other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n let smallerCoefficients = this.coefficients;\n let largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n const temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n let sumDiff = new Int32Array(largerCoefficients.length);\n const lengthDiff = largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n for (let i = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = AbstractGenericGF.addOrSubtract(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new GenericGFPoly(this.field, sumDiff);\n }\n multiply(other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (this.isZero() || other.isZero()) {\n return this.field.getZero();\n }\n const aCoefficients = this.coefficients;\n const aLength = aCoefficients.length;\n const bCoefficients = other.coefficients;\n const bLength = bCoefficients.length;\n const product = new Int32Array(aLength + bLength - 1);\n const field = this.field;\n for (let i = 0; i < aLength; i++) {\n const aCoeff = aCoefficients[i];\n for (let j = 0; j < bLength; j++) {\n product[i + j] = AbstractGenericGF.addOrSubtract(product[i + j], field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new GenericGFPoly(field, product);\n }\n multiplyScalar(scalar /*int*/) {\n if (scalar === 0) {\n return this.field.getZero();\n }\n if (scalar === 1) {\n return this;\n }\n const size = this.coefficients.length;\n const field = this.field;\n const product = new Int32Array(size);\n const coefficients = this.coefficients;\n for (let i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], scalar);\n }\n return new GenericGFPoly(field, product);\n }\n multiplyByMonomial(degree /*int*/, coefficient /*int*/) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.field.getZero();\n }\n const coefficients = this.coefficients;\n const size = coefficients.length;\n const product = new Int32Array(size + degree);\n const field = this.field;\n for (let i = 0; i < size; i++) {\n product[i] = field.multiply(coefficients[i], coefficient);\n }\n return new GenericGFPoly(field, product);\n }\n divide(other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('GenericGFPolys do not have same GenericGF field');\n }\n if (other.isZero()) {\n throw new IllegalArgumentException('Divide by 0');\n }\n const field = this.field;\n let quotient = field.getZero();\n let remainder = this;\n const denominatorLeadingTerm = other.getCoefficient(other.getDegree());\n const inverseDenominatorLeadingTerm = field.inverse(denominatorLeadingTerm);\n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n const degreeDifference = remainder.getDegree() - other.getDegree();\n const scale = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n const term = other.multiplyByMonomial(degreeDifference, scale);\n const iterationQuotient = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.addOrSubtract(iterationQuotient);\n remainder = remainder.addOrSubtract(term);\n }\n return [quotient, remainder];\n }\n /*@Override*/\n toString() {\n let result = '';\n for (let degree = this.getDegree(); degree >= 0; degree--) {\n let coefficient = this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result += ' - ';\n coefficient = -coefficient;\n }\n else {\n if (result.length > 0) {\n result += ' + ';\n }\n }\n if (degree === 0 || coefficient !== 1) {\n const alphaPower = this.field.log(coefficient);\n if (alphaPower === 0) {\n result += '1';\n }\n else if (alphaPower === 1) {\n result += 'a';\n }\n else {\n result += 'a^';\n result += alphaPower;\n }\n }\n if (degree !== 0) {\n if (degree === 1) {\n result += 'x';\n }\n else {\n result += 'x^';\n result += degree;\n }\n }\n }\n }\n return result;\n }\n }\n\n /**\n * Custom Error class of type Exception.\n */\n class ArithmeticException extends Exception {\n }\n ArithmeticException.kind = 'ArithmeticException';\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

This class contains utility methods for performing mathematical operations over\n * the Galois Fields. Operations use a given primitive polynomial in calculations.

\n *\n *

Throughout this package, elements of the GF are represented as an {@code int}\n * for convenience and speed (but at the cost of memory).\n *

\n *\n * @author Sean Owen\n * @author David Olivier\n */\n class GenericGF extends AbstractGenericGF {\n /**\n * Create a representation of GF(size) using the given primitive polynomial.\n *\n * @param primitive irreducible polynomial whose coefficients are represented by\n * the bits of an int, where the least-significant bit represents the constant\n * coefficient\n * @param size the size of the field\n * @param b the factor b in the generator polynomial can be 0- or 1-based\n * (g(x) = (x+a^b)(x+a^(b+1))...(x+a^(b+2t-1))).\n * In most cases it should be 1, but for QR code it is 0.\n */\n constructor(primitive /*int*/, size /*int*/, generatorBase /*int*/) {\n super();\n this.primitive = primitive;\n this.size = size;\n this.generatorBase = generatorBase;\n const expTable = new Int32Array(size);\n let x = 1;\n for (let i = 0; i < size; i++) {\n expTable[i] = x;\n x *= 2; // we're assuming the generator alpha is 2\n if (x >= size) {\n x ^= primitive;\n x &= size - 1;\n }\n }\n this.expTable = expTable;\n const logTable = new Int32Array(size);\n for (let i = 0; i < size - 1; i++) {\n logTable[expTable[i]] = i;\n }\n this.logTable = logTable;\n // logTable[0] == 0 but this should never be used\n this.zero = new GenericGFPoly(this, Int32Array.from([0]));\n this.one = new GenericGFPoly(this, Int32Array.from([1]));\n }\n getZero() {\n return this.zero;\n }\n getOne() {\n return this.one;\n }\n /**\n * @return the monomial representing coefficient * x^degree\n */\n buildMonomial(degree /*int*/, coefficient /*int*/) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n const coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new GenericGFPoly(this, coefficients);\n }\n /**\n * @return multiplicative inverse of a\n */\n inverse(a /*int*/) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.size - this.logTable[a] - 1];\n }\n /**\n * @return product of a and b in GF(size)\n */\n multiply(a /*int*/, b /*int*/) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.size - 1)];\n }\n getSize() {\n return this.size;\n }\n getGeneratorBase() {\n return this.generatorBase;\n }\n /*@Override*/\n toString() {\n return ('GF(0x' + Integer.toHexString(this.primitive) + ',' + this.size + ')');\n }\n equals(o) {\n return o === this;\n }\n }\n GenericGF.AZTEC_DATA_12 = new GenericGF(0x1069, 4096, 1); // x^12 + x^6 + x^5 + x^3 + 1\n GenericGF.AZTEC_DATA_10 = new GenericGF(0x409, 1024, 1); // x^10 + x^3 + 1\n GenericGF.AZTEC_DATA_6 = new GenericGF(0x43, 64, 1); // x^6 + x + 1\n GenericGF.AZTEC_PARAM = new GenericGF(0x13, 16, 1); // x^4 + x + 1\n GenericGF.QR_CODE_FIELD_256 = new GenericGF(0x011d, 256, 0); // x^8 + x^4 + x^3 + x^2 + 1\n GenericGF.DATA_MATRIX_FIELD_256 = new GenericGF(0x012d, 256, 1); // x^8 + x^5 + x^3 + x^2 + 1\n GenericGF.AZTEC_DATA_8 = GenericGF.DATA_MATRIX_FIELD_256;\n GenericGF.MAXICODE_FIELD_64 = GenericGF.AZTEC_DATA_6;\n\n /**\n * Custom Error class of type Exception.\n */\n class ReedSolomonException extends Exception {\n }\n ReedSolomonException.kind = 'ReedSolomonException';\n\n /**\n * Custom Error class of type Exception.\n */\n class IllegalStateException extends Exception {\n }\n IllegalStateException.kind = 'IllegalStateException';\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Implements Reed-Solomon decoding, as the name implies.

\n *\n *

The algorithm will not be explained here, but the following references were helpful\n * in creating this implementation:

\n *\n * \n *\n *

Much credit is due to William Rucklidge since portions of this code are an indirect\n * port of his C++ Reed-Solomon implementation.

\n *\n * @author Sean Owen\n * @author William Rucklidge\n * @author sanfordsquires\n */\n class ReedSolomonDecoder {\n constructor(field) {\n this.field = field;\n }\n /**\n *

Decodes given set of received codewords, which include both data and error-correction\n * codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place,\n * in the input.

\n *\n * @param received data and error-correction codewords\n * @param twoS number of error-correction codewords available\n * @throws ReedSolomonException if decoding fails for any reason\n */\n decode(received, twoS /*int*/) {\n const field = this.field;\n const poly = new GenericGFPoly(field, received);\n const syndromeCoefficients = new Int32Array(twoS);\n let noError = true;\n for (let i = 0; i < twoS; i++) {\n const evalResult = poly.evaluateAt(field.exp(i + field.getGeneratorBase()));\n syndromeCoefficients[syndromeCoefficients.length - 1 - i] = evalResult;\n if (evalResult !== 0) {\n noError = false;\n }\n }\n if (noError) {\n return;\n }\n const syndrome = new GenericGFPoly(field, syndromeCoefficients);\n const sigmaOmega = this.runEuclideanAlgorithm(field.buildMonomial(twoS, 1), syndrome, twoS);\n const sigma = sigmaOmega[0];\n const omega = sigmaOmega[1];\n const errorLocations = this.findErrorLocations(sigma);\n const errorMagnitudes = this.findErrorMagnitudes(omega, errorLocations);\n for (let i = 0; i < errorLocations.length; i++) {\n const position = received.length - 1 - field.log(errorLocations[i]);\n if (position < 0) {\n throw new ReedSolomonException('Bad error location');\n }\n received[position] = GenericGF.addOrSubtract(received[position], errorMagnitudes[i]);\n }\n }\n runEuclideanAlgorithm(a, b, R /*int*/) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n const temp = a;\n a = b;\n b = temp;\n }\n const field = this.field;\n let rLast = a;\n let r = b;\n let tLast = field.getZero();\n let t = field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= (R / 2 | 0)) {\n let rLastLast = rLast;\n let tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw new ReedSolomonException('r_{i-1} was zero');\n }\n r = rLastLast;\n let q = field.getZero();\n const denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n const dltInverse = field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n const degreeDiff = r.getDegree() - rLast.getDegree();\n const scale = field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.addOrSubtract(field.buildMonomial(degreeDiff, scale));\n r = r.addOrSubtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).addOrSubtract(tLastLast);\n if (r.getDegree() >= rLast.getDegree()) {\n throw new IllegalStateException('Division algorithm failed to reduce polynomial?');\n }\n }\n const sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw new ReedSolomonException('sigmaTilde(0) was zero');\n }\n const inverse = field.inverse(sigmaTildeAtZero);\n const sigma = t.multiplyScalar(inverse);\n const omega = r.multiplyScalar(inverse);\n return [sigma, omega];\n }\n findErrorLocations(errorLocator) {\n // This is a direct application of Chien's search\n const numErrors = errorLocator.getDegree();\n if (numErrors === 1) { // shortcut\n return Int32Array.from([errorLocator.getCoefficient(1)]);\n }\n const result = new Int32Array(numErrors);\n let e = 0;\n const field = this.field;\n for (let i = 1; i < field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw new ReedSolomonException('Error locator degree does not match number of roots');\n }\n return result;\n }\n findErrorMagnitudes(errorEvaluator, errorLocations) {\n // This is directly applying Forney's Formula\n const s = errorLocations.length;\n const result = new Int32Array(s);\n const field = this.field;\n for (let i = 0; i < s; i++) {\n const xiInverse = field.inverse(errorLocations[i]);\n let denominator = 1;\n for (let j = 0; j < s; j++) {\n if (i !== j) {\n // denominator = field.multiply(denominator,\n // GenericGF.addOrSubtract(1, field.multiply(errorLocations[j], xiInverse)))\n // Above should work but fails on some Apple and Linux JDKs due to a Hotspot bug.\n // Below is a funny-looking workaround from Steven Parkes\n const term = field.multiply(errorLocations[j], xiInverse);\n const termPlus1 = (term & 0x1) === 0 ? term | 1 : term & ~1;\n denominator = field.multiply(denominator, termPlus1);\n }\n }\n result[i] = field.multiply(errorEvaluator.evaluateAt(xiInverse), field.inverse(denominator));\n if (field.getGeneratorBase() !== 0) {\n result[i] = field.multiply(result[i], xiInverse);\n }\n }\n return result;\n }\n }\n\n /*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // import java.util.Arrays;\n var Table;\n (function (Table) {\n Table[Table[\"UPPER\"] = 0] = \"UPPER\";\n Table[Table[\"LOWER\"] = 1] = \"LOWER\";\n Table[Table[\"MIXED\"] = 2] = \"MIXED\";\n Table[Table[\"DIGIT\"] = 3] = \"DIGIT\";\n Table[Table[\"PUNCT\"] = 4] = \"PUNCT\";\n Table[Table[\"BINARY\"] = 5] = \"BINARY\";\n })(Table || (Table = {}));\n /**\n *

The main class which implements Aztec Code decoding -- as opposed to locating and extracting\n * the Aztec Code from an image.

\n *\n * @author David Olivier\n */\n class Decoder {\n decode(detectorResult) {\n this.ddata = detectorResult;\n let matrix = detectorResult.getBits();\n let rawbits = this.extractBits(matrix);\n let correctedBits = this.correctBits(rawbits);\n let rawBytes = Decoder.convertBoolArrayToByteArray(correctedBits);\n let result = Decoder.getEncodedData(correctedBits);\n let decoderResult = new DecoderResult(rawBytes, result, null, null);\n decoderResult.setNumBits(correctedBits.length);\n return decoderResult;\n }\n // This method is used for testing the high-level encoder\n static highLevelDecode(correctedBits) {\n return this.getEncodedData(correctedBits);\n }\n /**\n * Gets the string encoded in the aztec code bits\n *\n * @return the decoded string\n */\n static getEncodedData(correctedBits) {\n let endIndex = correctedBits.length;\n let latchTable = Table.UPPER; // table most recently latched to\n let shiftTable = Table.UPPER; // table to use for the next read\n let result = '';\n let index = 0;\n while (index < endIndex) {\n if (shiftTable === Table.BINARY) {\n if (endIndex - index < 5) {\n break;\n }\n let length = Decoder.readCode(correctedBits, index, 5);\n index += 5;\n if (length === 0) {\n if (endIndex - index < 11) {\n break;\n }\n length = Decoder.readCode(correctedBits, index, 11) + 31;\n index += 11;\n }\n for (let charCount = 0; charCount < length; charCount++) {\n if (endIndex - index < 8) {\n index = endIndex; // Force outer loop to exit\n break;\n }\n const code = Decoder.readCode(correctedBits, index, 8);\n result += /*(char)*/ StringUtils.castAsNonUtf8Char(code);\n index += 8;\n }\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n else {\n let size = shiftTable === Table.DIGIT ? 4 : 5;\n if (endIndex - index < size) {\n break;\n }\n let code = Decoder.readCode(correctedBits, index, size);\n index += size;\n let str = Decoder.getCharacter(shiftTable, code);\n if (str.startsWith('CTRL_')) {\n // Table changes\n // ISO/IEC 24778:2008 prescribes ending a shift sequence in the mode from which it was invoked.\n // That's including when that mode is a shift.\n // Our test case dlusbs.png for issue #642 exercises that.\n latchTable = shiftTable; // Latch the current mode, so as to return to Upper after U/S B/S\n shiftTable = Decoder.getTable(str.charAt(5));\n if (str.charAt(6) === 'L') {\n latchTable = shiftTable;\n }\n }\n else {\n result += str;\n // Go back to whatever mode we had been in\n shiftTable = latchTable;\n }\n }\n }\n return result;\n }\n /**\n * gets the table corresponding to the char passed\n */\n static getTable(t) {\n switch (t) {\n case 'L':\n return Table.LOWER;\n case 'P':\n return Table.PUNCT;\n case 'M':\n return Table.MIXED;\n case 'D':\n return Table.DIGIT;\n case 'B':\n return Table.BINARY;\n case 'U':\n default:\n return Table.UPPER;\n }\n }\n /**\n * Gets the character (or string) corresponding to the passed code in the given table\n *\n * @param table the table used\n * @param code the code of the character\n */\n static getCharacter(table, code) {\n switch (table) {\n case Table.UPPER:\n return Decoder.UPPER_TABLE[code];\n case Table.LOWER:\n return Decoder.LOWER_TABLE[code];\n case Table.MIXED:\n return Decoder.MIXED_TABLE[code];\n case Table.PUNCT:\n return Decoder.PUNCT_TABLE[code];\n case Table.DIGIT:\n return Decoder.DIGIT_TABLE[code];\n default:\n // Should not reach here.\n throw new IllegalStateException('Bad table');\n }\n }\n /**\n *

Performs RS error correction on an array of bits.

\n *\n * @return the corrected array\n * @throws FormatException if the input contains too many errors\n */\n correctBits(rawbits) {\n let gf;\n let codewordSize;\n if (this.ddata.getNbLayers() <= 2) {\n codewordSize = 6;\n gf = GenericGF.AZTEC_DATA_6;\n }\n else if (this.ddata.getNbLayers() <= 8) {\n codewordSize = 8;\n gf = GenericGF.AZTEC_DATA_8;\n }\n else if (this.ddata.getNbLayers() <= 22) {\n codewordSize = 10;\n gf = GenericGF.AZTEC_DATA_10;\n }\n else {\n codewordSize = 12;\n gf = GenericGF.AZTEC_DATA_12;\n }\n let numDataCodewords = this.ddata.getNbDatablocks();\n let numCodewords = rawbits.length / codewordSize;\n if (numCodewords < numDataCodewords) {\n throw new FormatException();\n }\n let offset = rawbits.length % codewordSize;\n let dataWords = new Int32Array(numCodewords);\n for (let i = 0; i < numCodewords; i++, offset += codewordSize) {\n dataWords[i] = Decoder.readCode(rawbits, offset, codewordSize);\n }\n try {\n let rsDecoder = new ReedSolomonDecoder(gf);\n rsDecoder.decode(dataWords, numCodewords - numDataCodewords);\n }\n catch (ex) {\n throw new FormatException(ex);\n }\n // Now perform the unstuffing operation.\n // First, count how many bits are going to be thrown out as stuffing\n let mask = (1 << codewordSize) - 1;\n let stuffedBits = 0;\n for (let i = 0; i < numDataCodewords; i++) {\n let dataWord = dataWords[i];\n if (dataWord === 0 || dataWord === mask) {\n throw new FormatException();\n }\n else if (dataWord === 1 || dataWord === mask - 1) {\n stuffedBits++;\n }\n }\n // Now, actually unpack the bits and remove the stuffing\n let correctedBits = new Array(numDataCodewords * codewordSize - stuffedBits);\n let index = 0;\n for (let i = 0; i < numDataCodewords; i++) {\n let dataWord = dataWords[i];\n if (dataWord === 1 || dataWord === mask - 1) {\n // next codewordSize-1 bits are all zeros or all ones\n correctedBits.fill(dataWord > 1, index, index + codewordSize - 1);\n // Arrays.fill(correctedBits, index, index + codewordSize - 1, dataWord > 1);\n index += codewordSize - 1;\n }\n else {\n for (let bit = codewordSize - 1; bit >= 0; --bit) {\n correctedBits[index++] = (dataWord & (1 << bit)) !== 0;\n }\n }\n }\n return correctedBits;\n }\n /**\n * Gets the array of bits from an Aztec Code matrix\n *\n * @return the array of bits\n */\n extractBits(matrix) {\n let compact = this.ddata.isCompact();\n let layers = this.ddata.getNbLayers();\n let baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n let alignmentMap = new Int32Array(baseMatrixSize);\n let rawbits = new Array(this.totalBitsInLayer(layers, compact));\n if (compact) {\n for (let i = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n }\n else {\n let matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n let origCenter = baseMatrixSize / 2;\n let center = Integer.truncDivision(matrixSize, 2);\n for (let i = 0; i < origCenter; i++) {\n let newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n for (let i = 0, rowOffset = 0; i < layers; i++) {\n let rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n // The top-left most point of this layer is (not including alignment lines)\n let low = i * 2;\n // The bottom-right most point of this layer is (not including alignment lines)\n let high = baseMatrixSize - 1 - low;\n // We pull bits from the two 2 x rowSize columns and two rowSize x 2 rows\n for (let j = 0; j < rowSize; j++) {\n let columnOffset = j * 2;\n for (let k = 0; k < 2; k++) {\n // left column\n rawbits[rowOffset + columnOffset + k] =\n matrix.get(alignmentMap[low + k], alignmentMap[low + j]);\n // bottom row\n rawbits[rowOffset + 2 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[low + j], alignmentMap[high - k]);\n // right column\n rawbits[rowOffset + 4 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - k], alignmentMap[high - j]);\n // top row\n rawbits[rowOffset + 6 * rowSize + columnOffset + k] =\n matrix.get(alignmentMap[high - j], alignmentMap[low + k]);\n }\n }\n rowOffset += rowSize * 8;\n }\n return rawbits;\n }\n /**\n * Reads a code of given length and at given index in an array of bits\n */\n static readCode(rawbits, startIndex, length) {\n let res = 0;\n for (let i = startIndex; i < startIndex + length; i++) {\n res <<= 1;\n if (rawbits[i]) {\n res |= 0x01;\n }\n }\n return res;\n }\n /**\n * Reads a code of length 8 in an array of bits, padding with zeros\n */\n static readByte(rawbits, startIndex) {\n let n = rawbits.length - startIndex;\n if (n >= 8) {\n return Decoder.readCode(rawbits, startIndex, 8);\n }\n return Decoder.readCode(rawbits, startIndex, n) << (8 - n);\n }\n /**\n * Packs a bit array into bytes, most significant bit first\n */\n static convertBoolArrayToByteArray(boolArr) {\n let byteArr = new Uint8Array((boolArr.length + 7) / 8);\n for (let i = 0; i < byteArr.length; i++) {\n byteArr[i] = Decoder.readByte(boolArr, 8 * i);\n }\n return byteArr;\n }\n totalBitsInLayer(layers, compact) {\n return ((compact ? 88 : 112) + 16 * layers) * layers;\n }\n }\n Decoder.UPPER_TABLE = [\n 'CTRL_PS', ' ', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'CTRL_LL', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.LOWER_TABLE = [\n 'CTRL_PS', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',\n 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'CTRL_US', 'CTRL_ML', 'CTRL_DL', 'CTRL_BS'\n ];\n Decoder.MIXED_TABLE = [\n // Module parse failed: Octal literal in strict mode (50:29)\n // so number string were scaped\n 'CTRL_PS', ' ', '\\\\1', '\\\\2', '\\\\3', '\\\\4', '\\\\5', '\\\\6', '\\\\7', '\\b', '\\t', '\\n',\n '\\\\13', '\\f', '\\r', '\\\\33', '\\\\34', '\\\\35', '\\\\36', '\\\\37', '@', '\\\\', '^', '_',\n '`', '|', '~', '\\\\177', 'CTRL_LL', 'CTRL_UL', 'CTRL_PL', 'CTRL_BS'\n ];\n Decoder.PUNCT_TABLE = [\n '', '\\r', '\\r\\n', '. ', ', ', ': ', '!', '\"', '#', '$', '%', '&', '\\'', '(', ')',\n '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '[', ']', '{', '}', 'CTRL_UL'\n ];\n Decoder.DIGIT_TABLE = [\n 'CTRL_PS', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '.', 'CTRL_UL', 'CTRL_US'\n ];\n\n /*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing.common.detector {*/\n /**\n * General math-related and numeric utility functions.\n */\n class MathUtils {\n constructor() { }\n /**\n * Ends up being a bit faster than {@link Math#round(float)}. This merely rounds its\n * argument to the nearest int, where x.5 rounds up to x+1. Semantics of this shortcut\n * differ slightly from {@link Math#round(float)} in that half rounds down for negative\n * values. -2.5 rounds to -3, not -2. For purposes here it makes no difference.\n *\n * @param d real value to round\n * @return nearest {@code int}\n */\n static round(d /*float*/) {\n if (NaN === d)\n return 0;\n if (d <= Number.MIN_SAFE_INTEGER)\n return Number.MIN_SAFE_INTEGER;\n if (d >= Number.MAX_SAFE_INTEGER)\n return Number.MAX_SAFE_INTEGER;\n return /*(int) */ (d + (d < 0.0 ? -0.5 : 0.5)) | 0;\n }\n // TYPESCRIPTPORT: maybe remove round method and call directly Math.round, it looks like it doesn't make sense for js\n /**\n * @param aX point A x coordinate\n * @param aY point A y coordinate\n * @param bX point B x coordinate\n * @param bY point B y coordinate\n * @return Euclidean distance between points A and B\n */\n static distance(aX /*float|int*/, aY /*float|int*/, bX /*float|int*/, bY /*float|int*/) {\n const xDiff = aX - bX;\n const yDiff = aY - bY;\n return /*(float) */ Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n }\n /**\n * @param aX point A x coordinate\n * @param aY point A y coordinate\n * @param bX point B x coordinate\n * @param bY point B y coordinate\n * @return Euclidean distance between points A and B\n */\n // public static distance(aX: number /*int*/, aY: number /*int*/, bX: number /*int*/, bY: number /*int*/): float {\n // const xDiff = aX - bX\n // const yDiff = aY - bY\n // return (float) Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n // }\n /**\n * @param array values to sum\n * @return sum of values in array\n */\n static sum(array) {\n let count = 0;\n for (let i = 0, length = array.length; i !== length; i++) {\n const a = array[i];\n count += a;\n }\n return count;\n }\n }\n\n /**\n * Ponyfill for Java's Float class.\n */\n class Float {\n /**\n * SincTS has no difference between int and float, there's all numbers,\n * this is used only to polyfill Java code.\n */\n static floatToIntBits(f) {\n return f;\n }\n }\n /**\n * The float max value in JS is the number max value.\n */\n Float.MAX_VALUE = Number.MAX_SAFE_INTEGER;\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates a point of interest in an image containing a barcode. Typically, this\n * would be the location of a finder pattern or the corner of the barcode, for example.

\n *\n * @author Sean Owen\n */\n class ResultPoint {\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n getX() {\n return this.x;\n }\n getY() {\n return this.y;\n }\n /*@Override*/\n equals(other) {\n if (other instanceof ResultPoint) {\n const otherPoint = other;\n return this.x === otherPoint.x && this.y === otherPoint.y;\n }\n return false;\n }\n /*@Override*/\n hashCode() {\n return 31 * Float.floatToIntBits(this.x) + Float.floatToIntBits(this.y);\n }\n /*@Override*/\n toString() {\n return '(' + this.x + ',' + this.y + ')';\n }\n /**\n * Orders an array of three ResultPoints in an order [A,B,C] such that AB is less than AC\n * and BC is less than AC, and the angle between BC and BA is less than 180 degrees.\n *\n * @param patterns array of three {@code ResultPoint} to order\n */\n static orderBestPatterns(patterns) {\n // Find distances between pattern centers\n const zeroOneDistance = this.distance(patterns[0], patterns[1]);\n const oneTwoDistance = this.distance(patterns[1], patterns[2]);\n const zeroTwoDistance = this.distance(patterns[0], patterns[2]);\n let pointA;\n let pointB;\n let pointC;\n // Assume one closest to other two is B; A and C will just be guesses at first\n if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) {\n pointB = patterns[0];\n pointA = patterns[1];\n pointC = patterns[2];\n }\n else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) {\n pointB = patterns[1];\n pointA = patterns[0];\n pointC = patterns[2];\n }\n else {\n pointB = patterns[2];\n pointA = patterns[0];\n pointC = patterns[1];\n }\n // Use cross product to figure out whether A and C are correct or flipped.\n // This asks whether BC x BA has a positive z component, which is the arrangement\n // we want for A, B, C. If it's negative, then we've got it flipped around and\n // should swap A and C.\n if (this.crossProductZ(pointA, pointB, pointC) < 0.0) {\n const temp = pointA;\n pointA = pointC;\n pointC = temp;\n }\n patterns[0] = pointA;\n patterns[1] = pointB;\n patterns[2] = pointC;\n }\n /**\n * @param pattern1 first pattern\n * @param pattern2 second pattern\n * @return distance between two points\n */\n static distance(pattern1, pattern2) {\n return MathUtils.distance(pattern1.x, pattern1.y, pattern2.x, pattern2.y);\n }\n /**\n * Returns the z component of the cross product between vectors BC and BA.\n */\n static crossProductZ(pointA, pointB, pointC) {\n const bX = pointB.x;\n const bY = pointB.y;\n return ((pointC.x - bX) * (pointA.y - bY)) - ((pointC.y - bY) * (pointA.x - bX));\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates the result of detecting a barcode in an image. This includes the raw\n * matrix of black/white pixels corresponding to the barcode, and possibly points of interest\n * in the image, like the location of finder patterns or corners of the barcode in the image.

\n *\n * @author Sean Owen\n */\n class DetectorResult {\n constructor(bits, points) {\n this.bits = bits;\n this.points = points;\n }\n getBits() {\n return this.bits;\n }\n getPoints() {\n return this.points;\n }\n }\n\n /*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Extends {@link DetectorResult} with more information specific to the Aztec format,\n * like the number of layers and whether it's compact.

\n *\n * @author Sean Owen\n */\n class AztecDetectorResult extends DetectorResult {\n constructor(bits, points, compact, nbDatablocks, nbLayers) {\n super(bits, points);\n this.compact = compact;\n this.nbDatablocks = nbDatablocks;\n this.nbLayers = nbLayers;\n }\n getNbLayers() {\n return this.nbLayers;\n }\n getNbDatablocks() {\n return this.nbDatablocks;\n }\n isCompact() {\n return this.compact;\n }\n }\n\n /*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

\n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region. By keeping track of the\n * last black points it encountered, it determines the corners of the barcode.\n *

\n *\n * @author David Olivier\n */\n class WhiteRectangleDetector {\n // public constructor(private image: BitMatrix) /*throws NotFoundException*/ {\n // this(image, INIT_SIZE, image.getWidth() / 2, image.getHeight() / 2)\n // }\n /**\n * @param image barcode image to find a rectangle in\n * @param initSize initial size of search area around center\n * @param x x position of search center\n * @param y y position of search center\n * @throws NotFoundException if image is too small to accommodate {@code initSize}\n */\n constructor(image, initSize /*int*/, x /*int*/, y /*int*/) {\n this.image = image;\n this.height = image.getHeight();\n this.width = image.getWidth();\n if (undefined === initSize || null === initSize) {\n initSize = WhiteRectangleDetector.INIT_SIZE;\n }\n if (undefined === x || null === x) {\n x = image.getWidth() / 2 | 0;\n }\n if (undefined === y || null === y) {\n y = image.getHeight() / 2 | 0;\n }\n const halfsize = initSize / 2 | 0;\n this.leftInit = x - halfsize;\n this.rightInit = x + halfsize;\n this.upInit = y - halfsize;\n this.downInit = y + halfsize;\n if (this.upInit < 0 || this.leftInit < 0 || this.downInit >= this.height || this.rightInit >= this.width) {\n throw new NotFoundException();\n }\n }\n /**\n *

\n * Detects a candidate barcode-like rectangular region within an image. It\n * starts around the center of the image, increases the size of the candidate\n * region until it finds a white rectangular region.\n *

\n *\n * @return {@link ResultPoint}[] describing the corners of the rectangular\n * region. The first and last points are opposed on the diagonal, as\n * are the second and third. The first point will be the topmost\n * point and the last, the bottommost. The second point will be\n * leftmost and the third, the rightmost\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n detect() {\n let left = this.leftInit;\n let right = this.rightInit;\n let up = this.upInit;\n let down = this.downInit;\n let sizeExceeded = false;\n let aBlackPointFoundOnBorder = true;\n let atLeastOneBlackPointFoundOnBorder = false;\n let atLeastOneBlackPointFoundOnRight = false;\n let atLeastOneBlackPointFoundOnBottom = false;\n let atLeastOneBlackPointFoundOnLeft = false;\n let atLeastOneBlackPointFoundOnTop = false;\n const width = this.width;\n const height = this.height;\n while (aBlackPointFoundOnBorder) {\n aBlackPointFoundOnBorder = false;\n // .....\n // . |\n // .....\n let rightBorderNotWhite = true;\n while ((rightBorderNotWhite || !atLeastOneBlackPointFoundOnRight) && right < width) {\n rightBorderNotWhite = this.containsBlackPoint(up, down, right, false);\n if (rightBorderNotWhite) {\n right++;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnRight = true;\n }\n else if (!atLeastOneBlackPointFoundOnRight) {\n right++;\n }\n }\n if (right >= width) {\n sizeExceeded = true;\n break;\n }\n // .....\n // . .\n // .___.\n let bottomBorderNotWhite = true;\n while ((bottomBorderNotWhite || !atLeastOneBlackPointFoundOnBottom) && down < height) {\n bottomBorderNotWhite = this.containsBlackPoint(left, right, down, true);\n if (bottomBorderNotWhite) {\n down++;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnBottom = true;\n }\n else if (!atLeastOneBlackPointFoundOnBottom) {\n down++;\n }\n }\n if (down >= height) {\n sizeExceeded = true;\n break;\n }\n // .....\n // | .\n // .....\n let leftBorderNotWhite = true;\n while ((leftBorderNotWhite || !atLeastOneBlackPointFoundOnLeft) && left >= 0) {\n leftBorderNotWhite = this.containsBlackPoint(up, down, left, false);\n if (leftBorderNotWhite) {\n left--;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnLeft = true;\n }\n else if (!atLeastOneBlackPointFoundOnLeft) {\n left--;\n }\n }\n if (left < 0) {\n sizeExceeded = true;\n break;\n }\n // .___.\n // . .\n // .....\n let topBorderNotWhite = true;\n while ((topBorderNotWhite || !atLeastOneBlackPointFoundOnTop) && up >= 0) {\n topBorderNotWhite = this.containsBlackPoint(left, right, up, true);\n if (topBorderNotWhite) {\n up--;\n aBlackPointFoundOnBorder = true;\n atLeastOneBlackPointFoundOnTop = true;\n }\n else if (!atLeastOneBlackPointFoundOnTop) {\n up--;\n }\n }\n if (up < 0) {\n sizeExceeded = true;\n break;\n }\n if (aBlackPointFoundOnBorder) {\n atLeastOneBlackPointFoundOnBorder = true;\n }\n }\n if (!sizeExceeded && atLeastOneBlackPointFoundOnBorder) {\n const maxSize = right - left;\n let z = null;\n for (let i = 1; z === null && i < maxSize; i++) {\n z = this.getBlackPointOnSegment(left, down - i, left + i, down);\n }\n if (z == null) {\n throw new NotFoundException();\n }\n let t = null;\n // go down right\n for (let i = 1; t === null && i < maxSize; i++) {\n t = this.getBlackPointOnSegment(left, up + i, left + i, up);\n }\n if (t == null) {\n throw new NotFoundException();\n }\n let x = null;\n // go down left\n for (let i = 1; x === null && i < maxSize; i++) {\n x = this.getBlackPointOnSegment(right, up + i, right - i, up);\n }\n if (x == null) {\n throw new NotFoundException();\n }\n let y = null;\n // go up left\n for (let i = 1; y === null && i < maxSize; i++) {\n y = this.getBlackPointOnSegment(right, down - i, right - i, down);\n }\n if (y == null) {\n throw new NotFoundException();\n }\n return this.centerEdges(y, z, x, t);\n }\n else {\n throw new NotFoundException();\n }\n }\n getBlackPointOnSegment(aX /*float*/, aY /*float*/, bX /*float*/, bY /*float*/) {\n const dist = MathUtils.round(MathUtils.distance(aX, aY, bX, bY));\n const xStep = (bX - aX) / dist;\n const yStep = (bY - aY) / dist;\n const image = this.image;\n for (let i = 0; i < dist; i++) {\n const x = MathUtils.round(aX + i * xStep);\n const y = MathUtils.round(aY + i * yStep);\n if (image.get(x, y)) {\n return new ResultPoint(x, y);\n }\n }\n return null;\n }\n /**\n * recenters the points of a constant distance towards the center\n *\n * @param y bottom most point\n * @param z left most point\n * @param x right most point\n * @param t top most point\n * @return {@link ResultPoint}[] describing the corners of the rectangular\n * region. The first and last points are opposed on the diagonal, as\n * are the second and third. The first point will be the topmost\n * point and the last, the bottommost. The second point will be\n * leftmost and the third, the rightmost\n */\n centerEdges(y, z, x, t) {\n //\n // t t\n // z x\n // x OR z\n // y y\n //\n const yi = y.getX();\n const yj = y.getY();\n const zi = z.getX();\n const zj = z.getY();\n const xi = x.getX();\n const xj = x.getY();\n const ti = t.getX();\n const tj = t.getY();\n const CORR = WhiteRectangleDetector.CORR;\n if (yi < this.width / 2.0) {\n return [\n new ResultPoint(ti - CORR, tj + CORR),\n new ResultPoint(zi + CORR, zj + CORR),\n new ResultPoint(xi - CORR, xj - CORR),\n new ResultPoint(yi + CORR, yj - CORR)\n ];\n }\n else {\n return [\n new ResultPoint(ti + CORR, tj + CORR),\n new ResultPoint(zi + CORR, zj - CORR),\n new ResultPoint(xi - CORR, xj + CORR),\n new ResultPoint(yi - CORR, yj - CORR)\n ];\n }\n }\n /**\n * Determines whether a segment contains a black point\n *\n * @param a min value of the scanned coordinate\n * @param b max value of the scanned coordinate\n * @param fixed value of fixed coordinate\n * @param horizontal set to true if scan must be horizontal, false if vertical\n * @return true if a black point has been found, else false.\n */\n containsBlackPoint(a /*int*/, b /*int*/, fixed /*int*/, horizontal) {\n const image = this.image;\n if (horizontal) {\n for (let x = a; x <= b; x++) {\n if (image.get(x, fixed)) {\n return true;\n }\n }\n }\n else {\n for (let y = a; y <= b; y++) {\n if (image.get(fixed, y)) {\n return true;\n }\n }\n }\n return false;\n }\n }\n WhiteRectangleDetector.INIT_SIZE = 10;\n WhiteRectangleDetector.CORR = 1;\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * Implementations of this class can, given locations of finder patterns for a QR code in an\n * image, sample the right points in the image to reconstruct the QR code, accounting for\n * perspective distortion. It is abstracted since it is relatively expensive and should be allowed\n * to take advantage of platform-specific optimized implementations, like Sun's Java Advanced\n * Imaging library, but which may not be available in other environments such as J2ME, and vice\n * versa.\n *\n * The implementation used can be controlled by calling {@link #setGridSampler(GridSampler)}\n * with an instance of a class which implements this interface.\n *\n * @author Sean Owen\n */\n class GridSampler {\n /**\n *

Checks a set of points that have been transformed to sample points on an image against\n * the image's dimensions to see if the point are even within the image.

\n *\n *

This method will actually \"nudge\" the endpoints back onto the image if they are found to be\n * barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder\n * patterns in an image where the QR Code runs all the way to the image border.

\n *\n *

For efficiency, the method will check points from either end of the line until one is found\n * to be within the image. Because the set of points are assumed to be linear, this is valid.

\n *\n * @param image image into which the points should map\n * @param points actual points in x1,y1,...,xn,yn form\n * @throws NotFoundException if an endpoint is lies outside the image boundaries\n */\n static checkAndNudgePoints(image, points) {\n const width = image.getWidth();\n const height = image.getHeight();\n // Check and nudge points from start until we see some that are OK:\n let nudged = true;\n for (let offset = 0; offset < points.length && nudged; offset += 2) {\n const x = Math.floor(points[offset]);\n const y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n // Check and nudge points from end:\n nudged = true;\n for (let offset = points.length - 2; offset >= 0 && nudged; offset -= 2) {\n const x = Math.floor(points[offset]);\n const y = Math.floor(points[offset + 1]);\n if (x < -1 || x > width || y < -1 || y > height) {\n throw new NotFoundException();\n }\n nudged = false;\n if (x === -1) {\n points[offset] = 0.0;\n nudged = true;\n }\n else if (x === width) {\n points[offset] = width - 1;\n nudged = true;\n }\n if (y === -1) {\n points[offset + 1] = 0.0;\n nudged = true;\n }\n else if (y === height) {\n points[offset + 1] = height - 1;\n nudged = true;\n }\n }\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing.common {*/\n /**\n *

This class implements a perspective transform in two dimensions. Given four source and four\n * destination points, it will compute the transformation implied between them. The code is based\n * directly upon section 3.4.2 of George Wolberg's \"Digital Image Warping\"; see pages 54-56.

\n *\n * @author Sean Owen\n */\n class PerspectiveTransform {\n constructor(a11 /*float*/, a21 /*float*/, a31 /*float*/, a12 /*float*/, a22 /*float*/, a32 /*float*/, a13 /*float*/, a23 /*float*/, a33 /*float*/) {\n this.a11 = a11;\n this.a21 = a21;\n this.a31 = a31;\n this.a12 = a12;\n this.a22 = a22;\n this.a32 = a32;\n this.a13 = a13;\n this.a23 = a23;\n this.a33 = a33;\n }\n static quadrilateralToQuadrilateral(x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/, x0p /*float*/, y0p /*float*/, x1p /*float*/, y1p /*float*/, x2p /*float*/, y2p /*float*/, x3p /*float*/, y3p /*float*/) {\n const qToS = PerspectiveTransform.quadrilateralToSquare(x0, y0, x1, y1, x2, y2, x3, y3);\n const sToQ = PerspectiveTransform.squareToQuadrilateral(x0p, y0p, x1p, y1p, x2p, y2p, x3p, y3p);\n return sToQ.times(qToS);\n }\n transformPoints(points) {\n const max = points.length;\n const a11 = this.a11;\n const a12 = this.a12;\n const a13 = this.a13;\n const a21 = this.a21;\n const a22 = this.a22;\n const a23 = this.a23;\n const a31 = this.a31;\n const a32 = this.a32;\n const a33 = this.a33;\n for (let i = 0; i < max; i += 2) {\n const x = points[i];\n const y = points[i + 1];\n const denominator = a13 * x + a23 * y + a33;\n points[i] = (a11 * x + a21 * y + a31) / denominator;\n points[i + 1] = (a12 * x + a22 * y + a32) / denominator;\n }\n }\n transformPointsWithValues(xValues, yValues) {\n const a11 = this.a11;\n const a12 = this.a12;\n const a13 = this.a13;\n const a21 = this.a21;\n const a22 = this.a22;\n const a23 = this.a23;\n const a31 = this.a31;\n const a32 = this.a32;\n const a33 = this.a33;\n const n = xValues.length;\n for (let i = 0; i < n; i++) {\n const x = xValues[i];\n const y = yValues[i];\n const denominator = a13 * x + a23 * y + a33;\n xValues[i] = (a11 * x + a21 * y + a31) / denominator;\n yValues[i] = (a12 * x + a22 * y + a32) / denominator;\n }\n }\n static squareToQuadrilateral(x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/) {\n const dx3 = x0 - x1 + x2 - x3;\n const dy3 = y0 - y1 + y2 - y3;\n if (dx3 === 0.0 && dy3 === 0.0) {\n // Affine\n return new PerspectiveTransform(x1 - x0, x2 - x1, x0, y1 - y0, y2 - y1, y0, 0.0, 0.0, 1.0);\n }\n else {\n const dx1 = x1 - x2;\n const dx2 = x3 - x2;\n const dy1 = y1 - y2;\n const dy2 = y3 - y2;\n const denominator = dx1 * dy2 - dx2 * dy1;\n const a13 = (dx3 * dy2 - dx2 * dy3) / denominator;\n const a23 = (dx1 * dy3 - dx3 * dy1) / denominator;\n return new PerspectiveTransform(x1 - x0 + a13 * x1, x3 - x0 + a23 * x3, x0, y1 - y0 + a13 * y1, y3 - y0 + a23 * y3, y0, a13, a23, 1.0);\n }\n }\n static quadrilateralToSquare(x0 /*float*/, y0 /*float*/, x1 /*float*/, y1 /*float*/, x2 /*float*/, y2 /*float*/, x3 /*float*/, y3 /*float*/) {\n // Here, the adjoint serves as the inverse:\n return PerspectiveTransform.squareToQuadrilateral(x0, y0, x1, y1, x2, y2, x3, y3).buildAdjoint();\n }\n buildAdjoint() {\n // Adjoint is the transpose of the cofactor matrix:\n return new PerspectiveTransform(this.a22 * this.a33 - this.a23 * this.a32, this.a23 * this.a31 - this.a21 * this.a33, this.a21 * this.a32 - this.a22 * this.a31, this.a13 * this.a32 - this.a12 * this.a33, this.a11 * this.a33 - this.a13 * this.a31, this.a12 * this.a31 - this.a11 * this.a32, this.a12 * this.a23 - this.a13 * this.a22, this.a13 * this.a21 - this.a11 * this.a23, this.a11 * this.a22 - this.a12 * this.a21);\n }\n times(other) {\n return new PerspectiveTransform(this.a11 * other.a11 + this.a21 * other.a12 + this.a31 * other.a13, this.a11 * other.a21 + this.a21 * other.a22 + this.a31 * other.a23, this.a11 * other.a31 + this.a21 * other.a32 + this.a31 * other.a33, this.a12 * other.a11 + this.a22 * other.a12 + this.a32 * other.a13, this.a12 * other.a21 + this.a22 * other.a22 + this.a32 * other.a23, this.a12 * other.a31 + this.a22 * other.a32 + this.a32 * other.a33, this.a13 * other.a11 + this.a23 * other.a12 + this.a33 * other.a13, this.a13 * other.a21 + this.a23 * other.a22 + this.a33 * other.a23, this.a13 * other.a31 + this.a23 * other.a32 + this.a33 * other.a33);\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Sean Owen\n */\n class DefaultGridSampler extends GridSampler {\n /*@Override*/\n sampleGrid(image, dimensionX /*int*/, dimensionY /*int*/, p1ToX /*float*/, p1ToY /*float*/, p2ToX /*float*/, p2ToY /*float*/, p3ToX /*float*/, p3ToY /*float*/, p4ToX /*float*/, p4ToY /*float*/, p1FromX /*float*/, p1FromY /*float*/, p2FromX /*float*/, p2FromY /*float*/, p3FromX /*float*/, p3FromY /*float*/, p4FromX /*float*/, p4FromY /*float*/) {\n const transform = PerspectiveTransform.quadrilateralToQuadrilateral(p1ToX, p1ToY, p2ToX, p2ToY, p3ToX, p3ToY, p4ToX, p4ToY, p1FromX, p1FromY, p2FromX, p2FromY, p3FromX, p3FromY, p4FromX, p4FromY);\n return this.sampleGridWithTransform(image, dimensionX, dimensionY, transform);\n }\n /*@Override*/\n sampleGridWithTransform(image, dimensionX /*int*/, dimensionY /*int*/, transform) {\n if (dimensionX <= 0 || dimensionY <= 0) {\n throw new NotFoundException();\n }\n const bits = new BitMatrix(dimensionX, dimensionY);\n const points = new Float32Array(2 * dimensionX);\n for (let y = 0; y < dimensionY; y++) {\n const max = points.length;\n const iValue = y + 0.5;\n for (let x = 0; x < max; x += 2) {\n points[x] = (x / 2) + 0.5;\n points[x + 1] = iValue;\n }\n transform.transformPoints(points);\n // Quick check to see if points transformed to something inside the image\n // sufficient to check the endpoints\n GridSampler.checkAndNudgePoints(image, points);\n try {\n for (let x = 0; x < max; x += 2) {\n if (image.get(Math.floor(points[x]), Math.floor(points[x + 1]))) {\n // Black(-ish) pixel\n bits.set(x / 2, y);\n }\n }\n }\n catch (aioobe /*: ArrayIndexOutOfBoundsException*/) {\n // This feels wrong, but, sometimes if the finder patterns are misidentified, the resulting\n // transform gets \"twisted\" such that it maps a straight line of points to a set of points\n // whose endpoints are in bounds, but others are not. There is probably some mathematical\n // way to detect this about the transformation that I don't know yet.\n // This results in an ugly runtime exception despite our clever checks above -- can't have\n // that. We could check each point's coordinates but that feels duplicative. We settle for\n // catching and wrapping ArrayIndexOutOfBoundsException.\n throw new NotFoundException();\n }\n }\n return bits;\n }\n }\n\n class GridSamplerInstance {\n /**\n * Sets the implementation of GridSampler used by the library. One global\n * instance is stored, which may sound problematic. But, the implementation provided\n * ought to be appropriate for the entire platform, and all uses of this library\n * in the whole lifetime of the JVM. For instance, an Android activity can swap in\n * an implementation that takes advantage of native platform libraries.\n *\n * @param newGridSampler The platform-specific object to install.\n */\n static setGridSampler(newGridSampler) {\n GridSamplerInstance.gridSampler = newGridSampler;\n }\n /**\n * @return the current implementation of GridSampler\n */\n static getInstance() {\n return GridSamplerInstance.gridSampler;\n }\n }\n GridSamplerInstance.gridSampler = new DefaultGridSampler();\n\n /*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n class Point {\n constructor(x, y) {\n this.x = x;\n this.y = y;\n }\n toResultPoint() {\n return new ResultPoint(this.getX(), this.getY());\n }\n getX() {\n return this.x;\n }\n getY() {\n return this.y;\n }\n }\n /**\n * Encapsulates logic that can detect an Aztec Code in an image, even if the Aztec Code\n * is rotated or skewed, or partially obscured.\n *\n * @author David Olivier\n * @author Frank Yellin\n */\n class Detector {\n constructor(image) {\n this.EXPECTED_CORNER_BITS = new Int32Array([\n 0xee0,\n 0x1dc,\n 0x83b,\n 0x707,\n ]);\n this.image = image;\n }\n detect() {\n return this.detectMirror(false);\n }\n /**\n * Detects an Aztec Code in an image.\n *\n * @param isMirror if true, image is a mirror-image of original\n * @return {@link AztecDetectorResult} encapsulating results of detecting an Aztec Code\n * @throws NotFoundException if no Aztec Code can be found\n */\n detectMirror(isMirror) {\n // 1. Get the center of the aztec matrix\n let pCenter = this.getMatrixCenter();\n // 2. Get the center points of the four diagonal points just outside the bull's eye\n // [topRight, bottomRight, bottomLeft, topLeft]\n let bullsEyeCorners = this.getBullsEyeCorners(pCenter);\n if (isMirror) {\n let temp = bullsEyeCorners[0];\n bullsEyeCorners[0] = bullsEyeCorners[2];\n bullsEyeCorners[2] = temp;\n }\n // 3. Get the size of the matrix and other parameters from the bull's eye\n this.extractParameters(bullsEyeCorners);\n // 4. Sample the grid\n let bits = this.sampleGrid(this.image, bullsEyeCorners[this.shift % 4], bullsEyeCorners[(this.shift + 1) % 4], bullsEyeCorners[(this.shift + 2) % 4], bullsEyeCorners[(this.shift + 3) % 4]);\n // 5. Get the corners of the matrix.\n let corners = this.getMatrixCornerPoints(bullsEyeCorners);\n return new AztecDetectorResult(bits, corners, this.compact, this.nbDataBlocks, this.nbLayers);\n }\n /**\n * Extracts the number of data layers and data blocks from the layer around the bull's eye.\n *\n * @param bullsEyeCorners the array of bull's eye corners\n * @throws NotFoundException in case of too many errors or invalid parameters\n */\n extractParameters(bullsEyeCorners) {\n if (!this.isValidPoint(bullsEyeCorners[0]) || !this.isValidPoint(bullsEyeCorners[1]) ||\n !this.isValidPoint(bullsEyeCorners[2]) || !this.isValidPoint(bullsEyeCorners[3])) {\n throw new NotFoundException();\n }\n let length = 2 * this.nbCenterLayers;\n // Get the bits around the bull's eye\n let sides = new Int32Array([\n this.sampleLine(bullsEyeCorners[0], bullsEyeCorners[1], length),\n this.sampleLine(bullsEyeCorners[1], bullsEyeCorners[2], length),\n this.sampleLine(bullsEyeCorners[2], bullsEyeCorners[3], length),\n this.sampleLine(bullsEyeCorners[3], bullsEyeCorners[0], length) // Top\n ]);\n // bullsEyeCorners[shift] is the corner of the bulls'eye that has three\n // orientation marks.\n // sides[shift] is the row/column that goes from the corner with three\n // orientation marks to the corner with two.\n this.shift = this.getRotation(sides, length);\n // Flatten the parameter bits into a single 28- or 40-bit long\n let parameterData = 0;\n for (let i = 0; i < 4; i++) {\n let side = sides[(this.shift + i) % 4];\n if (this.compact) {\n // Each side of the form ..XXXXXXX. where Xs are parameter data\n parameterData <<= 7;\n parameterData += (side >> 1) & 0x7F;\n }\n else {\n // Each side of the form ..XXXXX.XXXXX. where Xs are parameter data\n parameterData <<= 10;\n parameterData += ((side >> 2) & (0x1f << 5)) + ((side >> 1) & 0x1F);\n }\n }\n // Corrects parameter data using RS. Returns just the data portion\n // without the error correction.\n let correctedData = this.getCorrectedParameterData(parameterData, this.compact);\n if (this.compact) {\n // 8 bits: 2 bits layers and 6 bits data blocks\n this.nbLayers = (correctedData >> 6) + 1;\n this.nbDataBlocks = (correctedData & 0x3F) + 1;\n }\n else {\n // 16 bits: 5 bits layers and 11 bits data blocks\n this.nbLayers = (correctedData >> 11) + 1;\n this.nbDataBlocks = (correctedData & 0x7FF) + 1;\n }\n }\n getRotation(sides, length) {\n // In a normal pattern, we expect to See\n // ** .* D A\n // * *\n //\n // . *\n // .. .. C B\n //\n // Grab the 3 bits from each of the sides the form the locator pattern and concatenate\n // into a 12-bit integer. Start with the bit at A\n let cornerBits = 0;\n sides.forEach((side, idx, arr) => {\n // XX......X where X's are orientation marks\n let t = ((side >> (length - 2)) << 1) + (side & 1);\n cornerBits = (cornerBits << 3) + t;\n });\n // for (var side in sides) {\n // // XX......X where X's are orientation marks\n // var t = ((side >> (length - 2)) << 1) + (side & 1);\n // cornerBits = (cornerBits << 3) + t;\n // }\n // Mov the bottom bit to the top, so that the three bits of the locator pattern at A are\n // together. cornerBits is now:\n // 3 orientation bits at A || 3 orientation bits at B || ... || 3 orientation bits at D\n cornerBits = ((cornerBits & 1) << 11) + (cornerBits >> 1);\n // The result shift indicates which element of BullsEyeCorners[] goes into the top-left\n // corner. Since the four rotation values have a Hamming distance of 8, we\n // can easily tolerate two errors.\n for (let shift = 0; shift < 4; shift++) {\n if (Integer.bitCount(cornerBits ^ this.EXPECTED_CORNER_BITS[shift]) <= 2) {\n return shift;\n }\n }\n throw new NotFoundException();\n }\n /**\n * Corrects the parameter bits using Reed-Solomon algorithm.\n *\n * @param parameterData parameter bits\n * @param compact true if this is a compact Aztec code\n * @throws NotFoundException if the array contains too many errors\n */\n getCorrectedParameterData(parameterData, compact) {\n let numCodewords;\n let numDataCodewords;\n if (compact) {\n numCodewords = 7;\n numDataCodewords = 2;\n }\n else {\n numCodewords = 10;\n numDataCodewords = 4;\n }\n let numECCodewords = numCodewords - numDataCodewords;\n let parameterWords = new Int32Array(numCodewords);\n for (let i = numCodewords - 1; i >= 0; --i) {\n parameterWords[i] = parameterData & 0xF;\n parameterData >>= 4;\n }\n try {\n let rsDecoder = new ReedSolomonDecoder(GenericGF.AZTEC_PARAM);\n rsDecoder.decode(parameterWords, numECCodewords);\n }\n catch (ignored) {\n throw new NotFoundException();\n }\n // Toss the error correction. Just return the data as an integer\n let result = 0;\n for (let i = 0; i < numDataCodewords; i++) {\n result = (result << 4) + parameterWords[i];\n }\n return result;\n }\n /**\n * Finds the corners of a bull-eye centered on the passed point.\n * This returns the centers of the diagonal points just outside the bull's eye\n * Returns [topRight, bottomRight, bottomLeft, topLeft]\n *\n * @param pCenter Center point\n * @return The corners of the bull-eye\n * @throws NotFoundException If no valid bull-eye can be found\n */\n getBullsEyeCorners(pCenter) {\n let pina = pCenter;\n let pinb = pCenter;\n let pinc = pCenter;\n let pind = pCenter;\n let color = true;\n for (this.nbCenterLayers = 1; this.nbCenterLayers < 9; this.nbCenterLayers++) {\n let pouta = this.getFirstDifferent(pina, color, 1, -1);\n let poutb = this.getFirstDifferent(pinb, color, 1, 1);\n let poutc = this.getFirstDifferent(pinc, color, -1, 1);\n let poutd = this.getFirstDifferent(pind, color, -1, -1);\n // d a\n //\n // c b\n if (this.nbCenterLayers > 2) {\n let q = (this.distancePoint(poutd, pouta) * this.nbCenterLayers) / (this.distancePoint(pind, pina) * (this.nbCenterLayers + 2));\n if (q < 0.75 || q > 1.25 || !this.isWhiteOrBlackRectangle(pouta, poutb, poutc, poutd)) {\n break;\n }\n }\n pina = pouta;\n pinb = poutb;\n pinc = poutc;\n pind = poutd;\n color = !color;\n }\n if (this.nbCenterLayers !== 5 && this.nbCenterLayers !== 7) {\n throw new NotFoundException();\n }\n this.compact = this.nbCenterLayers === 5;\n // Expand the square by .5 pixel in each direction so that we're on the border\n // between the white square and the black square\n let pinax = new ResultPoint(pina.getX() + 0.5, pina.getY() - 0.5);\n let pinbx = new ResultPoint(pinb.getX() + 0.5, pinb.getY() + 0.5);\n let pincx = new ResultPoint(pinc.getX() - 0.5, pinc.getY() + 0.5);\n let pindx = new ResultPoint(pind.getX() - 0.5, pind.getY() - 0.5);\n // Expand the square so that its corners are the centers of the points\n // just outside the bull's eye.\n return this.expandSquare([pinax, pinbx, pincx, pindx], 2 * this.nbCenterLayers - 3, 2 * this.nbCenterLayers);\n }\n /**\n * Finds a candidate center point of an Aztec code from an image\n *\n * @return the center point\n */\n getMatrixCenter() {\n let pointA;\n let pointB;\n let pointC;\n let pointD;\n // Get a white rectangle that can be the border of the matrix in center bull's eye or\n try {\n let cornerPoints = new WhiteRectangleDetector(this.image).detect();\n pointA = cornerPoints[0];\n pointB = cornerPoints[1];\n pointC = cornerPoints[2];\n pointD = cornerPoints[3];\n }\n catch (e) {\n // This exception can be in case the initial rectangle is white\n // In that case, surely in the bull's eye, we try to expand the rectangle.\n let cx = this.image.getWidth() / 2;\n let cy = this.image.getHeight() / 2;\n pointA = this.getFirstDifferent(new Point(cx + 7, cy - 7), false, 1, -1).toResultPoint();\n pointB = this.getFirstDifferent(new Point(cx + 7, cy + 7), false, 1, 1).toResultPoint();\n pointC = this.getFirstDifferent(new Point(cx - 7, cy + 7), false, -1, 1).toResultPoint();\n pointD = this.getFirstDifferent(new Point(cx - 7, cy - 7), false, -1, -1).toResultPoint();\n }\n // Compute the center of the rectangle\n let cx = MathUtils.round((pointA.getX() + pointD.getX() + pointB.getX() + pointC.getX()) / 4.0);\n let cy = MathUtils.round((pointA.getY() + pointD.getY() + pointB.getY() + pointC.getY()) / 4.0);\n // Redetermine the white rectangle starting from previously computed center.\n // This will ensure that we end up with a white rectangle in center bull's eye\n // in order to compute a more accurate center.\n try {\n let cornerPoints = new WhiteRectangleDetector(this.image, 15, cx, cy).detect();\n pointA = cornerPoints[0];\n pointB = cornerPoints[1];\n pointC = cornerPoints[2];\n pointD = cornerPoints[3];\n }\n catch (e) {\n // This exception can be in case the initial rectangle is white\n // In that case we try to expand the rectangle.\n pointA = this.getFirstDifferent(new Point(cx + 7, cy - 7), false, 1, -1).toResultPoint();\n pointB = this.getFirstDifferent(new Point(cx + 7, cy + 7), false, 1, 1).toResultPoint();\n pointC = this.getFirstDifferent(new Point(cx - 7, cy + 7), false, -1, 1).toResultPoint();\n pointD = this.getFirstDifferent(new Point(cx - 7, cy - 7), false, -1, -1).toResultPoint();\n }\n // Recompute the center of the rectangle\n cx = MathUtils.round((pointA.getX() + pointD.getX() + pointB.getX() + pointC.getX()) / 4.0);\n cy = MathUtils.round((pointA.getY() + pointD.getY() + pointB.getY() + pointC.getY()) / 4.0);\n return new Point(cx, cy);\n }\n /**\n * Gets the Aztec code corners from the bull's eye corners and the parameters.\n *\n * @param bullsEyeCorners the array of bull's eye corners\n * @return the array of aztec code corners\n */\n getMatrixCornerPoints(bullsEyeCorners) {\n return this.expandSquare(bullsEyeCorners, 2 * this.nbCenterLayers, this.getDimension());\n }\n /**\n * Creates a BitMatrix by sampling the provided image.\n * topLeft, topRight, bottomRight, and bottomLeft are the centers of the squares on the\n * diagonal just outside the bull's eye.\n */\n sampleGrid(image, topLeft, topRight, bottomRight, bottomLeft) {\n let sampler = GridSamplerInstance.getInstance();\n let dimension = this.getDimension();\n let low = dimension / 2 - this.nbCenterLayers;\n let high = dimension / 2 + this.nbCenterLayers;\n return sampler.sampleGrid(image, dimension, dimension, low, low, // topleft\n high, low, // topright\n high, high, // bottomright\n low, high, // bottomleft\n topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRight.getX(), bottomRight.getY(), bottomLeft.getX(), bottomLeft.getY());\n }\n /**\n * Samples a line.\n *\n * @param p1 start point (inclusive)\n * @param p2 end point (exclusive)\n * @param size number of bits\n * @return the array of bits as an int (first bit is high-order bit of result)\n */\n sampleLine(p1, p2, size) {\n let result = 0;\n let d = this.distanceResultPoint(p1, p2);\n let moduleSize = d / size;\n let px = p1.getX();\n let py = p1.getY();\n let dx = moduleSize * (p2.getX() - p1.getX()) / d;\n let dy = moduleSize * (p2.getY() - p1.getY()) / d;\n for (let i = 0; i < size; i++) {\n if (this.image.get(MathUtils.round(px + i * dx), MathUtils.round(py + i * dy))) {\n result |= 1 << (size - i - 1);\n }\n }\n return result;\n }\n /**\n * @return true if the border of the rectangle passed in parameter is compound of white points only\n * or black points only\n */\n isWhiteOrBlackRectangle(p1, p2, p3, p4) {\n let corr = 3;\n p1 = new Point(p1.getX() - corr, p1.getY() + corr);\n p2 = new Point(p2.getX() - corr, p2.getY() - corr);\n p3 = new Point(p3.getX() + corr, p3.getY() - corr);\n p4 = new Point(p4.getX() + corr, p4.getY() + corr);\n let cInit = this.getColor(p4, p1);\n if (cInit === 0) {\n return false;\n }\n let c = this.getColor(p1, p2);\n if (c !== cInit) {\n return false;\n }\n c = this.getColor(p2, p3);\n if (c !== cInit) {\n return false;\n }\n c = this.getColor(p3, p4);\n return c === cInit;\n }\n /**\n * Gets the color of a segment\n *\n * @return 1 if segment more than 90% black, -1 if segment is more than 90% white, 0 else\n */\n getColor(p1, p2) {\n let d = this.distancePoint(p1, p2);\n let dx = (p2.getX() - p1.getX()) / d;\n let dy = (p2.getY() - p1.getY()) / d;\n let error = 0;\n let px = p1.getX();\n let py = p1.getY();\n let colorModel = this.image.get(p1.getX(), p1.getY());\n let iMax = Math.ceil(d);\n for (let i = 0; i < iMax; i++) {\n px += dx;\n py += dy;\n if (this.image.get(MathUtils.round(px), MathUtils.round(py)) !== colorModel) {\n error++;\n }\n }\n let errRatio = error / d;\n if (errRatio > 0.1 && errRatio < 0.9) {\n return 0;\n }\n return (errRatio <= 0.1) === colorModel ? 1 : -1;\n }\n /**\n * Gets the coordinate of the first point with a different color in the given direction\n */\n getFirstDifferent(init, color, dx, dy) {\n let x = init.getX() + dx;\n let y = init.getY() + dy;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n x += dx;\n y += dy;\n }\n x -= dx;\n y -= dy;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n x += dx;\n }\n x -= dx;\n while (this.isValid(x, y) && this.image.get(x, y) === color) {\n y += dy;\n }\n y -= dy;\n return new Point(x, y);\n }\n /**\n * Expand the square represented by the corner points by pushing out equally in all directions\n *\n * @param cornerPoints the corners of the square, which has the bull's eye at its center\n * @param oldSide the original length of the side of the square in the target bit matrix\n * @param newSide the new length of the size of the square in the target bit matrix\n * @return the corners of the expanded square\n */\n expandSquare(cornerPoints, oldSide, newSide) {\n let ratio = newSide / (2.0 * oldSide);\n let dx = cornerPoints[0].getX() - cornerPoints[2].getX();\n let dy = cornerPoints[0].getY() - cornerPoints[2].getY();\n let centerx = (cornerPoints[0].getX() + cornerPoints[2].getX()) / 2.0;\n let centery = (cornerPoints[0].getY() + cornerPoints[2].getY()) / 2.0;\n let result0 = new ResultPoint(centerx + ratio * dx, centery + ratio * dy);\n let result2 = new ResultPoint(centerx - ratio * dx, centery - ratio * dy);\n dx = cornerPoints[1].getX() - cornerPoints[3].getX();\n dy = cornerPoints[1].getY() - cornerPoints[3].getY();\n centerx = (cornerPoints[1].getX() + cornerPoints[3].getX()) / 2.0;\n centery = (cornerPoints[1].getY() + cornerPoints[3].getY()) / 2.0;\n let result1 = new ResultPoint(centerx + ratio * dx, centery + ratio * dy);\n let result3 = new ResultPoint(centerx - ratio * dx, centery - ratio * dy);\n let results = [result0, result1, result2, result3];\n return results;\n }\n isValid(x, y) {\n return x >= 0 && x < this.image.getWidth() && y > 0 && y < this.image.getHeight();\n }\n isValidPoint(point) {\n let x = MathUtils.round(point.getX());\n let y = MathUtils.round(point.getY());\n return this.isValid(x, y);\n }\n distancePoint(a, b) {\n return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY());\n }\n distanceResultPoint(a, b) {\n return MathUtils.distance(a.getX(), a.getY(), b.getX(), b.getY());\n }\n getDimension() {\n if (this.compact) {\n return 4 * this.nbLayers + 11;\n }\n if (this.nbLayers <= 4) {\n return 4 * this.nbLayers + 15;\n }\n return 4 * this.nbLayers + 2 * (Integer.truncDivision((this.nbLayers - 4), 8) + 1) + 15;\n }\n }\n\n /*\n * Copyright 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // import java.util.List;\n // import java.util.Map;\n /**\n * This implementation can detect and decode Aztec codes in an image.\n *\n * @author David Olivier\n */\n class AztecReader {\n /**\n * Locates and decodes a Data Matrix code in an image.\n *\n * @return a String representing the content encoded by the Data Matrix code\n * @throws NotFoundException if a Data Matrix code cannot be found\n * @throws FormatException if a Data Matrix code cannot be decoded\n */\n decode(image, hints = null) {\n let exception = null;\n let detector = new Detector(image.getBlackMatrix());\n let points = null;\n let decoderResult = null;\n try {\n let detectorResult = detector.detectMirror(false);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n exception = e;\n }\n if (decoderResult == null) {\n try {\n let detectorResult = detector.detectMirror(true);\n points = detectorResult.getPoints();\n this.reportFoundResultPoints(hints, points);\n decoderResult = new Decoder().decode(detectorResult);\n }\n catch (e) {\n if (exception != null) {\n throw exception;\n }\n throw e;\n }\n }\n let result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), decoderResult.getNumBits(), points, BarcodeFormat$1.AZTEC, System.currentTimeMillis());\n let byteSegments = decoderResult.getByteSegments();\n if (byteSegments != null) {\n result.putMetadata(ResultMetadataType$1.BYTE_SEGMENTS, byteSegments);\n }\n let ecLevel = decoderResult.getECLevel();\n if (ecLevel != null) {\n result.putMetadata(ResultMetadataType$1.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n return result;\n }\n reportFoundResultPoints(hints, points) {\n if (hints != null) {\n let rpcb = hints.get(DecodeHintType$1.NEED_RESULT_POINT_CALLBACK);\n if (rpcb != null) {\n points.forEach((point, idx, arr) => {\n rpcb.foundPossibleResultPoint(point);\n });\n }\n }\n }\n // @Override\n reset() {\n // do nothing\n }\n }\n\n /**\n * Aztec Code reader to use from browser.\n *\n * @class BrowserAztecCodeReader\n * @extends {BrowserCodeReader}\n */\n class BrowserAztecCodeReader extends BrowserCodeReader {\n /**\n * Creates an instance of BrowserAztecCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n *\n * @memberOf BrowserAztecCodeReader\n */\n constructor(timeBetweenScansMillis = 500) {\n super(new AztecReader(), timeBetweenScansMillis);\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n */\n class OneDReader {\n /*\n @Override\n public Result decode(BinaryBitmap image) throws NotFoundException, FormatException {\n return decode(image, null);\n }\n */\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n decode(image, hints) {\n try {\n return this.doDecode(image, hints);\n }\n catch (nfe) {\n const tryHarder = hints && (hints.get(DecodeHintType$1.TRY_HARDER) === true);\n if (tryHarder && image.isRotateSupported()) {\n const rotatedImage = image.rotateCounterClockwise();\n const result = this.doDecode(rotatedImage, hints);\n // Record that we found it rotated 90 degrees CCW / 270 degrees CW\n const metadata = result.getResultMetadata();\n let orientation = 270;\n if (metadata !== null && (metadata.get(ResultMetadataType$1.ORIENTATION) === true)) {\n // But if we found it reversed in doDecode(), add in that result here:\n orientation = (orientation + metadata.get(ResultMetadataType$1.ORIENTATION) % 360);\n }\n result.putMetadata(ResultMetadataType$1.ORIENTATION, orientation);\n // Update result points\n const points = result.getResultPoints();\n if (points !== null) {\n const height = rotatedImage.getHeight();\n for (let i = 0; i < points.length; i++) {\n points[i] = new ResultPoint(height - points[i].getY() - 1, points[i].getX());\n }\n }\n return result;\n }\n else {\n throw new NotFoundException();\n }\n }\n }\n // @Override\n reset() {\n // do nothing\n }\n /**\n * We're going to examine rows from the middle outward, searching alternately above and below the\n * middle, and farther out each time. rowStep is the number of rows between each successive\n * attempt above and below the middle. So we'd scan row middle, then middle - rowStep, then\n * middle + rowStep, then middle - (2 * rowStep), etc.\n * rowStep is bigger as the image is taller, but is always at least 1. We've somewhat arbitrarily\n * decided that moving up and down by about 1/16 of the image is pretty good; we try more of the\n * image if \"trying harder\".\n *\n * @param image The image to decode\n * @param hints Any hints that were requested\n * @return The contents of the decoded barcode\n * @throws NotFoundException Any spontaneous errors which occur\n */\n doDecode(image, hints) {\n const width = image.getWidth();\n const height = image.getHeight();\n let row = new BitArray(width);\n const tryHarder = hints && (hints.get(DecodeHintType$1.TRY_HARDER) === true);\n const rowStep = Math.max(1, height >> (tryHarder ? 8 : 5));\n let maxLines;\n if (tryHarder) {\n maxLines = height; // Look at the whole image, not just the center\n }\n else {\n maxLines = 15; // 15 rows spaced 1/32 apart is roughly the middle half of the image\n }\n const middle = Math.trunc(height / 2);\n for (let x = 0; x < maxLines; x++) {\n // Scanning from the middle out. Determine which row we're looking at next:\n const rowStepsAboveOrBelow = Math.trunc((x + 1) / 2);\n const isAbove = (x & 0x01) === 0; // i.e. is x even?\n const rowNumber = middle + rowStep * (isAbove ? rowStepsAboveOrBelow : -rowStepsAboveOrBelow);\n if (rowNumber < 0 || rowNumber >= height) {\n // Oops, if we run off the top or bottom, stop\n break;\n }\n // Estimate black point for this row and load it:\n try {\n row = image.getBlackRow(rowNumber, row);\n }\n catch (ignored) {\n continue;\n }\n // While we have the image data in a BitArray, it's fairly cheap to reverse it in place to\n // handle decoding upside down barcodes.\n for (let attempt = 0; attempt < 2; attempt++) {\n if (attempt === 1) { // trying again?\n row.reverse(); // reverse the row and continue\n // This means we will only ever draw result points *once* in the life of this method\n // since we want to avoid drawing the wrong points after flipping the row, and,\n // don't want to clutter with noise from every single row scan -- just the scans\n // that start on the center line.\n if (hints && (hints.get(DecodeHintType$1.NEED_RESULT_POINT_CALLBACK) === true)) {\n const newHints = new Map();\n hints.forEach((hint, key) => newHints.set(key, hint));\n newHints.delete(DecodeHintType$1.NEED_RESULT_POINT_CALLBACK);\n hints = newHints;\n }\n }\n try {\n // Look for a barcode\n const result = this.decodeRow(rowNumber, row, hints);\n // We found our barcode\n if (attempt === 1) {\n // But it was upside down, so note that\n result.putMetadata(ResultMetadataType$1.ORIENTATION, 180);\n // And remember to flip the result points horizontally.\n const points = result.getResultPoints();\n if (points !== null) {\n points[0] = new ResultPoint(width - points[0].getX() - 1, points[0].getY());\n points[1] = new ResultPoint(width - points[1].getX() - 1, points[1].getY());\n }\n }\n return result;\n }\n catch (re) {\n // continue -- just couldn't decode this row\n }\n }\n }\n throw new NotFoundException();\n }\n /**\n * Records the size of successive runs of white and black pixels in a row, starting at a given point.\n * The values are recorded in the given array, and the number of runs recorded is equal to the size\n * of the array. If the row starts on a white pixel at the given start point, then the first count\n * recorded is the run of white pixels starting from that point; likewise it is the count of a run\n * of black pixels if the row begin on a black pixels at that point.\n *\n * @param row row to count from\n * @param start offset into row to start at\n * @param counters array into which to record counts\n * @throws NotFoundException if counters cannot be filled entirely from row before running out\n * of pixels\n */\n static recordPattern(row, start, counters) {\n const numCounters = counters.length;\n for (let index = 0; index < numCounters; index++)\n counters[index] = 0;\n const end = row.getSize();\n if (start >= end) {\n throw new NotFoundException();\n }\n let isWhite = !row.get(start);\n let counterPosition = 0;\n let i = start;\n while (i < end) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (++counterPosition === numCounters) {\n break;\n }\n else {\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n i++;\n }\n // If we read fully the last section of pixels and filled up our counters -- or filled\n // the last counter but ran off the side of the image, OK. Otherwise, a problem.\n if (!(counterPosition === numCounters || (counterPosition === numCounters - 1 && i === end))) {\n throw new NotFoundException();\n }\n }\n static recordPatternInReverse(row, start, counters) {\n // This could be more efficient I guess\n let numTransitionsLeft = counters.length;\n let last = row.get(start);\n while (start > 0 && numTransitionsLeft >= 0) {\n if (row.get(--start) !== last) {\n numTransitionsLeft--;\n last = !last;\n }\n }\n if (numTransitionsLeft >= 0) {\n throw new NotFoundException();\n }\n OneDReader.recordPattern(row, start + 1, counters);\n }\n /**\n * Determines how closely a set of observed counts of runs of black/white values matches a given\n * target pattern. This is reported as the ratio of the total variance from the expected pattern\n * proportions across all pattern elements, to the length of the pattern.\n *\n * @param counters observed counters\n * @param pattern expected pattern\n * @param maxIndividualVariance The most any counter can differ before we give up\n * @return ratio of total variance between counters and pattern compared to total pattern size\n */\n static patternMatchVariance(counters, pattern, maxIndividualVariance) {\n const numCounters = counters.length;\n let total = 0;\n let patternLength = 0;\n for (let i = 0; i < numCounters; i++) {\n total += counters[i];\n patternLength += pattern[i];\n }\n if (total < patternLength) {\n // If we don't even have one pixel per unit of bar width, assume this is too small\n // to reliably match, so fail:\n return Number.POSITIVE_INFINITY;\n }\n const unitBarWidth = total / patternLength;\n maxIndividualVariance *= unitBarWidth;\n let totalVariance = 0.0;\n for (let x = 0; x < numCounters; x++) {\n const counter = counters[x];\n const scaledPattern = pattern[x] * unitBarWidth;\n const variance = counter > scaledPattern ? counter - scaledPattern : scaledPattern - counter;\n if (variance > maxIndividualVariance) {\n return Number.POSITIVE_INFINITY;\n }\n totalVariance += variance;\n }\n return totalVariance / total;\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Decodes Code 128 barcodes.

\n *\n * @author Sean Owen\n */\n class Code128Reader extends OneDReader {\n static findStartPattern(row) {\n const width = row.getSize();\n const rowOffset = row.getNextSet(0);\n let counterPosition = 0;\n let counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n let patternStart = rowOffset;\n let isWhite = false;\n const patternLength = 6;\n for (let i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === (patternLength - 1)) {\n let bestVariance = Code128Reader.MAX_AVG_VARIANCE;\n let bestMatch = -1;\n for (let startCode = Code128Reader.CODE_START_A; startCode <= Code128Reader.CODE_START_C; startCode++) {\n const variance = OneDReader.patternMatchVariance(counters, Code128Reader.CODE_PATTERNS[startCode], Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = startCode;\n }\n }\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (bestMatch >= 0 &&\n row.isRange(Math.max(0, patternStart - (i - patternStart) / 2), patternStart, false)) {\n return Int32Array.from([patternStart, i, bestMatch]);\n }\n patternStart += counters[0] + counters[1];\n counters = counters.slice(2, counters.length - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n }\n static decodeCode(row, counters, rowOffset) {\n OneDReader.recordPattern(row, rowOffset, counters);\n let bestVariance = Code128Reader.MAX_AVG_VARIANCE; // worst variance we'll accept\n let bestMatch = -1;\n for (let d = 0; d < Code128Reader.CODE_PATTERNS.length; d++) {\n const pattern = Code128Reader.CODE_PATTERNS[d];\n const variance = this.patternMatchVariance(counters, pattern, Code128Reader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = d;\n }\n }\n // TODO We're overlooking the fact that the STOP pattern has 7 values, not 6.\n if (bestMatch >= 0) {\n return bestMatch;\n }\n else {\n throw new NotFoundException();\n }\n }\n decodeRow(rowNumber, row, hints) {\n const convertFNC1 = hints && (hints.get(DecodeHintType$1.ASSUME_GS1) === true);\n const startPatternInfo = Code128Reader.findStartPattern(row);\n const startCode = startPatternInfo[2];\n let currentRawCodesIndex = 0;\n const rawCodes = new Uint8Array(20);\n rawCodes[currentRawCodesIndex++] = startCode;\n let codeSet;\n switch (startCode) {\n case Code128Reader.CODE_START_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_START_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_START_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n default:\n throw new FormatException();\n }\n let done = false;\n let isNextShifted = false;\n let result = '';\n let lastStart = startPatternInfo[0];\n let nextStart = startPatternInfo[1];\n const counters = Int32Array.from([0, 0, 0, 0, 0, 0]);\n let lastCode = 0;\n let code = 0;\n let checksumTotal = startCode;\n let multiplier = 0;\n let lastCharacterWasPrintable = true;\n let upperMode = false;\n let shiftUpperMode = false;\n while (!done) {\n const unshift = isNextShifted;\n isNextShifted = false;\n // Save off last code\n lastCode = code;\n // Decode another code from image\n code = Code128Reader.decodeCode(row, counters, nextStart);\n rawCodes[currentRawCodesIndex++] = code;\n // Remember whether the last code was printable or not (excluding CODE_STOP)\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = true;\n }\n // Add to checksum computation (if not CODE_STOP of course)\n if (code !== Code128Reader.CODE_STOP) {\n multiplier++;\n checksumTotal += multiplier * code;\n }\n // Advance to where the next code will to start\n lastStart = nextStart;\n nextStart += counters.reduce((previous, current) => previous + current, 0);\n // Take care of illegal start codes\n switch (code) {\n case Code128Reader.CODE_START_A:\n case Code128Reader.CODE_START_B:\n case Code128Reader.CODE_START_C:\n throw new FormatException();\n }\n switch (codeSet) {\n case Code128Reader.CODE_CODE_A:\n if (code < 64) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((code - 64));\n }\n else {\n result += String.fromCharCode((code + 64));\n }\n shiftUpperMode = false;\n }\n else {\n // Don't let CODE_STOP, which always appears, affect whether whether we think the last\n // code was printable or not.\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_A:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_B:\n if (code < 96) {\n if (shiftUpperMode === upperMode) {\n result += String.fromCharCode((' '.charCodeAt(0) + code));\n }\n else {\n result += String.fromCharCode((' '.charCodeAt(0) + code + 128));\n }\n shiftUpperMode = false;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_FNC_2:\n case Code128Reader.CODE_FNC_3:\n // do nothing?\n break;\n case Code128Reader.CODE_FNC_4_B:\n if (!upperMode && shiftUpperMode) {\n upperMode = true;\n shiftUpperMode = false;\n }\n else if (upperMode && shiftUpperMode) {\n upperMode = false;\n shiftUpperMode = false;\n }\n else {\n shiftUpperMode = true;\n }\n break;\n case Code128Reader.CODE_SHIFT:\n isNextShifted = true;\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_C:\n codeSet = Code128Reader.CODE_CODE_C;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n case Code128Reader.CODE_CODE_C:\n if (code < 100) {\n if (code < 10) {\n result += '0';\n }\n result += code;\n }\n else {\n if (code !== Code128Reader.CODE_STOP) {\n lastCharacterWasPrintable = false;\n }\n switch (code) {\n case Code128Reader.CODE_FNC_1:\n if (convertFNC1) {\n if (result.length === 0) {\n // GS1 specification 5.4.3.7. and 5.4.6.4. If the first char after the start code\n // is FNC1 then this is GS1-128. We add the symbology identifier.\n result += ']C1';\n }\n else {\n // GS1 specification 5.4.7.5. Every subsequent FNC1 is returned as ASCII 29 (GS)\n result += String.fromCharCode(29);\n }\n }\n break;\n case Code128Reader.CODE_CODE_A:\n codeSet = Code128Reader.CODE_CODE_A;\n break;\n case Code128Reader.CODE_CODE_B:\n codeSet = Code128Reader.CODE_CODE_B;\n break;\n case Code128Reader.CODE_STOP:\n done = true;\n break;\n }\n }\n break;\n }\n // Unshift back to another code set if we were shifted\n if (unshift) {\n codeSet = codeSet === Code128Reader.CODE_CODE_A ? Code128Reader.CODE_CODE_B : Code128Reader.CODE_CODE_A;\n }\n }\n const lastPatternSize = nextStart - lastStart;\n // Check for ample whitespace following pattern, but, to do this we first need to remember that\n // we fudged decoding CODE_STOP since it actually has 7 bars, not 6. There is a black bar left\n // to read off. Would be slightly better to properly read. Here we just skip it:\n nextStart = row.getNextUnset(nextStart);\n if (!row.isRange(nextStart, Math.min(row.getSize(), nextStart + (nextStart - lastStart) / 2), false)) {\n throw new NotFoundException();\n }\n // Pull out from sum the value of the penultimate check code\n checksumTotal -= multiplier * lastCode;\n // lastCode is the checksum then:\n if (checksumTotal % 103 !== lastCode) {\n throw new ChecksumException();\n }\n // Need to pull out the check digits from string\n const resultLength = result.length;\n if (resultLength === 0) {\n // false positive\n throw new NotFoundException();\n }\n // Only bother if the result had at least one character, and if the checksum digit happened to\n // be a printable character. If it was just interpreted as a control code, nothing to remove.\n if (resultLength > 0 && lastCharacterWasPrintable) {\n if (codeSet === Code128Reader.CODE_CODE_C) {\n result = result.substring(0, resultLength - 2);\n }\n else {\n result = result.substring(0, resultLength - 1);\n }\n }\n const left = (startPatternInfo[1] + startPatternInfo[0]) / 2.0;\n const right = lastStart + lastPatternSize / 2.0;\n const rawCodesSize = rawCodes.length;\n const rawBytes = new Uint8Array(rawCodesSize);\n for (let i = 0; i < rawCodesSize; i++) {\n rawBytes[i] = rawCodes[i];\n }\n const points = [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)];\n return new Result(result, rawBytes, 0, points, BarcodeFormat$1.CODE_128, new Date().getTime());\n }\n }\n Code128Reader.CODE_PATTERNS = [\n Int32Array.from([2, 1, 2, 2, 2, 2]),\n Int32Array.from([2, 2, 2, 1, 2, 2]),\n Int32Array.from([2, 2, 2, 2, 2, 1]),\n Int32Array.from([1, 2, 1, 2, 2, 3]),\n Int32Array.from([1, 2, 1, 3, 2, 2]),\n Int32Array.from([1, 3, 1, 2, 2, 2]),\n Int32Array.from([1, 2, 2, 2, 1, 3]),\n Int32Array.from([1, 2, 2, 3, 1, 2]),\n Int32Array.from([1, 3, 2, 2, 1, 2]),\n Int32Array.from([2, 2, 1, 2, 1, 3]),\n Int32Array.from([2, 2, 1, 3, 1, 2]),\n Int32Array.from([2, 3, 1, 2, 1, 2]),\n Int32Array.from([1, 1, 2, 2, 3, 2]),\n Int32Array.from([1, 2, 2, 1, 3, 2]),\n Int32Array.from([1, 2, 2, 2, 3, 1]),\n Int32Array.from([1, 1, 3, 2, 2, 2]),\n Int32Array.from([1, 2, 3, 1, 2, 2]),\n Int32Array.from([1, 2, 3, 2, 2, 1]),\n Int32Array.from([2, 2, 3, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 3, 2]),\n Int32Array.from([2, 2, 1, 2, 3, 1]),\n Int32Array.from([2, 1, 3, 2, 1, 2]),\n Int32Array.from([2, 2, 3, 1, 1, 2]),\n Int32Array.from([3, 1, 2, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 2, 2, 2]),\n Int32Array.from([3, 2, 1, 1, 2, 2]),\n Int32Array.from([3, 2, 1, 2, 2, 1]),\n Int32Array.from([3, 1, 2, 2, 1, 2]),\n Int32Array.from([3, 2, 2, 1, 1, 2]),\n Int32Array.from([3, 2, 2, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 2, 3]),\n Int32Array.from([2, 1, 2, 3, 2, 1]),\n Int32Array.from([2, 3, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 3, 2, 3]),\n Int32Array.from([1, 3, 1, 1, 2, 3]),\n Int32Array.from([1, 3, 1, 3, 2, 1]),\n Int32Array.from([1, 1, 2, 3, 1, 3]),\n Int32Array.from([1, 3, 2, 1, 1, 3]),\n Int32Array.from([1, 3, 2, 3, 1, 1]),\n Int32Array.from([2, 1, 1, 3, 1, 3]),\n Int32Array.from([2, 3, 1, 1, 1, 3]),\n Int32Array.from([2, 3, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 2, 1, 3, 3]),\n Int32Array.from([1, 1, 2, 3, 3, 1]),\n Int32Array.from([1, 3, 2, 1, 3, 1]),\n Int32Array.from([1, 1, 3, 1, 2, 3]),\n Int32Array.from([1, 1, 3, 3, 2, 1]),\n Int32Array.from([1, 3, 3, 1, 2, 1]),\n Int32Array.from([3, 1, 3, 1, 2, 1]),\n Int32Array.from([2, 1, 1, 3, 3, 1]),\n Int32Array.from([2, 3, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 3, 1, 1, 3]),\n Int32Array.from([2, 1, 3, 3, 1, 1]),\n Int32Array.from([2, 1, 3, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 2, 3]),\n Int32Array.from([3, 1, 1, 3, 2, 1]),\n Int32Array.from([3, 3, 1, 1, 2, 1]),\n Int32Array.from([3, 1, 2, 1, 1, 3]),\n Int32Array.from([3, 1, 2, 3, 1, 1]),\n Int32Array.from([3, 3, 2, 1, 1, 1]),\n Int32Array.from([3, 1, 4, 1, 1, 1]),\n Int32Array.from([2, 2, 1, 4, 1, 1]),\n Int32Array.from([4, 3, 1, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 2, 4]),\n Int32Array.from([1, 1, 1, 4, 2, 2]),\n Int32Array.from([1, 2, 1, 1, 2, 4]),\n Int32Array.from([1, 2, 1, 4, 2, 1]),\n Int32Array.from([1, 4, 1, 1, 2, 2]),\n Int32Array.from([1, 4, 1, 2, 2, 1]),\n Int32Array.from([1, 1, 2, 2, 1, 4]),\n Int32Array.from([1, 1, 2, 4, 1, 2]),\n Int32Array.from([1, 2, 2, 1, 1, 4]),\n Int32Array.from([1, 2, 2, 4, 1, 1]),\n Int32Array.from([1, 4, 2, 1, 1, 2]),\n Int32Array.from([1, 4, 2, 2, 1, 1]),\n Int32Array.from([2, 4, 1, 2, 1, 1]),\n Int32Array.from([2, 2, 1, 1, 1, 4]),\n Int32Array.from([4, 1, 3, 1, 1, 1]),\n Int32Array.from([2, 4, 1, 1, 1, 2]),\n Int32Array.from([1, 3, 4, 1, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 4, 2]),\n Int32Array.from([1, 2, 1, 1, 4, 2]),\n Int32Array.from([1, 2, 1, 2, 4, 1]),\n Int32Array.from([1, 1, 4, 2, 1, 2]),\n Int32Array.from([1, 2, 4, 1, 1, 2]),\n Int32Array.from([1, 2, 4, 2, 1, 1]),\n Int32Array.from([4, 1, 1, 2, 1, 2]),\n Int32Array.from([4, 2, 1, 1, 1, 2]),\n Int32Array.from([4, 2, 1, 2, 1, 1]),\n Int32Array.from([2, 1, 2, 1, 4, 1]),\n Int32Array.from([2, 1, 4, 1, 2, 1]),\n Int32Array.from([4, 1, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 1, 1, 4, 3]),\n Int32Array.from([1, 1, 1, 3, 4, 1]),\n Int32Array.from([1, 3, 1, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 1, 3]),\n Int32Array.from([1, 1, 4, 3, 1, 1]),\n Int32Array.from([4, 1, 1, 1, 1, 3]),\n Int32Array.from([4, 1, 1, 3, 1, 1]),\n Int32Array.from([1, 1, 3, 1, 4, 1]),\n Int32Array.from([1, 1, 4, 1, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 4, 1]),\n Int32Array.from([4, 1, 1, 1, 3, 1]),\n Int32Array.from([2, 1, 1, 4, 1, 2]),\n Int32Array.from([2, 1, 1, 2, 1, 4]),\n Int32Array.from([2, 1, 1, 2, 3, 2]),\n Int32Array.from([2, 3, 3, 1, 1, 1, 2]),\n ];\n Code128Reader.MAX_AVG_VARIANCE = 0.25;\n Code128Reader.MAX_INDIVIDUAL_VARIANCE = 0.7;\n Code128Reader.CODE_SHIFT = 98;\n Code128Reader.CODE_CODE_C = 99;\n Code128Reader.CODE_CODE_B = 100;\n Code128Reader.CODE_CODE_A = 101;\n Code128Reader.CODE_FNC_1 = 102;\n Code128Reader.CODE_FNC_2 = 97;\n Code128Reader.CODE_FNC_3 = 96;\n Code128Reader.CODE_FNC_4_A = 101;\n Code128Reader.CODE_FNC_4_B = 100;\n Code128Reader.CODE_START_A = 103;\n Code128Reader.CODE_START_B = 104;\n Code128Reader.CODE_START_C = 105;\n Code128Reader.CODE_STOP = 106;\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Decodes Code 39 barcodes. Supports \"Full ASCII Code 39\" if USE_CODE_39_EXTENDED_MODE is set.

\n *\n * @author Sean Owen\n * @see Code93Reader\n */\n class Code39Reader extends OneDReader {\n /**\n * Creates a reader that assumes all encoded data is data, and does not treat the final\n * character as a check digit. It will not decoded \"extended Code 39\" sequences.\n */\n // public Code39Reader() {\n // this(false);\n // }\n /**\n * Creates a reader that can be configured to check the last character as a check digit.\n * It will not decoded \"extended Code 39\" sequences.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n */\n // public Code39Reader(boolean usingCheckDigit) {\n // this(usingCheckDigit, false);\n // }\n /**\n * Creates a reader that can be configured to check the last character as a check digit,\n * or optionally attempt to decode \"extended Code 39\" sequences that are used to encode\n * the full ASCII character set.\n *\n * @param usingCheckDigit if true, treat the last data character as a check digit, not\n * data, and verify that the checksum passes.\n * @param extendedMode if true, will attempt to decode extended Code 39 sequences in the\n * text.\n */\n constructor(usingCheckDigit = false, extendedMode = false) {\n super();\n this.usingCheckDigit = usingCheckDigit;\n this.extendedMode = extendedMode;\n this.decodeRowResult = '';\n this.counters = new Int32Array(9);\n }\n decodeRow(rowNumber, row, hints) {\n let theCounters = this.counters;\n theCounters.fill(0);\n this.decodeRowResult = '';\n let start = Code39Reader.findAsteriskPattern(row, theCounters);\n // Read off white space\n let nextStart = row.getNextSet(start[1]);\n let end = row.getSize();\n let decodedChar;\n let lastStart;\n do {\n Code39Reader.recordPattern(row, nextStart, theCounters);\n let pattern = Code39Reader.toNarrowWidePattern(theCounters);\n if (pattern < 0) {\n throw new NotFoundException();\n }\n decodedChar = Code39Reader.patternToChar(pattern);\n this.decodeRowResult += decodedChar;\n lastStart = nextStart;\n for (let counter of theCounters) {\n nextStart += counter;\n }\n // Read off white space\n nextStart = row.getNextSet(nextStart);\n } while (decodedChar !== '*');\n this.decodeRowResult = this.decodeRowResult.substring(0, this.decodeRowResult.length - 1); // remove asterisk\n // Look for whitespace after pattern:\n let lastPatternSize = 0;\n for (let counter of theCounters) {\n lastPatternSize += counter;\n }\n let whiteSpaceAfterEnd = nextStart - lastStart - lastPatternSize;\n // If 50% of last pattern size, following last pattern, is not whitespace, fail\n // (but if it's whitespace to the very end of the image, that's OK)\n if (nextStart !== end && (whiteSpaceAfterEnd * 2) < lastPatternSize) {\n throw new NotFoundException();\n }\n if (this.usingCheckDigit) {\n let max = this.decodeRowResult.length - 1;\n let total = 0;\n for (let i = 0; i < max; i++) {\n total += Code39Reader.ALPHABET_STRING.indexOf(this.decodeRowResult.charAt(i));\n }\n if (this.decodeRowResult.charAt(max) !== Code39Reader.ALPHABET_STRING.charAt(total % 43)) {\n throw new ChecksumException();\n }\n this.decodeRowResult = this.decodeRowResult.substring(0, max);\n }\n if (this.decodeRowResult.length === 0) {\n // false positive\n throw new NotFoundException();\n }\n let resultString;\n if (this.extendedMode) {\n resultString = Code39Reader.decodeExtended(this.decodeRowResult);\n }\n else {\n resultString = this.decodeRowResult;\n }\n let left = (start[1] + start[0]) / 2.0;\n let right = lastStart + lastPatternSize / 2.0;\n return new Result(resultString, null, 0, [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)], BarcodeFormat$1.CODE_39, new Date().getTime());\n }\n static findAsteriskPattern(row, counters) {\n let width = row.getSize();\n let rowOffset = row.getNextSet(0);\n let counterPosition = 0;\n let patternStart = rowOffset;\n let isWhite = false;\n let patternLength = counters.length;\n for (let i = rowOffset; i < width; i++) {\n if (row.get(i) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n // Look for whitespace before start pattern, >= 50% of width of start pattern\n if (this.toNarrowWidePattern(counters) === Code39Reader.ASTERISK_ENCODING &&\n row.isRange(Math.max(0, patternStart - Math.floor((i - patternStart) / 2)), patternStart, false)) {\n return [patternStart, i];\n }\n patternStart += counters[0] + counters[1];\n counters.copyWithin(0, 2, 2 + counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n }\n // For efficiency, returns -1 on failure. Not throwing here saved as many as 700 exceptions\n // per image when using some of our blackbox images.\n static toNarrowWidePattern(counters) {\n let numCounters = counters.length;\n let maxNarrowCounter = 0;\n let wideCounters;\n do {\n let minCounter = 0x7fffffff;\n for (let counter of counters) {\n if (counter < minCounter && counter > maxNarrowCounter) {\n minCounter = counter;\n }\n }\n maxNarrowCounter = minCounter;\n wideCounters = 0;\n let totalWideCountersWidth = 0;\n let pattern = 0;\n for (let i = 0; i < numCounters; i++) {\n let counter = counters[i];\n if (counter > maxNarrowCounter) {\n pattern |= 1 << (numCounters - 1 - i);\n wideCounters++;\n totalWideCountersWidth += counter;\n }\n }\n if (wideCounters === 3) {\n // Found 3 wide counters, but are they close enough in width?\n // We can perform a cheap, conservative check to see if any individual\n // counter is more than 1.5 times the average:\n for (let i = 0; i < numCounters && wideCounters > 0; i++) {\n let counter = counters[i];\n if (counter > maxNarrowCounter) {\n wideCounters--;\n // totalWideCountersWidth = 3 * average, so this checks if counter >= 3/2 * average\n if ((counter * 2) >= totalWideCountersWidth) {\n return -1;\n }\n }\n }\n return pattern;\n }\n } while (wideCounters > 3);\n return -1;\n }\n static patternToChar(pattern) {\n for (let i = 0; i < Code39Reader.CHARACTER_ENCODINGS.length; i++) {\n if (Code39Reader.CHARACTER_ENCODINGS[i] === pattern) {\n return Code39Reader.ALPHABET_STRING.charAt(i);\n }\n }\n if (pattern === Code39Reader.ASTERISK_ENCODING) {\n return '*';\n }\n throw new NotFoundException();\n }\n static decodeExtended(encoded) {\n let length = encoded.length;\n let decoded = '';\n for (let i = 0; i < length; i++) {\n let c = encoded.charAt(i);\n if (c === '+' || c === '$' || c === '%' || c === '/') {\n let next = encoded.charAt(i + 1);\n let decodedChar = '\\0';\n switch (c) {\n case '+':\n // +A to +Z map to a to z\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 32);\n }\n else {\n throw new FormatException();\n }\n break;\n case '$':\n // $A to $Z map to control codes SH to SB\n if (next >= 'A' && next <= 'Z') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 64);\n }\n else {\n throw new FormatException();\n }\n break;\n case '%':\n // %A to %E map to control codes ESC to US\n if (next >= 'A' && next <= 'E') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 38);\n }\n else if (next >= 'F' && next <= 'J') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 11);\n }\n else if (next >= 'K' && next <= 'O') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 16);\n }\n else if (next >= 'P' && next <= 'T') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) + 43);\n }\n else if (next === 'U') {\n decodedChar = '\\0';\n }\n else if (next === 'V') {\n decodedChar = '@';\n }\n else if (next === 'W') {\n decodedChar = '`';\n }\n else if (next === 'X' || next === 'Y' || next === 'Z') {\n decodedChar = '\\x7f';\n }\n else {\n throw new FormatException();\n }\n break;\n case '/':\n // /A to /O map to ! to , and /Z maps to :\n if (next >= 'A' && next <= 'O') {\n decodedChar = String.fromCharCode(next.charCodeAt(0) - 32);\n }\n else if (next === 'Z') {\n decodedChar = ':';\n }\n else {\n throw new FormatException();\n }\n break;\n }\n decoded += decodedChar;\n // bump up i again since we read two characters\n i++;\n }\n else {\n decoded += c;\n }\n }\n return decoded;\n }\n }\n Code39Reader.ALPHABET_STRING = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%';\n /**\n * These represent the encodings of characters, as patterns of wide and narrow bars.\n * The 9 least-significant bits of each int correspond to the pattern of wide and narrow,\n * with 1s representing \"wide\" and 0s representing narrow.\n */\n Code39Reader.CHARACTER_ENCODINGS = [\n 0x034, 0x121, 0x061, 0x160, 0x031, 0x130, 0x070, 0x025, 0x124, 0x064,\n 0x109, 0x049, 0x148, 0x019, 0x118, 0x058, 0x00D, 0x10C, 0x04C, 0x01C,\n 0x103, 0x043, 0x142, 0x013, 0x112, 0x052, 0x007, 0x106, 0x046, 0x016,\n 0x181, 0x0C1, 0x1C0, 0x091, 0x190, 0x0D0, 0x085, 0x184, 0x0C4, 0x0A8,\n 0x0A2, 0x08A, 0x02A // /-%\n ];\n Code39Reader.ASTERISK_ENCODING = 0x094;\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Decodes ITF barcodes.

\n *\n * @author Tjieco\n */\n class ITFReader extends OneDReader {\n constructor() {\n // private static W = 3; // Pixel width of a 3x wide line\n // private static w = 2; // Pixel width of a 2x wide line\n // private static N = 1; // Pixed width of a narrow line\n super(...arguments);\n // Stores the actual narrow line width of the image being decoded.\n this.narrowLineWidth = -1;\n }\n // See ITFWriter.PATTERNS\n /*\n \n /!**\n * Patterns of Wide / Narrow lines to indicate each digit\n *!/\n */\n decodeRow(rowNumber, row, hints) {\n // Find out where the Middle section (payload) starts & ends\n let startRange = this.decodeStart(row);\n let endRange = this.decodeEnd(row);\n let result = new StringBuilder();\n ITFReader.decodeMiddle(row, startRange[1], endRange[0], result);\n let resultString = result.toString();\n let allowedLengths = null;\n if (hints != null) {\n allowedLengths = hints.get(DecodeHintType$1.ALLOWED_LENGTHS);\n }\n if (allowedLengths == null) {\n allowedLengths = ITFReader.DEFAULT_ALLOWED_LENGTHS;\n }\n // To avoid false positives with 2D barcodes (and other patterns), make\n // an assumption that the decoded string must be a 'standard' length if it's short\n let length = resultString.length;\n let lengthOK = false;\n let maxAllowedLength = 0;\n for (let value of allowedLengths) {\n if (length === value) {\n lengthOK = true;\n break;\n }\n if (value > maxAllowedLength) {\n maxAllowedLength = value;\n }\n }\n if (!lengthOK && length > maxAllowedLength) {\n lengthOK = true;\n }\n if (!lengthOK) {\n throw new FormatException();\n }\n const points = [new ResultPoint(startRange[1], rowNumber), new ResultPoint(endRange[0], rowNumber)];\n let resultReturn = new Result(resultString, null, // no natural byte representation for these barcodes\n 0, points, BarcodeFormat$1.ITF, new Date().getTime());\n return resultReturn;\n }\n /*\n /!**\n * @param row row of black/white values to search\n * @param payloadStart offset of start pattern\n * @param resultString {@link StringBuilder} to append decoded chars to\n * @throws NotFoundException if decoding could not complete successfully\n *!/*/\n static decodeMiddle(row, payloadStart, payloadEnd, resultString) {\n // Digits are interleaved in pairs - 5 black lines for one digit, and the\n // 5\n // interleaved white lines for the second digit.\n // Therefore, need to scan 10 lines and then\n // split these into two arrays\n let counterDigitPair = new Int32Array(10); // 10\n let counterBlack = new Int32Array(5); // 5\n let counterWhite = new Int32Array(5); // 5\n counterDigitPair.fill(0);\n counterBlack.fill(0);\n counterWhite.fill(0);\n while (payloadStart < payloadEnd) {\n // Get 10 runs of black/white.\n OneDReader.recordPattern(row, payloadStart, counterDigitPair);\n // Split them into each array\n for (let k = 0; k < 5; k++) {\n let twoK = 2 * k;\n counterBlack[k] = counterDigitPair[twoK];\n counterWhite[k] = counterDigitPair[twoK + 1];\n }\n let bestMatch = ITFReader.decodeDigit(counterBlack);\n resultString.append(bestMatch.toString());\n bestMatch = this.decodeDigit(counterWhite);\n resultString.append(bestMatch.toString());\n counterDigitPair.forEach(function (counterDigit) {\n payloadStart += counterDigit;\n });\n }\n }\n /*/!**\n * Identify where the start of the middle / payload section starts.\n *\n * @param row row of black/white values to search\n * @return Array, containing index of start of 'start block' and end of\n * 'start block'\n *!/*/\n decodeStart(row) {\n let endStart = ITFReader.skipWhiteSpace(row);\n let startPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.START_PATTERN);\n // Determine the width of a narrow line in pixels. We can do this by\n // getting the width of the start pattern and dividing by 4 because its\n // made up of 4 narrow lines.\n this.narrowLineWidth = (startPattern[1] - startPattern[0]) / 4;\n this.validateQuietZone(row, startPattern[0]);\n return startPattern;\n }\n /*/!**\n * The start & end patterns must be pre/post fixed by a quiet zone. This\n * zone must be at least 10 times the width of a narrow line. Scan back until\n * we either get to the start of the barcode or match the necessary number of\n * quiet zone pixels.\n *\n * Note: Its assumed the row is reversed when using this method to find\n * quiet zone after the end pattern.\n *\n * ref: http://www.barcode-1.net/i25code.html\n *\n * @param row bit array representing the scanned barcode.\n * @param startPattern index into row of the start or end pattern.\n * @throws NotFoundException if the quiet zone cannot be found\n *!/*/\n validateQuietZone(row, startPattern) {\n let quietCount = this.narrowLineWidth * 10; // expect to find this many pixels of quiet zone\n // if there are not so many pixel at all let's try as many as possible\n quietCount = quietCount < startPattern ? quietCount : startPattern;\n for (let i = startPattern - 1; quietCount > 0 && i >= 0; i--) {\n if (row.get(i)) {\n break;\n }\n quietCount--;\n }\n if (quietCount !== 0) {\n // Unable to find the necessary number of quiet zone pixels.\n throw new NotFoundException();\n }\n }\n /*\n /!**\n * Skip all whitespace until we get to the first black line.\n *\n * @param row row of black/white values to search\n * @return index of the first black line.\n * @throws NotFoundException Throws exception if no black lines are found in the row\n *!/*/\n static skipWhiteSpace(row) {\n const width = row.getSize();\n const endStart = row.getNextSet(0);\n if (endStart === width) {\n throw new NotFoundException();\n }\n return endStart;\n }\n /*/!**\n * Identify where the end of the middle / payload section ends.\n *\n * @param row row of black/white values to search\n * @return Array, containing index of start of 'end block' and end of 'end\n * block'\n *!/*/\n decodeEnd(row) {\n // For convenience, reverse the row and then\n // search from 'the start' for the end block\n row.reverse();\n try {\n let endStart = ITFReader.skipWhiteSpace(row);\n let endPattern;\n try {\n endPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.END_PATTERN_REVERSED[0]);\n }\n catch (error) {\n if (error instanceof NotFoundException) {\n endPattern = ITFReader.findGuardPattern(row, endStart, ITFReader.END_PATTERN_REVERSED[1]);\n }\n }\n // The start & end patterns must be pre/post fixed by a quiet zone. This\n // zone must be at least 10 times the width of a narrow line.\n // ref: http://www.barcode-1.net/i25code.html\n this.validateQuietZone(row, endPattern[0]);\n // Now recalculate the indices of where the 'endblock' starts & stops to\n // accommodate\n // the reversed nature of the search\n let temp = endPattern[0];\n endPattern[0] = row.getSize() - endPattern[1];\n endPattern[1] = row.getSize() - temp;\n return endPattern;\n }\n finally {\n // Put the row back the right way.\n row.reverse();\n }\n }\n /*\n /!**\n * @param row row of black/white values to search\n * @param rowOffset position to start search\n * @param pattern pattern of counts of number of black and white pixels that are\n * being searched for as a pattern\n * @return start/end horizontal offset of guard pattern, as an array of two\n * ints\n * @throws NotFoundException if pattern is not found\n *!/*/\n static findGuardPattern(row, rowOffset, pattern) {\n let patternLength = pattern.length;\n let counters = new Int32Array(patternLength);\n let width = row.getSize();\n let isWhite = false;\n let counterPosition = 0;\n let patternStart = rowOffset;\n counters.fill(0);\n for (let x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (OneDReader.patternMatchVariance(counters, pattern, ITFReader.MAX_INDIVIDUAL_VARIANCE) < ITFReader.MAX_AVG_VARIANCE) {\n return [patternStart, x];\n }\n patternStart += counters[0] + counters[1];\n System.arraycopy(counters, 2, counters, 0, counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n }\n /*/!**\n * Attempts to decode a sequence of ITF black/white lines into single\n * digit.\n *\n * @param counters the counts of runs of observed black/white/black/... values\n * @return The decoded digit\n * @throws NotFoundException if digit cannot be decoded\n *!/*/\n static decodeDigit(counters) {\n let bestVariance = ITFReader.MAX_AVG_VARIANCE; // worst variance we'll accept\n let bestMatch = -1;\n let max = ITFReader.PATTERNS.length;\n for (let i = 0; i < max; i++) {\n let pattern = ITFReader.PATTERNS[i];\n let variance = OneDReader.patternMatchVariance(counters, pattern, ITFReader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = i;\n }\n else if (variance === bestVariance) {\n // if we find a second 'best match' with the same variance, we can not reliably report to have a suitable match\n bestMatch = -1;\n }\n }\n if (bestMatch >= 0) {\n return bestMatch % 10;\n }\n else {\n throw new NotFoundException();\n }\n }\n }\n ITFReader.PATTERNS = [\n Int32Array.from([1, 1, 2, 2, 1]),\n Int32Array.from([2, 1, 1, 1, 2]),\n Int32Array.from([1, 2, 1, 1, 2]),\n Int32Array.from([2, 2, 1, 1, 1]),\n Int32Array.from([1, 1, 2, 1, 2]),\n Int32Array.from([2, 1, 2, 1, 1]),\n Int32Array.from([1, 2, 2, 1, 1]),\n Int32Array.from([1, 1, 1, 2, 2]),\n Int32Array.from([2, 1, 1, 2, 1]),\n Int32Array.from([1, 2, 1, 2, 1]),\n Int32Array.from([1, 1, 3, 3, 1]),\n Int32Array.from([3, 1, 1, 1, 3]),\n Int32Array.from([1, 3, 1, 1, 3]),\n Int32Array.from([3, 3, 1, 1, 1]),\n Int32Array.from([1, 1, 3, 1, 3]),\n Int32Array.from([3, 1, 3, 1, 1]),\n Int32Array.from([1, 3, 3, 1, 1]),\n Int32Array.from([1, 1, 1, 3, 3]),\n Int32Array.from([3, 1, 1, 3, 1]),\n Int32Array.from([1, 3, 1, 3, 1]) // 9\n ];\n ITFReader.MAX_AVG_VARIANCE = 0.38;\n ITFReader.MAX_INDIVIDUAL_VARIANCE = 0.5;\n /* /!** Valid ITF lengths. Anything longer than the largest value is also allowed. *!/*/\n ITFReader.DEFAULT_ALLOWED_LENGTHS = [6, 8, 10, 12, 14];\n /*/!**\n * Start/end guard pattern.\n *\n * Note: The end pattern is reversed because the row is reversed before\n * searching for the END_PATTERN\n *!/*/\n ITFReader.START_PATTERN = Int32Array.from([1, 1, 1, 1]);\n ITFReader.END_PATTERN_REVERSED = [\n Int32Array.from([1, 1, 2]),\n Int32Array.from([1, 1, 3]) // 3x\n ];\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.

\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\n class AbstractUPCEANReader extends OneDReader {\n constructor() {\n super(...arguments);\n this.decodeRowStringBuffer = '';\n }\n // private final UPCEANExtensionSupport extensionReader;\n // private final EANManufacturerOrgSupport eanManSupport;\n /*\n protected UPCEANReader() {\n decodeRowStringBuffer = new StringBuilder(20);\n extensionReader = new UPCEANExtensionSupport();\n eanManSupport = new EANManufacturerOrgSupport();\n }\n */\n static findStartGuardPattern(row) {\n let foundStart = false;\n let startRange;\n let nextStart = 0;\n let counters = Int32Array.from([0, 0, 0]);\n while (!foundStart) {\n counters = Int32Array.from([0, 0, 0]);\n startRange = AbstractUPCEANReader.findGuardPattern(row, nextStart, false, this.START_END_PATTERN, counters);\n let start = startRange[0];\n nextStart = startRange[1];\n let quietStart = start - (nextStart - start);\n if (quietStart >= 0) {\n foundStart = row.isRange(quietStart, start, false);\n }\n }\n return startRange;\n }\n static checkChecksum(s) {\n return AbstractUPCEANReader.checkStandardUPCEANChecksum(s);\n }\n static checkStandardUPCEANChecksum(s) {\n let length = s.length;\n if (length === 0)\n return false;\n let check = parseInt(s.charAt(length - 1), 10);\n return AbstractUPCEANReader.getStandardUPCEANChecksum(s.substring(0, length - 1)) === check;\n }\n static getStandardUPCEANChecksum(s) {\n let length = s.length;\n let sum = 0;\n for (let i = length - 1; i >= 0; i -= 2) {\n let digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n sum *= 3;\n for (let i = length - 2; i >= 0; i -= 2) {\n let digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n return (1000 - sum) % 10;\n }\n static decodeEnd(row, endStart) {\n return AbstractUPCEANReader.findGuardPattern(row, endStart, false, AbstractUPCEANReader.START_END_PATTERN, new Int32Array(AbstractUPCEANReader.START_END_PATTERN.length).fill(0));\n }\n /**\n * @throws NotFoundException\n */\n static findGuardPatternWithoutCounters(row, rowOffset, whiteFirst, pattern) {\n return this.findGuardPattern(row, rowOffset, whiteFirst, pattern, new Int32Array(pattern.length));\n }\n /**\n * @param row row of black/white values to search\n * @param rowOffset position to start search\n * @param whiteFirst if true, indicates that the pattern specifies white/black/white/...\n * pixel counts, otherwise, it is interpreted as black/white/black/...\n * @param pattern pattern of counts of number of black and white pixels that are being\n * searched for as a pattern\n * @param counters array of counters, as long as pattern, to re-use\n * @return start/end horizontal offset of guard pattern, as an array of two ints\n * @throws NotFoundException if pattern is not found\n */\n static findGuardPattern(row, rowOffset, whiteFirst, pattern, counters) {\n let width = row.getSize();\n rowOffset = whiteFirst ? row.getNextUnset(rowOffset) : row.getNextSet(rowOffset);\n let counterPosition = 0;\n let patternStart = rowOffset;\n let patternLength = pattern.length;\n let isWhite = whiteFirst;\n for (let x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (OneDReader.patternMatchVariance(counters, pattern, AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE) < AbstractUPCEANReader.MAX_AVG_VARIANCE) {\n return Int32Array.from([patternStart, x]);\n }\n patternStart += counters[0] + counters[1];\n let slice = counters.slice(2, counters.length - 1);\n for (let i = 0; i < counterPosition - 1; i++) {\n counters[i] = slice[i];\n }\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n }\n static decodeDigit(row, counters, rowOffset, patterns) {\n this.recordPattern(row, rowOffset, counters);\n let bestVariance = this.MAX_AVG_VARIANCE;\n let bestMatch = -1;\n let max = patterns.length;\n for (let i = 0; i < max; i++) {\n let pattern = patterns[i];\n let variance = OneDReader.patternMatchVariance(counters, pattern, AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE);\n if (variance < bestVariance) {\n bestVariance = variance;\n bestMatch = i;\n }\n }\n if (bestMatch >= 0) {\n return bestMatch;\n }\n else {\n throw new NotFoundException();\n }\n }\n }\n // These two values are critical for determining how permissive the decoding will be.\n // We've arrived at these values through a lot of trial and error. Setting them any higher\n // lets false positives creep in quickly.\n AbstractUPCEANReader.MAX_AVG_VARIANCE = 0.48;\n AbstractUPCEANReader.MAX_INDIVIDUAL_VARIANCE = 0.7;\n /**\n * Start/end guard pattern.\n */\n AbstractUPCEANReader.START_END_PATTERN = Int32Array.from([1, 1, 1]);\n /**\n * Pattern marking the middle of a UPC/EAN pattern, separating the two halves.\n */\n AbstractUPCEANReader.MIDDLE_PATTERN = Int32Array.from([1, 1, 1, 1, 1]);\n /**\n * end guard pattern.\n */\n AbstractUPCEANReader.END_PATTERN = Int32Array.from([1, 1, 1, 1, 1, 1]);\n /**\n * \"Odd\", or \"L\" patterns used to encode UPC/EAN digits.\n */\n AbstractUPCEANReader.L_PATTERNS = [\n Int32Array.from([3, 2, 1, 1]),\n Int32Array.from([2, 2, 2, 1]),\n Int32Array.from([2, 1, 2, 2]),\n Int32Array.from([1, 4, 1, 1]),\n Int32Array.from([1, 1, 3, 2]),\n Int32Array.from([1, 2, 3, 1]),\n Int32Array.from([1, 1, 1, 4]),\n Int32Array.from([1, 3, 1, 2]),\n Int32Array.from([1, 2, 1, 3]),\n Int32Array.from([3, 1, 1, 2]),\n ];\n\n /*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @see UPCEANExtension2Support\n */\n class UPCEANExtension5Support {\n constructor() {\n this.CHECK_DIGIT_ENCODINGS = [0x18, 0x14, 0x12, 0x11, 0x0C, 0x06, 0x03, 0x0A, 0x09, 0x05];\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n this.decodeRowStringBuffer = '';\n }\n decodeRow(rowNumber, row, extensionStartRange) {\n let result = this.decodeRowStringBuffer;\n let end = this.decodeMiddle(row, extensionStartRange, result);\n let resultString = result.toString();\n let extensionData = UPCEANExtension5Support.parseExtensionString(resultString);\n let resultPoints = [\n new ResultPoint((extensionStartRange[0] + extensionStartRange[1]) / 2.0, rowNumber),\n new ResultPoint(end, rowNumber)\n ];\n let extensionResult = new Result(resultString, null, 0, resultPoints, BarcodeFormat$1.UPC_EAN_EXTENSION, new Date().getTime());\n if (extensionData != null) {\n extensionResult.putAllMetadata(extensionData);\n }\n return extensionResult;\n }\n decodeMiddle(row, startRange, resultString) {\n let counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let end = row.getSize();\n let rowOffset = startRange[1];\n let lgPatternFound = 0;\n for (let x = 0; x < 5 && rowOffset < end; x++) {\n let bestMatch = AbstractUPCEANReader.decodeDigit(row, counters, rowOffset, AbstractUPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n for (let counter of counters) {\n rowOffset += counter;\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (4 - x);\n }\n if (x !== 4) {\n // Read off separator if not last\n rowOffset = row.getNextSet(rowOffset);\n rowOffset = row.getNextUnset(rowOffset);\n }\n }\n if (resultString.length !== 5) {\n throw new NotFoundException();\n }\n let checkDigit = this.determineCheckDigit(lgPatternFound);\n if (UPCEANExtension5Support.extensionChecksum(resultString.toString()) !== checkDigit) {\n throw new NotFoundException();\n }\n return rowOffset;\n }\n static extensionChecksum(s) {\n let length = s.length;\n let sum = 0;\n for (let i = length - 2; i >= 0; i -= 2) {\n sum += s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n }\n sum *= 3;\n for (let i = length - 1; i >= 0; i -= 2) {\n sum += s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n }\n sum *= 3;\n return sum % 10;\n }\n determineCheckDigit(lgPatternFound) {\n for (let d = 0; d < 10; d++) {\n if (lgPatternFound === this.CHECK_DIGIT_ENCODINGS[d]) {\n return d;\n }\n }\n throw new NotFoundException();\n }\n static parseExtensionString(raw) {\n if (raw.length !== 5) {\n return null;\n }\n let value = UPCEANExtension5Support.parseExtension5String(raw);\n if (value == null) {\n return null;\n }\n return new Map([[ResultMetadataType$1.SUGGESTED_PRICE, value]]);\n }\n static parseExtension5String(raw) {\n let currency;\n switch (raw.charAt(0)) {\n case '0':\n currency = '£';\n break;\n case '5':\n currency = '$';\n break;\n case '9':\n // Reference: http://www.jollytech.com\n switch (raw) {\n case '90000':\n // No suggested retail price\n return null;\n case '99991':\n // Complementary\n return '0.00';\n case '99990':\n return 'Used';\n }\n // Otherwise... unknown currency?\n currency = '';\n break;\n default:\n currency = '';\n break;\n }\n let rawAmount = parseInt(raw.substring(1));\n let unitsString = (rawAmount / 100).toString();\n let hundredths = rawAmount % 100;\n let hundredthsString = hundredths < 10 ? '0' + hundredths : hundredths.toString(); // fixme\n return currency + unitsString + '.' + hundredthsString;\n }\n }\n\n /*\n * Copyright (C) 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @see UPCEANExtension5Support\n */\n class UPCEANExtension2Support {\n constructor() {\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n this.decodeRowStringBuffer = '';\n }\n decodeRow(rowNumber, row, extensionStartRange) {\n let result = this.decodeRowStringBuffer;\n let end = this.decodeMiddle(row, extensionStartRange, result);\n let resultString = result.toString();\n let extensionData = UPCEANExtension2Support.parseExtensionString(resultString);\n let resultPoints = [\n new ResultPoint((extensionStartRange[0] + extensionStartRange[1]) / 2.0, rowNumber),\n new ResultPoint(end, rowNumber)\n ];\n let extensionResult = new Result(resultString, null, 0, resultPoints, BarcodeFormat$1.UPC_EAN_EXTENSION, new Date().getTime());\n if (extensionData != null) {\n extensionResult.putAllMetadata(extensionData);\n }\n return extensionResult;\n }\n decodeMiddle(row, startRange, resultString) {\n let counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let end = row.getSize();\n let rowOffset = startRange[1];\n let checkParity = 0;\n for (let x = 0; x < 2 && rowOffset < end; x++) {\n let bestMatch = AbstractUPCEANReader.decodeDigit(row, counters, rowOffset, AbstractUPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n for (let counter of counters) {\n rowOffset += counter;\n }\n if (bestMatch >= 10) {\n checkParity |= 1 << (1 - x);\n }\n if (x !== 1) {\n // Read off separator if not last\n rowOffset = row.getNextSet(rowOffset);\n rowOffset = row.getNextUnset(rowOffset);\n }\n }\n if (resultString.length !== 2) {\n throw new NotFoundException();\n }\n if (parseInt(resultString.toString()) % 4 !== checkParity) {\n throw new NotFoundException();\n }\n return rowOffset;\n }\n static parseExtensionString(raw) {\n if (raw.length !== 2) {\n return null;\n }\n return new Map([[ResultMetadataType$1.ISSUE_NUMBER, parseInt(raw)]]);\n }\n }\n\n /*\n * Copyright (C) 2010 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n class UPCEANExtensionSupport {\n static decodeRow(rowNumber, row, rowOffset) {\n let extensionStartRange = AbstractUPCEANReader.findGuardPattern(row, rowOffset, false, this.EXTENSION_START_PATTERN, new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));\n try {\n // return null;\n let fiveSupport = new UPCEANExtension5Support();\n return fiveSupport.decodeRow(rowNumber, row, extensionStartRange);\n }\n catch (err) {\n // return null;\n let twoSupport = new UPCEANExtension2Support();\n return twoSupport.decodeRow(rowNumber, row, extensionStartRange);\n }\n }\n }\n UPCEANExtensionSupport.EXTENSION_START_PATTERN = Int32Array.from([1, 1, 2]);\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates functionality and implementation that is common to UPC and EAN families\n * of one-dimensional barcodes.

\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\n class UPCEANReader extends AbstractUPCEANReader {\n constructor() {\n super();\n this.decodeRowStringBuffer = '';\n UPCEANReader.L_AND_G_PATTERNS = UPCEANReader.L_PATTERNS.map(arr => Int32Array.from(arr));\n for (let i = 10; i < 20; i++) {\n let widths = UPCEANReader.L_PATTERNS[i - 10];\n let reversedWidths = new Int32Array(widths.length);\n for (let j = 0; j < widths.length; j++) {\n reversedWidths[j] = widths[widths.length - j - 1];\n }\n UPCEANReader.L_AND_G_PATTERNS[i] = reversedWidths;\n }\n }\n decodeRow(rowNumber, row, hints) {\n let startGuardRange = UPCEANReader.findStartGuardPattern(row);\n let resultPointCallback = hints == null ? null : hints.get(DecodeHintType$1.NEED_RESULT_POINT_CALLBACK);\n if (resultPointCallback != null) {\n const resultPoint = new ResultPoint((startGuardRange[0] + startGuardRange[1]) / 2.0, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint);\n }\n let budello = this.decodeMiddle(row, startGuardRange, this.decodeRowStringBuffer);\n let endStart = budello.rowOffset;\n let result = budello.resultString;\n if (resultPointCallback != null) {\n const resultPoint = new ResultPoint(endStart, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint);\n }\n let endRange = UPCEANReader.decodeEnd(row, endStart);\n if (resultPointCallback != null) {\n const resultPoint = new ResultPoint((endRange[0] + endRange[1]) / 2.0, rowNumber);\n resultPointCallback.foundPossibleResultPoint(resultPoint);\n }\n // Make sure there is a quiet zone at least as big as the end pattern after the barcode. The\n // spec might want more whitespace, but in practice this is the maximum we can count on.\n let end = endRange[1];\n let quietEnd = end + (end - endRange[0]);\n if (quietEnd >= row.getSize() || !row.isRange(end, quietEnd, false)) {\n throw new NotFoundException();\n }\n let resultString = result.toString();\n // UPC/EAN should never be less than 8 chars anyway\n if (resultString.length < 8) {\n throw new FormatException();\n }\n if (!UPCEANReader.checkChecksum(resultString)) {\n throw new ChecksumException();\n }\n let left = (startGuardRange[1] + startGuardRange[0]) / 2.0;\n let right = (endRange[1] + endRange[0]) / 2.0;\n let format = this.getBarcodeFormat();\n let resultPoint = [new ResultPoint(left, rowNumber), new ResultPoint(right, rowNumber)];\n let decodeResult = new Result(resultString, null, 0, resultPoint, format, new Date().getTime());\n let extensionLength = 0;\n try {\n let extensionResult = UPCEANExtensionSupport.decodeRow(rowNumber, row, endRange[1]);\n decodeResult.putMetadata(ResultMetadataType$1.UPC_EAN_EXTENSION, extensionResult.getText());\n decodeResult.putAllMetadata(extensionResult.getResultMetadata());\n decodeResult.addResultPoints(extensionResult.getResultPoints());\n extensionLength = extensionResult.getText().length;\n }\n catch (err) {\n }\n let allowedExtensions = hints == null ? null : hints.get(DecodeHintType$1.ALLOWED_EAN_EXTENSIONS);\n if (allowedExtensions != null) {\n let valid = false;\n for (let length in allowedExtensions) {\n if (extensionLength.toString() === length) { // check me\n valid = true;\n break;\n }\n }\n if (!valid) {\n throw new NotFoundException();\n }\n }\n if (format === BarcodeFormat$1.EAN_13 || format === BarcodeFormat$1.UPC_A) ;\n return decodeResult;\n }\n static checkChecksum(s) {\n return UPCEANReader.checkStandardUPCEANChecksum(s);\n }\n static checkStandardUPCEANChecksum(s) {\n let length = s.length;\n if (length === 0)\n return false;\n let check = parseInt(s.charAt(length - 1), 10);\n return UPCEANReader.getStandardUPCEANChecksum(s.substring(0, length - 1)) === check;\n }\n static getStandardUPCEANChecksum(s) {\n let length = s.length;\n let sum = 0;\n for (let i = length - 1; i >= 0; i -= 2) {\n let digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n sum *= 3;\n for (let i = length - 2; i >= 0; i -= 2) {\n let digit = s.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n if (digit < 0 || digit > 9) {\n throw new FormatException();\n }\n sum += digit;\n }\n return (1000 - sum) % 10;\n }\n static decodeEnd(row, endStart) {\n return UPCEANReader.findGuardPattern(row, endStart, false, UPCEANReader.START_END_PATTERN, new Int32Array(UPCEANReader.START_END_PATTERN.length).fill(0));\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Implements decoding of the EAN-13 format.

\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author alasdair@google.com (Alasdair Mackintosh)\n */\n class EAN13Reader extends UPCEANReader {\n constructor() {\n super();\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n }\n decodeMiddle(row, startRange, resultString) {\n let counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let end = row.getSize();\n let rowOffset = startRange[1];\n let lgPatternFound = 0;\n for (let x = 0; x < 6 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_AND_G_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n for (let counter of counters) {\n rowOffset += counter;\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (5 - x);\n }\n }\n resultString = EAN13Reader.determineFirstDigit(resultString, lgPatternFound);\n let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n for (let x = 0; x < 6 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n for (let counter of counters) {\n rowOffset += counter;\n }\n }\n return { rowOffset, resultString };\n }\n getBarcodeFormat() {\n return BarcodeFormat$1.EAN_13;\n }\n static determineFirstDigit(resultString, lgPatternFound) {\n for (let d = 0; d < 10; d++) {\n if (lgPatternFound === this.FIRST_DIGIT_ENCODINGS[d]) {\n resultString = String.fromCharCode(('0'.charCodeAt(0) + d)) + resultString;\n return resultString;\n }\n }\n throw new NotFoundException();\n }\n }\n EAN13Reader.FIRST_DIGIT_ENCODINGS = [0x00, 0x0B, 0x0D, 0xE, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1A];\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Implements decoding of the EAN-8 format.

\n *\n * @author Sean Owen\n */\n class EAN8Reader extends UPCEANReader {\n constructor() {\n super();\n this.decodeMiddleCounters = Int32Array.from([0, 0, 0, 0]);\n }\n decodeMiddle(row, startRange, resultString) {\n const counters = this.decodeMiddleCounters;\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let end = row.getSize();\n let rowOffset = startRange[1];\n for (let x = 0; x < 4 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n for (let counter of counters) {\n rowOffset += counter;\n }\n }\n let middleRange = UPCEANReader.findGuardPattern(row, rowOffset, true, UPCEANReader.MIDDLE_PATTERN, new Int32Array(UPCEANReader.MIDDLE_PATTERN.length).fill(0));\n rowOffset = middleRange[1];\n for (let x = 0; x < 4 && rowOffset < end; x++) {\n let bestMatch = UPCEANReader.decodeDigit(row, counters, rowOffset, UPCEANReader.L_PATTERNS);\n resultString += String.fromCharCode(('0'.charCodeAt(0) + bestMatch));\n for (let counter of counters) {\n rowOffset += counter;\n }\n }\n return { rowOffset, resultString };\n }\n getBarcodeFormat() {\n return BarcodeFormat$1.EAN_8;\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * Encapsulates functionality and implementation that is common to all families\n * of one-dimensional barcodes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Sean Owen\n * @author sam2332 (Sam Rudloff)\n *\n * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCAReader.java\n *\n * @experimental\n */\n class UPCAReader extends UPCEANReader {\n constructor() {\n super(...arguments);\n this.ean13Reader = new EAN13Reader();\n }\n // @Override\n getBarcodeFormat() {\n return BarcodeFormat$1.UPC_A;\n }\n // Note that we don't try rotation without the try harder flag, even if rotation was supported.\n // @Override\n decode(image, hints) {\n return this.maybeReturnResult(this.ean13Reader.decode(image));\n }\n // @Override\n decodeRow(rowNumber, row, hints) {\n return this.maybeReturnResult(this.ean13Reader.decodeRow(rowNumber, row, hints));\n }\n // @Override\n decodeMiddle(row, startRange, resultString) {\n return this.ean13Reader.decodeMiddle(row, startRange, resultString);\n }\n maybeReturnResult(result) {\n let text = result.getText();\n if (text.charAt(0) === '0') {\n let upcaResult = new Result(text.substring(1), null, null, result.getResultPoints(), BarcodeFormat$1.UPC_A);\n if (result.getResultMetadata() != null) {\n upcaResult.putAllMetadata(result.getResultMetadata());\n }\n return upcaResult;\n }\n else {\n throw new NotFoundException();\n }\n }\n reset() {\n this.ean13Reader.reset();\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // package com.google.zxing.oned;\n // import com.google.zxing.BarcodeFormat;\n // import com.google.zxing.FormatException;\n // import com.google.zxing.NotFoundException;\n // import com.google.zxing.common.BitArray;\n /**\n *

Implements decoding of the UPC-E format.

\n *

This is a great reference for\n * UPC-E information.

\n *\n * @author Sean Owen\n *\n * @source https://github.com/zxing/zxing/blob/3c96923276dd5785d58eb970b6ba3f80d36a9505/core/src/main/java/com/google/zxing/oned/UPCEReader.java\n *\n * @experimental\n */\n /* final */ class UPCEReader extends UPCEANReader {\n constructor() {\n super();\n this.decodeMiddleCounters = new Int32Array(4);\n }\n /**\n * @throws NotFoundException\n */\n // @Override\n decodeMiddle(row, startRange, result) {\n const counters = this.decodeMiddleCounters.map(x => x);\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n const end = row.getSize();\n let rowOffset = startRange[1];\n let lgPatternFound = 0;\n for (let x = 0; x < 6 && rowOffset < end; x++) {\n const bestMatch = UPCEReader.decodeDigit(row, counters, rowOffset, UPCEReader.L_AND_G_PATTERNS);\n result += String.fromCharCode(('0'.charCodeAt(0) + bestMatch % 10));\n for (let counter of counters) {\n rowOffset += counter;\n }\n if (bestMatch >= 10) {\n lgPatternFound |= 1 << (5 - x);\n }\n }\n UPCEReader.determineNumSysAndCheckDigit(new StringBuilder(result), lgPatternFound);\n return rowOffset;\n }\n /**\n * @throws NotFoundException\n */\n // @Override\n decodeEnd(row, endStart) {\n return UPCEReader.findGuardPatternWithoutCounters(row, endStart, true, UPCEReader.MIDDLE_END_PATTERN);\n }\n /**\n * @throws FormatException\n */\n // @Override\n checkChecksum(s) {\n return UPCEANReader.checkChecksum(UPCEReader.convertUPCEtoUPCA(s));\n }\n /**\n * @throws NotFoundException\n */\n static determineNumSysAndCheckDigit(resultString, lgPatternFound) {\n for (let numSys = 0; numSys <= 1; numSys++) {\n for (let d = 0; d < 10; d++) {\n if (lgPatternFound === this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[numSys][d]) {\n resultString.insert(0, /*(char)*/ ('0' + numSys));\n resultString.append(/*(char)*/ ('0' + d));\n return;\n }\n }\n }\n throw NotFoundException.getNotFoundInstance();\n }\n // @Override\n getBarcodeFormat() {\n return BarcodeFormat$1.UPC_E;\n }\n /**\n * Expands a UPC-E value back into its full, equivalent UPC-A code value.\n *\n * @param upce UPC-E code as string of digits\n * @return equivalent UPC-A code as string of digits\n */\n static convertUPCEtoUPCA(upce) {\n // the following line is equivalent to upce.getChars(1, 7, upceChars, 0);\n const upceChars = upce.slice(1, 7).split('').map(x => x.charCodeAt(0));\n const result = new StringBuilder( /*12*/);\n result.append(upce.charAt(0));\n let lastChar = upceChars[5];\n switch (lastChar) {\n case 0:\n case 1:\n case 2:\n result.appendChars(upceChars, 0, 2);\n result.append(lastChar);\n result.append('0000');\n result.appendChars(upceChars, 2, 3);\n break;\n case 3:\n result.appendChars(upceChars, 0, 3);\n result.append('00000');\n result.appendChars(upceChars, 3, 2);\n break;\n case 4:\n result.appendChars(upceChars, 0, 4);\n result.append('00000');\n result.append(upceChars[4]);\n break;\n default:\n result.appendChars(upceChars, 0, 5);\n result.append('0000');\n result.append(lastChar);\n break;\n }\n // Only append check digit in conversion if supplied\n if (upce.length >= 8) {\n result.append(upce.charAt(7));\n }\n return result.toString();\n }\n }\n /**\n * The pattern that marks the middle, and end, of a UPC-E pattern.\n * There is no \"second half\" to a UPC-E barcode.\n */\n UPCEReader.MIDDLE_END_PATTERN = Int32Array.from([1, 1, 1, 1, 1, 1]);\n // For an UPC-E barcode, the final digit is represented by the parities used\n // to encode the middle six digits, according to the table below.\n //\n // Parity of next 6 digits\n // Digit 0 1 2 3 4 5\n // 0 Even Even Even Odd Odd Odd\n // 1 Even Even Odd Even Odd Odd\n // 2 Even Even Odd Odd Even Odd\n // 3 Even Even Odd Odd Odd Even\n // 4 Even Odd Even Even Odd Odd\n // 5 Even Odd Odd Even Even Odd\n // 6 Even Odd Odd Odd Even Even\n // 7 Even Odd Even Odd Even Odd\n // 8 Even Odd Even Odd Odd Even\n // 9 Even Odd Odd Even Odd Even\n //\n // The encoding is represented by the following array, which is a bit pattern\n // using Odd = 0 and Even = 1. For example, 5 is represented by:\n //\n // Odd Even Even Odd Odd Even\n // in binary:\n // 0 1 1 0 0 1 == 0x19\n //\n /**\n * See {@link #L_AND_G_PATTERNS}; these values similarly represent patterns of\n * even-odd parity encodings of digits that imply both the number system (0 or 1)\n * used, and the check digit.\n */\n UPCEReader.NUMSYS_AND_CHECK_DIGIT_PATTERNS = [\n Int32Array.from([0x38, 0x34, 0x32, 0x31, 0x2C, 0x26, 0x23, 0x2A, 0x29, 0x25]),\n Int32Array.from([0x07, 0x0B, 0x0D, 0x0E, 0x13, 0x19, 0x1C, 0x15, 0x16, 0x1]),\n ];\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

A reader that can read all available UPC/EAN formats. If a caller wants to try to\n * read all such formats, it is most efficient to use this implementation rather than invoke\n * individual readers.

\n *\n * @author Sean Owen\n */\n class MultiFormatUPCEANReader extends OneDReader {\n constructor(hints) {\n super();\n let possibleFormats = hints == null ? null : hints.get(DecodeHintType$1.POSSIBLE_FORMATS);\n let readers = [];\n if (possibleFormats != null) {\n if (possibleFormats.indexOf(BarcodeFormat$1.EAN_13) > -1) {\n readers.push(new EAN13Reader());\n }\n else if (possibleFormats.indexOf(BarcodeFormat$1.UPC_A) > -1) {\n readers.push(new UPCAReader());\n }\n if (possibleFormats.indexOf(BarcodeFormat$1.EAN_8) > -1) {\n readers.push(new EAN8Reader());\n }\n if (possibleFormats.indexOf(BarcodeFormat$1.UPC_E) > -1) {\n readers.push(new UPCEReader());\n }\n }\n if (readers.length === 0) {\n readers.push(new EAN13Reader());\n // UPC-A is covered by EAN-13\n readers.push(new EAN8Reader());\n readers.push(new UPCEReader());\n }\n this.readers = readers;\n }\n decodeRow(rowNumber, row, hints) {\n for (let reader of this.readers) {\n try {\n // const result: Result = reader.decodeRow(rowNumber, row, startGuardPattern, hints);\n const result = reader.decodeRow(rowNumber, row, hints);\n // Special case: a 12-digit code encoded in UPC-A is identical to a \"0\"\n // followed by those 12 digits encoded as EAN-13. Each will recognize such a code,\n // UPC-A as a 12-digit string and EAN-13 as a 13-digit string starting with \"0\".\n // Individually these are correct and their readers will both read such a code\n // and correctly call it EAN-13, or UPC-A, respectively.\n //\n // In this case, if we've been looking for both types, we'd like to call it\n // a UPC-A code. But for efficiency we only run the EAN-13 decoder to also read\n // UPC-A. So we special case it here, and convert an EAN-13 result to a UPC-A\n // result if appropriate.\n //\n // But, don't return UPC-A if UPC-A was not a requested format!\n const ean13MayBeUPCA = result.getBarcodeFormat() === BarcodeFormat$1.EAN_13 &&\n result.getText().charAt(0) === '0';\n // @SuppressWarnings(\"unchecked\")\n const possibleFormats = hints == null ? null : hints.get(DecodeHintType$1.POSSIBLE_FORMATS);\n const canReturnUPCA = possibleFormats == null || possibleFormats.includes(BarcodeFormat$1.UPC_A);\n if (ean13MayBeUPCA && canReturnUPCA) {\n const rawBytes = result.getRawBytes();\n // Transfer the metadata across\n const resultUPCA = new Result(result.getText().substring(1), rawBytes, rawBytes.length, result.getResultPoints(), BarcodeFormat$1.UPC_A);\n resultUPCA.putAllMetadata(result.getResultMetadata());\n return resultUPCA;\n }\n return result;\n }\n catch (err) {\n // continue;\n }\n }\n throw new NotFoundException();\n }\n reset() {\n for (let reader of this.readers) {\n reader.reset();\n }\n }\n }\n\n // import Integer from '../../util/Integer';\n // import Float from '../../util/Float';\n class AbstractRSSReader extends OneDReader {\n constructor() {\n super();\n this.decodeFinderCounters = new Int32Array(4);\n this.dataCharacterCounters = new Int32Array(8);\n this.oddRoundingErrors = new Array(4);\n this.evenRoundingErrors = new Array(4);\n this.oddCounts = new Array(this.dataCharacterCounters.length / 2);\n this.evenCounts = new Array(this.dataCharacterCounters.length / 2);\n }\n getDecodeFinderCounters() {\n return this.decodeFinderCounters;\n }\n getDataCharacterCounters() {\n return this.dataCharacterCounters;\n }\n getOddRoundingErrors() {\n return this.oddRoundingErrors;\n }\n getEvenRoundingErrors() {\n return this.evenRoundingErrors;\n }\n getOddCounts() {\n return this.oddCounts;\n }\n getEvenCounts() {\n return this.evenCounts;\n }\n parseFinderValue(counters, finderPatterns) {\n for (let value = 0; value < finderPatterns.length; value++) {\n if (OneDReader.patternMatchVariance(counters, finderPatterns[value], AbstractRSSReader.MAX_INDIVIDUAL_VARIANCE) < AbstractRSSReader.MAX_AVG_VARIANCE) {\n return value;\n }\n }\n throw new NotFoundException();\n }\n /**\n * @param array values to sum\n * @return sum of values\n * @deprecated call {@link MathUtils#sum(int[])}\n */\n static count(array) {\n return MathUtils.sum(new Int32Array(array));\n }\n static increment(array, errors) {\n let index = 0;\n let biggestError = errors[0];\n for (let i = 1; i < array.length; i++) {\n if (errors[i] > biggestError) {\n biggestError = errors[i];\n index = i;\n }\n }\n array[index]++;\n }\n static decrement(array, errors) {\n let index = 0;\n let biggestError = errors[0];\n for (let i = 1; i < array.length; i++) {\n if (errors[i] < biggestError) {\n biggestError = errors[i];\n index = i;\n }\n }\n array[index]--;\n }\n static isFinderPattern(counters) {\n let firstTwoSum = counters[0] + counters[1];\n let sum = firstTwoSum + counters[2] + counters[3];\n let ratio = firstTwoSum / sum;\n if (ratio >= AbstractRSSReader.MIN_FINDER_PATTERN_RATIO && ratio <= AbstractRSSReader.MAX_FINDER_PATTERN_RATIO) {\n // passes ratio test in spec, but see if the counts are unreasonable\n let minCounter = Number.MAX_SAFE_INTEGER;\n let maxCounter = Number.MIN_SAFE_INTEGER;\n for (let counter of counters) {\n if (counter > maxCounter) {\n maxCounter = counter;\n }\n if (counter < minCounter) {\n minCounter = counter;\n }\n }\n return maxCounter < 10 * minCounter;\n }\n return false;\n }\n }\n AbstractRSSReader.MAX_AVG_VARIANCE = 0.2;\n AbstractRSSReader.MAX_INDIVIDUAL_VARIANCE = 0.45;\n AbstractRSSReader.MIN_FINDER_PATTERN_RATIO = 9.5 / 12.0;\n AbstractRSSReader.MAX_FINDER_PATTERN_RATIO = 12.5 / 14.0;\n\n class DataCharacter {\n constructor(value, checksumPortion) {\n this.value = value;\n this.checksumPortion = checksumPortion;\n }\n getValue() {\n return this.value;\n }\n getChecksumPortion() {\n return this.checksumPortion;\n }\n toString() {\n return this.value + '(' + this.checksumPortion + ')';\n }\n equals(o) {\n if (!(o instanceof DataCharacter)) {\n return false;\n }\n const that = o;\n return this.value === that.value && this.checksumPortion === that.checksumPortion;\n }\n hashCode() {\n return this.value ^ this.checksumPortion;\n }\n }\n\n class FinderPattern {\n constructor(value, startEnd, start, end, rowNumber) {\n this.value = value;\n this.startEnd = startEnd;\n this.value = value;\n this.startEnd = startEnd;\n this.resultPoints = new Array();\n this.resultPoints.push(new ResultPoint(start, rowNumber));\n this.resultPoints.push(new ResultPoint(end, rowNumber));\n }\n getValue() {\n return this.value;\n }\n getStartEnd() {\n return this.startEnd;\n }\n getResultPoints() {\n return this.resultPoints;\n }\n equals(o) {\n if (!(o instanceof FinderPattern)) {\n return false;\n }\n const that = o;\n return this.value === that.value;\n }\n hashCode() {\n return this.value;\n }\n }\n\n /**\n * RSS util functions.\n */\n class RSSUtils {\n constructor() { }\n static getRSSvalue(widths, maxWidth, noNarrow) {\n let n = 0;\n for (let width of widths) {\n n += width;\n }\n let val = 0;\n let narrowMask = 0;\n let elements = widths.length;\n for (let bar = 0; bar < elements - 1; bar++) {\n let elmWidth;\n for (elmWidth = 1, narrowMask |= 1 << bar; elmWidth < widths[bar]; elmWidth++, narrowMask &= ~(1 << bar)) {\n let subVal = RSSUtils.combins(n - elmWidth - 1, elements - bar - 2);\n if (noNarrow && (narrowMask === 0) && (n - elmWidth - (elements - bar - 1) >= elements - bar - 1)) {\n subVal -= RSSUtils.combins(n - elmWidth - (elements - bar), elements - bar - 2);\n }\n if (elements - bar - 1 > 1) {\n let lessVal = 0;\n for (let mxwElement = n - elmWidth - (elements - bar - 2); mxwElement > maxWidth; mxwElement--) {\n lessVal += RSSUtils.combins(n - elmWidth - mxwElement - 1, elements - bar - 3);\n }\n subVal -= lessVal * (elements - 1 - bar);\n }\n else if (n - elmWidth > maxWidth) {\n subVal--;\n }\n val += subVal;\n }\n n -= elmWidth;\n }\n return val;\n }\n static combins(n, r) {\n let maxDenom;\n let minDenom;\n if (n - r > r) {\n minDenom = r;\n maxDenom = n - r;\n }\n else {\n minDenom = n - r;\n maxDenom = r;\n }\n let val = 1;\n let j = 1;\n for (let i = n; i > maxDenom; i--) {\n val *= i;\n if (j <= minDenom) {\n val /= j;\n j++;\n }\n }\n while ((j <= minDenom)) {\n val /= j;\n j++;\n }\n return val;\n }\n }\n\n class BitArrayBuilder {\n static buildBitArray(pairs) {\n let charNumber = (pairs.length * 2) - 1;\n if (pairs[pairs.length - 1].getRightChar() == null) {\n charNumber -= 1;\n }\n let size = 12 * charNumber;\n let binary = new BitArray(size);\n let accPos = 0;\n let firstPair = pairs[0];\n let firstValue = firstPair.getRightChar().getValue();\n for (let i = 11; i >= 0; --i) {\n if ((firstValue & (1 << i)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n for (let i = 1; i < pairs.length; ++i) {\n let currentPair = pairs[i];\n let leftValue = currentPair.getLeftChar().getValue();\n for (let j = 11; j >= 0; --j) {\n if ((leftValue & (1 << j)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n if (currentPair.getRightChar() != null) {\n let rightValue = currentPair.getRightChar().getValue();\n for (let j = 11; j >= 0; --j) {\n if ((rightValue & (1 << j)) != 0) {\n binary.set(accPos);\n }\n accPos++;\n }\n }\n }\n return binary;\n }\n }\n\n class BlockParsedResult {\n constructor(finished, decodedInformation) {\n if (decodedInformation) {\n this.decodedInformation = null;\n }\n else {\n this.finished = finished;\n this.decodedInformation = decodedInformation;\n }\n }\n getDecodedInformation() {\n return this.decodedInformation;\n }\n isFinished() {\n return this.finished;\n }\n }\n\n class DecodedObject {\n constructor(newPosition) {\n this.newPosition = newPosition;\n }\n getNewPosition() {\n return this.newPosition;\n }\n }\n\n class DecodedChar extends DecodedObject {\n constructor(newPosition, value) {\n super(newPosition);\n this.value = value;\n }\n getValue() {\n return this.value;\n }\n isFNC1() {\n return this.value === DecodedChar.FNC1;\n }\n }\n DecodedChar.FNC1 = '$';\n\n class DecodedInformation extends DecodedObject {\n constructor(newPosition, newString, remainingValue) {\n super(newPosition);\n if (remainingValue) {\n this.remaining = true;\n this.remainingValue = this.remainingValue;\n }\n else {\n this.remaining = false;\n this.remainingValue = 0;\n }\n this.newString = newString;\n }\n getNewString() {\n return this.newString;\n }\n isRemaining() {\n return this.remaining;\n }\n getRemainingValue() {\n return this.remainingValue;\n }\n }\n\n class DecodedNumeric extends DecodedObject {\n constructor(newPosition, firstDigit, secondDigit) {\n super(newPosition);\n if (firstDigit < 0 || firstDigit > 10 || secondDigit < 0 || secondDigit > 10) {\n throw new FormatException();\n }\n this.firstDigit = firstDigit;\n this.secondDigit = secondDigit;\n }\n getFirstDigit() {\n return this.firstDigit;\n }\n getSecondDigit() {\n return this.secondDigit;\n }\n getValue() {\n return this.firstDigit * 10 + this.secondDigit;\n }\n isFirstDigitFNC1() {\n return this.firstDigit === DecodedNumeric.FNC1;\n }\n isSecondDigitFNC1() {\n return this.secondDigit === DecodedNumeric.FNC1;\n }\n isAnyFNC1() {\n return this.firstDigit === DecodedNumeric.FNC1 || this.secondDigit === DecodedNumeric.FNC1;\n }\n }\n DecodedNumeric.FNC1 = 10;\n\n class FieldParser {\n constructor() {\n }\n static parseFieldsInGeneralPurpose(rawInformation) {\n if (!rawInformation) {\n return null;\n }\n // Processing 2-digit AIs\n if (rawInformation.length < 2) {\n throw new NotFoundException();\n }\n let firstTwoDigits = rawInformation.substring(0, 2);\n for (let dataLength of FieldParser.TWO_DIGIT_DATA_LENGTH) {\n if (dataLength[0] === firstTwoDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(2, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(2, dataLength[1], rawInformation);\n }\n }\n if (rawInformation.length < 3) {\n throw new NotFoundException();\n }\n let firstThreeDigits = rawInformation.substring(0, 3);\n for (let dataLength of FieldParser.THREE_DIGIT_DATA_LENGTH) {\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(3, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(3, dataLength[1], rawInformation);\n }\n }\n for (let dataLength of FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH) {\n if (dataLength[0] === firstThreeDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n if (rawInformation.length < 4) {\n throw new NotFoundException();\n }\n let firstFourDigits = rawInformation.substring(0, 4);\n for (let dataLength of FieldParser.FOUR_DIGIT_DATA_LENGTH) {\n if (dataLength[0] === firstFourDigits) {\n if (dataLength[1] === FieldParser.VARIABLE_LENGTH) {\n return FieldParser.processVariableAI(4, dataLength[2], rawInformation);\n }\n return FieldParser.processFixedAI(4, dataLength[1], rawInformation);\n }\n }\n throw new NotFoundException();\n }\n static processFixedAI(aiSize, fieldSize, rawInformation) {\n if (rawInformation.length < aiSize) {\n throw new NotFoundException();\n }\n let ai = rawInformation.substring(0, aiSize);\n if (rawInformation.length < aiSize + fieldSize) {\n throw new NotFoundException();\n }\n let field = rawInformation.substring(aiSize, aiSize + fieldSize);\n let remaining = rawInformation.substring(aiSize + fieldSize);\n let result = '(' + ai + ')' + field;\n let parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n }\n static processVariableAI(aiSize, variableFieldSize, rawInformation) {\n let ai = rawInformation.substring(0, aiSize);\n let maxSize;\n if (rawInformation.length < aiSize + variableFieldSize) {\n maxSize = rawInformation.length;\n }\n else {\n maxSize = aiSize + variableFieldSize;\n }\n let field = rawInformation.substring(aiSize, maxSize);\n let remaining = rawInformation.substring(maxSize);\n let result = '(' + ai + ')' + field;\n let parsedAI = FieldParser.parseFieldsInGeneralPurpose(remaining);\n return parsedAI == null ? result : result + parsedAI;\n }\n }\n FieldParser.VARIABLE_LENGTH = [];\n FieldParser.TWO_DIGIT_DATA_LENGTH = [\n ['00', 18],\n ['01', 14],\n ['02', 14],\n ['10', FieldParser.VARIABLE_LENGTH, 20],\n ['11', 6],\n ['12', 6],\n ['13', 6],\n ['15', 6],\n ['17', 6],\n ['20', 2],\n ['21', FieldParser.VARIABLE_LENGTH, 20],\n ['22', FieldParser.VARIABLE_LENGTH, 29],\n ['30', FieldParser.VARIABLE_LENGTH, 8],\n ['37', FieldParser.VARIABLE_LENGTH, 8],\n // internal company codes\n ['90', FieldParser.VARIABLE_LENGTH, 30],\n ['91', FieldParser.VARIABLE_LENGTH, 30],\n ['92', FieldParser.VARIABLE_LENGTH, 30],\n ['93', FieldParser.VARIABLE_LENGTH, 30],\n ['94', FieldParser.VARIABLE_LENGTH, 30],\n ['95', FieldParser.VARIABLE_LENGTH, 30],\n ['96', FieldParser.VARIABLE_LENGTH, 30],\n ['97', FieldParser.VARIABLE_LENGTH, 3],\n ['98', FieldParser.VARIABLE_LENGTH, 30],\n ['99', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.THREE_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['240', FieldParser.VARIABLE_LENGTH, 30],\n ['241', FieldParser.VARIABLE_LENGTH, 30],\n ['242', FieldParser.VARIABLE_LENGTH, 6],\n ['250', FieldParser.VARIABLE_LENGTH, 30],\n ['251', FieldParser.VARIABLE_LENGTH, 30],\n ['253', FieldParser.VARIABLE_LENGTH, 17],\n ['254', FieldParser.VARIABLE_LENGTH, 20],\n ['400', FieldParser.VARIABLE_LENGTH, 30],\n ['401', FieldParser.VARIABLE_LENGTH, 30],\n ['402', 17],\n ['403', FieldParser.VARIABLE_LENGTH, 30],\n ['410', 13],\n ['411', 13],\n ['412', 13],\n ['413', 13],\n ['414', 13],\n ['420', FieldParser.VARIABLE_LENGTH, 20],\n ['421', FieldParser.VARIABLE_LENGTH, 15],\n ['422', 3],\n ['423', FieldParser.VARIABLE_LENGTH, 15],\n ['424', 3],\n ['425', 3],\n ['426', 3],\n ];\n FieldParser.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['310', 6],\n ['311', 6],\n ['312', 6],\n ['313', 6],\n ['314', 6],\n ['315', 6],\n ['316', 6],\n ['320', 6],\n ['321', 6],\n ['322', 6],\n ['323', 6],\n ['324', 6],\n ['325', 6],\n ['326', 6],\n ['327', 6],\n ['328', 6],\n ['329', 6],\n ['330', 6],\n ['331', 6],\n ['332', 6],\n ['333', 6],\n ['334', 6],\n ['335', 6],\n ['336', 6],\n ['340', 6],\n ['341', 6],\n ['342', 6],\n ['343', 6],\n ['344', 6],\n ['345', 6],\n ['346', 6],\n ['347', 6],\n ['348', 6],\n ['349', 6],\n ['350', 6],\n ['351', 6],\n ['352', 6],\n ['353', 6],\n ['354', 6],\n ['355', 6],\n ['356', 6],\n ['357', 6],\n ['360', 6],\n ['361', 6],\n ['362', 6],\n ['363', 6],\n ['364', 6],\n ['365', 6],\n ['366', 6],\n ['367', 6],\n ['368', 6],\n ['369', 6],\n ['390', FieldParser.VARIABLE_LENGTH, 15],\n ['391', FieldParser.VARIABLE_LENGTH, 18],\n ['392', FieldParser.VARIABLE_LENGTH, 15],\n ['393', FieldParser.VARIABLE_LENGTH, 18],\n ['703', FieldParser.VARIABLE_LENGTH, 30],\n ];\n FieldParser.FOUR_DIGIT_DATA_LENGTH = [\n // Same format as above\n ['7001', 13],\n ['7002', FieldParser.VARIABLE_LENGTH, 30],\n ['7003', 10],\n ['8001', 14],\n ['8002', FieldParser.VARIABLE_LENGTH, 20],\n ['8003', FieldParser.VARIABLE_LENGTH, 30],\n ['8004', FieldParser.VARIABLE_LENGTH, 30],\n ['8005', 6],\n ['8006', 18],\n ['8007', FieldParser.VARIABLE_LENGTH, 30],\n ['8008', FieldParser.VARIABLE_LENGTH, 12],\n ['8018', 18],\n ['8020', FieldParser.VARIABLE_LENGTH, 25],\n ['8100', 6],\n ['8101', 10],\n ['8102', 2],\n ['8110', FieldParser.VARIABLE_LENGTH, 70],\n ['8200', FieldParser.VARIABLE_LENGTH, 70],\n ];\n\n class GeneralAppIdDecoder {\n constructor(information) {\n this.buffer = new StringBuilder();\n this.information = information;\n }\n decodeAllCodes(buff, initialPosition) {\n let currentPosition = initialPosition;\n let remaining = null;\n do {\n let info = this.decodeGeneralPurposeField(currentPosition, remaining);\n let parsedFields = FieldParser.parseFieldsInGeneralPurpose(info.getNewString());\n if (parsedFields != null) {\n buff.append(parsedFields);\n }\n if (info.isRemaining()) {\n remaining = '' + info.getRemainingValue();\n }\n else {\n remaining = null;\n }\n if (currentPosition === info.getNewPosition()) { // No step forward!\n break;\n }\n currentPosition = info.getNewPosition();\n } while (true);\n return buff.toString();\n }\n isStillNumeric(pos) {\n // It's numeric if it still has 7 positions\n // and one of the first 4 bits is \"1\".\n if (pos + 7 > this.information.getSize()) {\n return pos + 4 <= this.information.getSize();\n }\n for (let i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return true;\n }\n }\n return this.information.get(pos + 3);\n }\n decodeNumeric(pos) {\n if (pos + 7 > this.information.getSize()) {\n let numeric = this.extractNumericValueFromBitArray(pos, 4);\n if (numeric === 0) {\n return new DecodedNumeric(this.information.getSize(), DecodedNumeric.FNC1, DecodedNumeric.FNC1);\n }\n return new DecodedNumeric(this.information.getSize(), numeric - 1, DecodedNumeric.FNC1);\n }\n let numeric = this.extractNumericValueFromBitArray(pos, 7);\n let digit1 = (numeric - 8) / 11;\n let digit2 = (numeric - 8) % 11;\n return new DecodedNumeric(pos + 7, digit1, digit2);\n }\n extractNumericValueFromBitArray(pos, bits) {\n return GeneralAppIdDecoder.extractNumericValueFromBitArray(this.information, pos, bits);\n }\n static extractNumericValueFromBitArray(information, pos, bits) {\n let value = 0;\n for (let i = 0; i < bits; ++i) {\n if (information.get(pos + i)) {\n value |= 1 << (bits - i - 1);\n }\n }\n return value;\n }\n decodeGeneralPurposeField(pos, remaining) {\n // this.buffer.setLength(0);\n this.buffer.setLengthToZero();\n if (remaining != null) {\n this.buffer.append(remaining);\n }\n this.current.setPosition(pos);\n let lastDecoded = this.parseBlocks();\n if (lastDecoded != null && lastDecoded.isRemaining()) {\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString(), lastDecoded.getRemainingValue());\n }\n return new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n }\n parseBlocks() {\n let isFinished;\n let result;\n do {\n let initialPosition = this.current.getPosition();\n if (this.current.isAlpha()) {\n result = this.parseAlphaBlock();\n isFinished = result.isFinished();\n }\n else if (this.current.isIsoIec646()) {\n result = this.parseIsoIec646Block();\n isFinished = result.isFinished();\n }\n else { // it must be numeric\n result = this.parseNumericBlock();\n isFinished = result.isFinished();\n }\n let positionChanged = initialPosition !== this.current.getPosition();\n if (!positionChanged && !isFinished) {\n break;\n }\n } while (!isFinished);\n return result.getDecodedInformation();\n }\n parseNumericBlock() {\n while (this.isStillNumeric(this.current.getPosition())) {\n let numeric = this.decodeNumeric(this.current.getPosition());\n this.current.setPosition(numeric.getNewPosition());\n if (numeric.isFirstDigitFNC1()) {\n let information;\n if (numeric.isSecondDigitFNC1()) {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n }\n else {\n information = new DecodedInformation(this.current.getPosition(), this.buffer.toString(), numeric.getSecondDigit());\n }\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getFirstDigit());\n if (numeric.isSecondDigitFNC1()) {\n let information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(numeric.getSecondDigit());\n }\n if (this.isNumericToAlphaNumericLatch(this.current.getPosition())) {\n this.current.setAlpha();\n this.current.incrementPosition(4);\n }\n return new BlockParsedResult(false);\n }\n parseIsoIec646Block() {\n while (this.isStillIsoIec646(this.current.getPosition())) {\n let iso = this.decodeIsoIec646(this.current.getPosition());\n this.current.setPosition(iso.getNewPosition());\n if (iso.isFNC1()) {\n let information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information);\n }\n this.buffer.append(iso.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setAlpha();\n }\n return new BlockParsedResult(false);\n }\n parseAlphaBlock() {\n while (this.isStillAlpha(this.current.getPosition())) {\n let alpha = this.decodeAlphanumeric(this.current.getPosition());\n this.current.setPosition(alpha.getNewPosition());\n if (alpha.isFNC1()) {\n let information = new DecodedInformation(this.current.getPosition(), this.buffer.toString());\n return new BlockParsedResult(true, information); // end of the char block\n }\n this.buffer.append(alpha.getValue());\n }\n if (this.isAlphaOr646ToNumericLatch(this.current.getPosition())) {\n this.current.incrementPosition(3);\n this.current.setNumeric();\n }\n else if (this.isAlphaTo646ToAlphaLatch(this.current.getPosition())) {\n if (this.current.getPosition() + 5 < this.information.getSize()) {\n this.current.incrementPosition(5);\n }\n else {\n this.current.setPosition(this.information.getSize());\n }\n this.current.setIsoIec646();\n }\n return new BlockParsedResult(false);\n }\n isStillIsoIec646(pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n let fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 7 > this.information.getSize()) {\n return false;\n }\n let sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 116) {\n return true;\n }\n if (pos + 8 > this.information.getSize()) {\n return false;\n }\n let eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n return eightBitValue >= 232 && eightBitValue < 253;\n }\n decodeIsoIec646(pos) {\n let fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n let sevenBitValue = this.extractNumericValueFromBitArray(pos, 7);\n if (sevenBitValue >= 64 && sevenBitValue < 90) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 1)));\n }\n if (sevenBitValue >= 90 && sevenBitValue < 116) {\n return new DecodedChar(pos + 7, ('' + (sevenBitValue + 7)));\n }\n let eightBitValue = this.extractNumericValueFromBitArray(pos, 8);\n let c;\n switch (eightBitValue) {\n case 232:\n c = '!';\n break;\n case 233:\n c = '\"';\n break;\n case 234:\n c = '%';\n break;\n case 235:\n c = '&';\n break;\n case 236:\n c = '\\'';\n break;\n case 237:\n c = '(';\n break;\n case 238:\n c = ')';\n break;\n case 239:\n c = '*';\n break;\n case 240:\n c = '+';\n break;\n case 241:\n c = ',';\n break;\n case 242:\n c = '-';\n break;\n case 243:\n c = '.';\n break;\n case 244:\n c = '/';\n break;\n case 245:\n c = ':';\n break;\n case 246:\n c = ';';\n break;\n case 247:\n c = '<';\n break;\n case 248:\n c = '=';\n break;\n case 249:\n c = '>';\n break;\n case 250:\n c = '?';\n break;\n case 251:\n c = '_';\n break;\n case 252:\n c = ' ';\n break;\n default:\n throw new FormatException();\n }\n return new DecodedChar(pos + 8, c);\n }\n isStillAlpha(pos) {\n if (pos + 5 > this.information.getSize()) {\n return false;\n }\n // We now check if it's a valid 5-bit value (0..9 and FNC1)\n let fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue >= 5 && fiveBitValue < 16) {\n return true;\n }\n if (pos + 6 > this.information.getSize()) {\n return false;\n }\n let sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n return sixBitValue >= 16 && sixBitValue < 63; // 63 not included\n }\n decodeAlphanumeric(pos) {\n let fiveBitValue = this.extractNumericValueFromBitArray(pos, 5);\n if (fiveBitValue === 15) {\n return new DecodedChar(pos + 5, DecodedChar.FNC1);\n }\n if (fiveBitValue >= 5 && fiveBitValue < 15) {\n return new DecodedChar(pos + 5, ('0' + (fiveBitValue - 5)));\n }\n let sixBitValue = this.extractNumericValueFromBitArray(pos, 6);\n if (sixBitValue >= 32 && sixBitValue < 58) {\n return new DecodedChar(pos + 6, ('' + (sixBitValue + 33)));\n }\n let c;\n switch (sixBitValue) {\n case 58:\n c = '*';\n break;\n case 59:\n c = ',';\n break;\n case 60:\n c = '-';\n break;\n case 61:\n c = '.';\n break;\n case 62:\n c = '/';\n break;\n default:\n throw new IllegalStateException('Decoding invalid alphanumeric value: ' + sixBitValue);\n }\n return new DecodedChar(pos + 6, c);\n }\n isAlphaTo646ToAlphaLatch(pos) {\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (let i = 0; i < 5 && i + pos < this.information.getSize(); ++i) {\n if (i === 2) {\n if (!this.information.get(pos + 2)) {\n return false;\n }\n }\n else if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n }\n isAlphaOr646ToNumericLatch(pos) {\n // Next is alphanumeric if there are 3 positions and they are all zeros\n if (pos + 3 > this.information.getSize()) {\n return false;\n }\n for (let i = pos; i < pos + 3; ++i) {\n if (this.information.get(i)) {\n return false;\n }\n }\n return true;\n }\n isNumericToAlphaNumericLatch(pos) {\n // Next is alphanumeric if there are 4 positions and they are all zeros, or\n // if there is a subset of this just before the end of the symbol\n if (pos + 1 > this.information.getSize()) {\n return false;\n }\n for (let i = 0; i < 4 && i + pos < this.information.getSize(); ++i) {\n if (this.information.get(pos + i)) {\n return false;\n }\n }\n return true;\n }\n }\n\n class AbstractExpandedDecoder {\n constructor(information) {\n this.information = information;\n this.generalDecoder = new GeneralAppIdDecoder(information);\n }\n getInformation() {\n return this.information;\n }\n getGeneralDecoder() {\n return this.generalDecoder;\n }\n }\n\n class AI01decoder extends AbstractExpandedDecoder {\n constructor(information) {\n super(information);\n }\n encodeCompressedGtin(buf, currentPos) {\n buf.append('(01)');\n let initialPosition = buf.length();\n buf.append('9');\n this.encodeCompressedGtinWithoutAI(buf, currentPos, initialPosition);\n }\n encodeCompressedGtinWithoutAI(buf, currentPos, initialBufferPosition) {\n for (let i = 0; i < 4; ++i) {\n let currentBlock = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos + 10 * i, 10);\n if (currentBlock / 100 === 0) {\n buf.append('0');\n }\n if (currentBlock / 10 === 0) {\n buf.append('0');\n }\n buf.append(currentBlock);\n }\n AI01decoder.appendCheckDigit(buf, initialBufferPosition);\n }\n static appendCheckDigit(buf, currentPos) {\n let checkDigit = 0;\n for (let i = 0; i < 13; i++) {\n // let digit = buf.charAt(i + currentPos) - '0';\n // To be checked\n let digit = buf.charAt(i + currentPos).charCodeAt(0) - '0'.charCodeAt(0);\n checkDigit += (i & 0x01) === 0 ? 3 * digit : digit;\n }\n checkDigit = 10 - (checkDigit % 10);\n if (checkDigit === 10) {\n checkDigit = 0;\n }\n buf.append(checkDigit);\n }\n }\n AI01decoder.GTIN_SIZE = 40;\n\n class AI01AndOtherAIs extends AI01decoder {\n // the second one is the encodation method, and the other two are for the variable length\n constructor(information) {\n super(information);\n }\n parseInformation() {\n let buff = new StringBuilder();\n buff.append('(01)');\n let initialGtinPosition = buff.length();\n let firstGtinDigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01AndOtherAIs.HEADER_SIZE, 4);\n buff.append(firstGtinDigit);\n this.encodeCompressedGtinWithoutAI(buff, AI01AndOtherAIs.HEADER_SIZE + 4, initialGtinPosition);\n return this.getGeneralDecoder().decodeAllCodes(buff, AI01AndOtherAIs.HEADER_SIZE + 44);\n }\n }\n AI01AndOtherAIs.HEADER_SIZE = 1 + 1 + 2; // first bit encodes the linkage flag,\n\n class AnyAIDecoder extends AbstractExpandedDecoder {\n constructor(information) {\n super(information);\n }\n parseInformation() {\n let buf = new StringBuilder();\n return this.getGeneralDecoder().decodeAllCodes(buf, AnyAIDecoder.HEADER_SIZE);\n }\n }\n AnyAIDecoder.HEADER_SIZE = 2 + 1 + 2;\n\n class AI01weightDecoder extends AI01decoder {\n constructor(information) {\n super(information);\n }\n encodeCompressedWeight(buf, currentPos, weightSize) {\n let originalWeightNumeric = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos, weightSize);\n this.addWeightCode(buf, originalWeightNumeric);\n let weightNumeric = this.checkWeight(originalWeightNumeric);\n let currentDivisor = 100000;\n for (let i = 0; i < 5; ++i) {\n if (weightNumeric / currentDivisor === 0) {\n buf.append('0');\n }\n currentDivisor /= 10;\n }\n buf.append(weightNumeric);\n }\n }\n\n class AI013x0xDecoder extends AI01weightDecoder {\n constructor(information) {\n super(information);\n }\n parseInformation() {\n if (this.getInformation().getSize() != AI013x0xDecoder.HEADER_SIZE + AI01weightDecoder.GTIN_SIZE + AI013x0xDecoder.WEIGHT_SIZE) {\n throw new NotFoundException();\n }\n let buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI013x0xDecoder.HEADER_SIZE);\n this.encodeCompressedWeight(buf, AI013x0xDecoder.HEADER_SIZE + AI01weightDecoder.GTIN_SIZE, AI013x0xDecoder.WEIGHT_SIZE);\n return buf.toString();\n }\n }\n AI013x0xDecoder.HEADER_SIZE = 4 + 1;\n AI013x0xDecoder.WEIGHT_SIZE = 15;\n\n class AI013103decoder extends AI013x0xDecoder {\n constructor(information) {\n super(information);\n }\n addWeightCode(buf, weight) {\n buf.append('(3103)');\n }\n checkWeight(weight) {\n return weight;\n }\n }\n\n class AI01320xDecoder extends AI013x0xDecoder {\n constructor(information) {\n super(information);\n }\n addWeightCode(buf, weight) {\n if (weight < 10000) {\n buf.append('(3202)');\n }\n else {\n buf.append('(3203)');\n }\n }\n checkWeight(weight) {\n if (weight < 10000) {\n return weight;\n }\n return weight - 10000;\n }\n }\n\n class AI01392xDecoder extends AI01decoder {\n constructor(information) {\n super(information);\n }\n parseInformation() {\n if (this.getInformation().getSize() < AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE) {\n throw new NotFoundException();\n }\n let buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI01392xDecoder.HEADER_SIZE);\n let lastAIdigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE, AI01392xDecoder.LAST_DIGIT_SIZE);\n buf.append('(392');\n buf.append(lastAIdigit);\n buf.append(')');\n let decodedInformation = this.getGeneralDecoder().decodeGeneralPurposeField(AI01392xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01392xDecoder.LAST_DIGIT_SIZE, null);\n buf.append(decodedInformation.getNewString());\n return buf.toString();\n }\n }\n AI01392xDecoder.HEADER_SIZE = 5 + 1 + 2;\n AI01392xDecoder.LAST_DIGIT_SIZE = 2;\n\n class AI01393xDecoder extends AI01decoder {\n constructor(information) {\n super(information);\n }\n parseInformation() {\n if (this.getInformation().getSize() < AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE) {\n throw new NotFoundException();\n }\n let buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI01393xDecoder.HEADER_SIZE);\n let lastAIdigit = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE, AI01393xDecoder.LAST_DIGIT_SIZE);\n buf.append('(393');\n buf.append(lastAIdigit);\n buf.append(')');\n let firstThreeDigits = this.getGeneralDecoder().extractNumericValueFromBitArray(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01393xDecoder.LAST_DIGIT_SIZE, AI01393xDecoder.FIRST_THREE_DIGITS_SIZE);\n if (firstThreeDigits / 100 == 0) {\n buf.append('0');\n }\n if (firstThreeDigits / 10 == 0) {\n buf.append('0');\n }\n buf.append(firstThreeDigits);\n let generalInformation = this.getGeneralDecoder().decodeGeneralPurposeField(AI01393xDecoder.HEADER_SIZE + AI01decoder.GTIN_SIZE + AI01393xDecoder.LAST_DIGIT_SIZE + AI01393xDecoder.FIRST_THREE_DIGITS_SIZE, null);\n buf.append(generalInformation.getNewString());\n return buf.toString();\n }\n }\n AI01393xDecoder.HEADER_SIZE = 5 + 1 + 2;\n AI01393xDecoder.LAST_DIGIT_SIZE = 2;\n AI01393xDecoder.FIRST_THREE_DIGITS_SIZE = 10;\n\n class AI013x0x1xDecoder extends AI01weightDecoder {\n constructor(information, firstAIdigits, dateCode) {\n super(information);\n this.dateCode = dateCode;\n this.firstAIdigits = firstAIdigits;\n }\n parseInformation() {\n if (this.getInformation().getSize() != AI013x0x1xDecoder.HEADER_SIZE + AI013x0x1xDecoder.GTIN_SIZE + AI013x0x1xDecoder.WEIGHT_SIZE + AI013x0x1xDecoder.DATE_SIZE) {\n throw new NotFoundException();\n }\n let buf = new StringBuilder();\n this.encodeCompressedGtin(buf, AI013x0x1xDecoder.HEADER_SIZE);\n this.encodeCompressedWeight(buf, AI013x0x1xDecoder.HEADER_SIZE + AI013x0x1xDecoder.GTIN_SIZE, AI013x0x1xDecoder.WEIGHT_SIZE);\n this.encodeCompressedDate(buf, AI013x0x1xDecoder.HEADER_SIZE + AI013x0x1xDecoder.GTIN_SIZE + AI013x0x1xDecoder.WEIGHT_SIZE);\n return buf.toString();\n }\n encodeCompressedDate(buf, currentPos) {\n let numericDate = this.getGeneralDecoder().extractNumericValueFromBitArray(currentPos, AI013x0x1xDecoder.DATE_SIZE);\n if (numericDate == 38400) {\n return;\n }\n buf.append('(');\n buf.append(this.dateCode);\n buf.append(')');\n let day = numericDate % 32;\n numericDate /= 32;\n let month = numericDate % 12 + 1;\n numericDate /= 12;\n let year = numericDate;\n if (year / 10 == 0) {\n buf.append('0');\n }\n buf.append(year);\n if (month / 10 == 0) {\n buf.append('0');\n }\n buf.append(month);\n if (day / 10 == 0) {\n buf.append('0');\n }\n buf.append(day);\n }\n addWeightCode(buf, weight) {\n buf.append('(');\n buf.append(this.firstAIdigits);\n buf.append(weight / 100000);\n buf.append(')');\n }\n checkWeight(weight) {\n return weight % 100000;\n }\n }\n AI013x0x1xDecoder.HEADER_SIZE = 7 + 1;\n AI013x0x1xDecoder.WEIGHT_SIZE = 20;\n AI013x0x1xDecoder.DATE_SIZE = 16;\n\n function createDecoder(information) {\n try {\n if (information.get(1)) {\n return new AI01AndOtherAIs(information);\n }\n if (!information.get(2)) {\n return new AnyAIDecoder(information);\n }\n let fourBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 4);\n switch (fourBitEncodationMethod) {\n case 4: return new AI013103decoder(information);\n case 5: return new AI01320xDecoder(information);\n }\n let fiveBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 5);\n switch (fiveBitEncodationMethod) {\n case 12: return new AI01392xDecoder(information);\n case 13: return new AI01393xDecoder(information);\n }\n let sevenBitEncodationMethod = GeneralAppIdDecoder.extractNumericValueFromBitArray(information, 1, 7);\n switch (sevenBitEncodationMethod) {\n case 56: return new AI013x0x1xDecoder(information, '310', '11');\n case 57: return new AI013x0x1xDecoder(information, '320', '11');\n case 58: return new AI013x0x1xDecoder(information, '310', '13');\n case 59: return new AI013x0x1xDecoder(information, '320', '13');\n case 60: return new AI013x0x1xDecoder(information, '310', '15');\n case 61: return new AI013x0x1xDecoder(information, '320', '15');\n case 62: return new AI013x0x1xDecoder(information, '310', '17');\n case 63: return new AI013x0x1xDecoder(information, '320', '17');\n }\n }\n catch (e) {\n console.log(e);\n throw new IllegalStateException('unknown decoder: ' + information);\n }\n }\n\n class ExpandedPair {\n constructor(leftChar, rightChar, finderPatter, mayBeLast) {\n this.leftchar = leftChar;\n this.rightchar = rightChar;\n this.finderpattern = finderPatter;\n this.maybeLast = mayBeLast;\n }\n mayBeLast() {\n return this.maybeLast;\n }\n getLeftChar() {\n return this.leftchar;\n }\n getRightChar() {\n return this.rightchar;\n }\n getFinderPattern() {\n return this.finderpattern;\n }\n mustBeLast() {\n return this.rightchar == null;\n }\n toString() {\n return '[ ' + this.leftchar + ', ' + this.rightchar + ' : ' + (this.finderpattern == null ? 'null' : this.finderpattern.getValue()) + ' ]';\n }\n static equals(o1, o2) {\n if (!(o1 instanceof ExpandedPair)) {\n return false;\n }\n return ExpandedPair.equalsOrNull(o1.leftchar, o2.leftchar) &&\n ExpandedPair.equalsOrNull(o1.rightchar, o2.rightchar) &&\n ExpandedPair.equalsOrNull(o1.finderpattern, o2.finderpattern);\n }\n static equalsOrNull(o1, o2) {\n return o1 === null ? o2 === null : ExpandedPair.equals(o1, o2);\n }\n hashCode() {\n // return ExpandedPair.hashNotNull(leftChar) ^ hashNotNull(rightChar) ^ hashNotNull(finderPattern);\n let value = this.leftchar.getValue() ^ this.rightchar.getValue() ^ this.finderpattern.getValue();\n return value;\n }\n }\n\n class ExpandedRow {\n constructor(pairs, rowNumber, wasReversed) {\n this.pairs = pairs;\n this.rowNumber = rowNumber;\n this.wasReversed = wasReversed;\n }\n getPairs() {\n return this.pairs;\n }\n getRowNumber() {\n return this.rowNumber;\n }\n isReversed() {\n return this.wasReversed;\n }\n // check implementation\n isEquivalent(otherPairs) {\n return this.checkEqualitity(this, otherPairs);\n }\n // @Override\n toString() {\n return '{ ' + this.pairs + ' }';\n }\n /**\n * Two rows are equal if they contain the same pairs in the same order.\n */\n // @Override\n // check implementation\n equals(o1, o2) {\n if (!(o1 instanceof ExpandedRow)) {\n return false;\n }\n return this.checkEqualitity(o1, o2) && o1.wasReversed === o2.wasReversed;\n }\n checkEqualitity(pair1, pair2) {\n if (!pair1 || !pair2)\n return;\n let result;\n pair1.forEach((e1, i) => {\n pair2.forEach(e2 => {\n if (e1.getLeftChar().getValue() === e2.getLeftChar().getValue() && e1.getRightChar().getValue() === e2.getRightChar().getValue() && e1.getFinderPatter().getValue() === e2.getFinderPatter().getValue()) {\n result = true;\n }\n });\n });\n return result;\n }\n }\n\n // import java.util.ArrayList;\n // import java.util.Iterator;\n // import java.util.List;\n // import java.util.Map;\n // import java.util.Collections;\n class RSSExpandedReader extends AbstractRSSReader {\n constructor(verbose) {\n super(...arguments);\n this.pairs = new Array(RSSExpandedReader.MAX_PAIRS);\n this.rows = new Array();\n this.startEnd = [2];\n this.verbose = (verbose === true);\n }\n decodeRow(rowNumber, row, hints) {\n // Rows can start with even pattern in case in prev rows there where odd number of patters.\n // So lets try twice\n // this.pairs.clear();\n this.pairs.length = 0;\n this.startFromEven = false;\n try {\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n }\n catch (e) {\n // OK\n if (this.verbose) {\n console.log(e);\n }\n }\n this.pairs.length = 0;\n this.startFromEven = true;\n return RSSExpandedReader.constructResult(this.decodeRow2pairs(rowNumber, row));\n }\n reset() {\n this.pairs.length = 0;\n this.rows.length = 0;\n }\n // Not private for testing\n decodeRow2pairs(rowNumber, row) {\n let done = false;\n while (!done) {\n try {\n this.pairs.push(this.retrieveNextPair(row, this.pairs, rowNumber));\n }\n catch (error) {\n if (error instanceof NotFoundException) {\n if (!this.pairs.length) {\n throw new NotFoundException();\n }\n // exit this loop when retrieveNextPair() fails and throws\n done = true;\n }\n }\n }\n // TODO: verify sequence of finder patterns as in checkPairSequence()\n if (this.checkChecksum()) {\n return this.pairs;\n }\n let tryStackedDecode;\n if (this.rows.length) {\n tryStackedDecode = true;\n }\n else {\n tryStackedDecode = false;\n }\n // let tryStackedDecode = !this.rows.isEmpty();\n this.storeRow(rowNumber, false); // TODO: deal with reversed rows\n if (tryStackedDecode) {\n // When the image is 180-rotated, then rows are sorted in wrong direction.\n // Try twice with both the directions.\n let ps = this.checkRowsBoolean(false);\n if (ps != null) {\n return ps;\n }\n ps = this.checkRowsBoolean(true);\n if (ps != null) {\n return ps;\n }\n }\n throw new NotFoundException();\n }\n // Need to Verify\n checkRowsBoolean(reverse) {\n // Limit number of rows we are checking\n // We use recursive algorithm with pure complexity and don't want it to take forever\n // Stacked barcode can have up to 11 rows, so 25 seems reasonable enough\n if (this.rows.length > 25) {\n this.rows.length = 0; // We will never have a chance to get result, so clear it\n return null;\n }\n this.pairs.length = 0;\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n let ps = null;\n try {\n ps = this.checkRows(new Array(), 0);\n }\n catch (e) {\n // OK\n if (this.verbose) {\n console.log(e);\n }\n }\n if (reverse) {\n this.rows = this.rows.reverse();\n // Collections.reverse(this.rows);\n }\n return ps;\n }\n // Try to construct a valid rows sequence\n // Recursion is used to implement backtracking\n checkRows(collectedRows, currentRow) {\n for (let i = currentRow; i < this.rows.length; i++) {\n let row = this.rows[i];\n this.pairs.length = 0;\n for (let collectedRow of collectedRows) {\n this.pairs.push(collectedRow.getPairs());\n }\n this.pairs.push(row.getPairs());\n if (!RSSExpandedReader.isValidSequence(this.pairs)) {\n continue;\n }\n if (this.checkChecksum()) {\n return this.pairs;\n }\n let rs = new Array(collectedRows);\n rs.push(row);\n try {\n // Recursion: try to add more rows\n return this.checkRows(rs, i + 1);\n }\n catch (e) {\n // We failed, try the next candidate\n if (this.verbose) {\n console.log(e);\n }\n }\n }\n throw new NotFoundException();\n }\n // Whether the pairs form a valid find pattern sequence,\n // either complete or a prefix\n static isValidSequence(pairs) {\n for (let sequence of RSSExpandedReader.FINDER_PATTERN_SEQUENCES) {\n if (pairs.length > sequence.length) {\n continue;\n }\n let stop = true;\n for (let j = 0; j < pairs.length; j++) {\n if (pairs[j].getFinderPattern().getValue() != sequence[j]) {\n stop = false;\n break;\n }\n }\n if (stop) {\n return true;\n }\n }\n return false;\n }\n storeRow(rowNumber, wasReversed) {\n // Discard if duplicate above or below; otherwise insert in order by row number.\n let insertPos = 0;\n let prevIsSame = false;\n let nextIsSame = false;\n while (insertPos < this.rows.length) {\n let erow = this.rows[insertPos];\n if (erow.getRowNumber() > rowNumber) {\n nextIsSame = erow.isEquivalent(this.pairs);\n break;\n }\n prevIsSame = erow.isEquivalent(this.pairs);\n insertPos++;\n }\n if (nextIsSame || prevIsSame) {\n return;\n }\n // When the row was partially decoded (e.g. 2 pairs found instead of 3),\n // it will prevent us from detecting the barcode.\n // Try to merge partial rows\n // Check whether the row is part of an allready detected row\n if (RSSExpandedReader.isPartialRow(this.pairs, this.rows)) {\n return;\n }\n this.rows.push(insertPos, new ExpandedRow(this.pairs, rowNumber, wasReversed));\n this.removePartialRows(this.pairs, this.rows);\n }\n // Remove all the rows that contains only specified pairs\n removePartialRows(pairs, rows) {\n // for (Iterator iterator = rows.iterator(); iterator.hasNext();) {\n // ExpandedRow r = iterator.next();\n // if (r.getPairs().size() == pairs.size()) {\n // continue;\n // }\n // boolean allFound = true;\n // for (ExpandedPair p : r.getPairs()) {\n // boolean found = false;\n // for (ExpandedPair pp : pairs) {\n // if (p.equals(pp)) {\n // found = true;\n // break;\n // }\n // }\n // if (!found) {\n // allFound = false;\n // break;\n // }\n // }\n // if (allFound) {\n // // 'pairs' contains all the pairs from the row 'r'\n // iterator.remove();\n // }\n // }\n for (let row of rows) {\n if (row.getPairs().length === pairs.length) {\n continue;\n }\n for (let p of row.getPairs()) {\n for (let pp of pairs) {\n if (ExpandedPair.equals(p, pp)) {\n break;\n }\n }\n }\n }\n }\n // Returns true when one of the rows already contains all the pairs\n static isPartialRow(pairs, rows) {\n for (let r of rows) {\n let allFound = true;\n for (let p of pairs) {\n let found = false;\n for (let pp of r.getPairs()) {\n if (p.equals(pp)) {\n found = true;\n break;\n }\n }\n if (!found) {\n allFound = false;\n break;\n }\n }\n if (allFound) {\n // the row 'r' contain all the pairs from 'pairs'\n return true;\n }\n }\n return false;\n }\n // Only used for unit testing\n getRows() {\n return this.rows;\n }\n // Not private for unit testing\n static constructResult(pairs) {\n let binary = BitArrayBuilder.buildBitArray(pairs);\n let decoder = createDecoder(binary);\n let resultingString = decoder.parseInformation();\n let firstPoints = pairs[0].getFinderPattern().getResultPoints();\n let lastPoints = pairs[pairs.length - 1].getFinderPattern().getResultPoints();\n let points = [firstPoints[0], firstPoints[1], lastPoints[0], lastPoints[1]];\n return new Result(resultingString, null, null, points, BarcodeFormat$1.RSS_EXPANDED, null);\n }\n checkChecksum() {\n let firstPair = this.pairs.get(0);\n let checkCharacter = firstPair.getLeftChar();\n let firstCharacter = firstPair.getRightChar();\n if (firstCharacter == null) {\n return false;\n }\n let checksum = firstCharacter.getChecksumPortion();\n let s = 2;\n for (let i = 1; i < this.pairs.size(); ++i) {\n let currentPair = this.pairs.get(i);\n checksum += currentPair.getLeftChar().getChecksumPortion();\n s++;\n let currentRightChar = currentPair.getRightChar();\n if (currentRightChar != null) {\n checksum += currentRightChar.getChecksumPortion();\n s++;\n }\n }\n checksum %= 211;\n let checkCharacterValue = 211 * (s - 4) + checksum;\n return checkCharacterValue == checkCharacter.getValue();\n }\n static getNextSecondBar(row, initialPos) {\n let currentPos;\n if (row.get(initialPos)) {\n currentPos = row.getNextUnset(initialPos);\n currentPos = row.getNextSet(currentPos);\n }\n else {\n currentPos = row.getNextSet(initialPos);\n currentPos = row.getNextUnset(currentPos);\n }\n return currentPos;\n }\n // not private for testing\n retrieveNextPair(row, previousPairs, rowNumber) {\n let isOddPattern = previousPairs.length % 2 == 0;\n if (this.startFromEven) {\n isOddPattern = !isOddPattern;\n }\n let pattern;\n let keepFinding = true;\n let forcedOffset = -1;\n do {\n this.findNextPair(row, previousPairs, forcedOffset);\n pattern = this.parseFoundFinderPattern(row, rowNumber, isOddPattern);\n if (pattern == null) {\n forcedOffset = RSSExpandedReader.getNextSecondBar(row, this.startEnd[0]);\n }\n else {\n keepFinding = false;\n }\n } while (keepFinding);\n // When stacked symbol is split over multiple rows, there's no way to guess if this pair can be last or not.\n // boolean mayBeLast = checkPairSequence(previousPairs, pattern);\n let leftChar = this.decodeDataCharacter(row, pattern, isOddPattern, true);\n if (!this.isEmptyPair(previousPairs) && previousPairs[previousPairs.length - 1].mustBeLast()) {\n throw new NotFoundException();\n }\n let rightChar;\n try {\n rightChar = this.decodeDataCharacter(row, pattern, isOddPattern, false);\n }\n catch (e) {\n rightChar = null;\n if (this.verbose) {\n console.log(e);\n }\n }\n return new ExpandedPair(leftChar, rightChar, pattern, true);\n }\n isEmptyPair(pairs) {\n if (pairs.length === 0) {\n return true;\n }\n return false;\n }\n findNextPair(row, previousPairs, forcedOffset) {\n let counters = this.getDecodeFinderCounters();\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let width = row.getSize();\n let rowOffset;\n if (forcedOffset >= 0) {\n rowOffset = forcedOffset;\n }\n else if (this.isEmptyPair(previousPairs)) {\n rowOffset = 0;\n }\n else {\n let lastPair = previousPairs[previousPairs.length - 1];\n rowOffset = lastPair.getFinderPattern().getStartEnd()[1];\n }\n let searchingEvenPair = previousPairs.length % 2 != 0;\n if (this.startFromEven) {\n searchingEvenPair = !searchingEvenPair;\n }\n let isWhite = false;\n while (rowOffset < width) {\n isWhite = !row.get(rowOffset);\n if (!isWhite) {\n break;\n }\n rowOffset++;\n }\n let counterPosition = 0;\n let patternStart = rowOffset;\n for (let x = rowOffset; x < width; x++) {\n if (row.get(x) != isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition == 3) {\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n if (RSSExpandedReader.isFinderPattern(counters)) {\n this.startEnd[0] = patternStart;\n this.startEnd[1] = x;\n return;\n }\n if (searchingEvenPair) {\n RSSExpandedReader.reverseCounters(counters);\n }\n patternStart += counters[0] + counters[1];\n counters[0] = counters[2];\n counters[1] = counters[3];\n counters[2] = 0;\n counters[3] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n }\n static reverseCounters(counters) {\n let length = counters.length;\n for (let i = 0; i < length / 2; ++i) {\n let tmp = counters[i];\n counters[i] = counters[length - i - 1];\n counters[length - i - 1] = tmp;\n }\n }\n parseFoundFinderPattern(row, rowNumber, oddPattern) {\n // Actually we found elements 2-5.\n let firstCounter;\n let start;\n let end;\n if (oddPattern) {\n // If pattern number is odd, we need to locate element 1 *before* the current block.\n let firstElementStart = this.startEnd[0] - 1;\n // Locate element 1\n while (firstElementStart >= 0 && !row.get(firstElementStart)) {\n firstElementStart--;\n }\n firstElementStart++;\n firstCounter = this.startEnd[0] - firstElementStart;\n start = firstElementStart;\n end = this.startEnd[1];\n }\n else {\n // If pattern number is even, the pattern is reversed, so we need to locate element 1 *after* the current block.\n start = this.startEnd[0];\n end = row.getNextUnset(this.startEnd[1] + 1);\n firstCounter = end - this.startEnd[1];\n }\n // Make 'counters' hold 1-4\n let counters = this.getDecodeFinderCounters();\n System.arraycopy(counters, 0, counters, 1, counters.length - 1);\n counters[0] = firstCounter;\n let value;\n try {\n value = this.parseFinderValue(counters, RSSExpandedReader.FINDER_PATTERNS);\n }\n catch (e) {\n return null;\n }\n // return new FinderPattern(value, new int[] { start, end }, start, end, rowNumber});\n return new FinderPattern(value, [start, end], start, end, rowNumber);\n }\n decodeDataCharacter(row, pattern, isOddPattern, leftChar) {\n let counters = this.getDataCharacterCounters();\n for (let x = 0; x < counters.length; x++) {\n counters[x] = 0;\n }\n if (leftChar) {\n RSSExpandedReader.recordPatternInReverse(row, pattern.getStartEnd()[0], counters);\n }\n else {\n RSSExpandedReader.recordPattern(row, pattern.getStartEnd()[1], counters);\n // reverse it\n for (let i = 0, j = counters.length - 1; i < j; i++, j--) {\n let temp = counters[i];\n counters[i] = counters[j];\n counters[j] = temp;\n }\n } // counters[] has the pixels of the module\n let numModules = 17; // left and right data characters have all the same length\n let elementWidth = MathUtils.sum(new Int32Array(counters)) / numModules;\n // Sanity check: element width for pattern and the character should match\n let expectedElementWidth = (pattern.getStartEnd()[1] - pattern.getStartEnd()[0]) / 15.0;\n if (Math.abs(elementWidth - expectedElementWidth) / expectedElementWidth > 0.3) {\n throw new NotFoundException();\n }\n let oddCounts = this.getOddCounts();\n let evenCounts = this.getEvenCounts();\n let oddRoundingErrors = this.getOddRoundingErrors();\n let evenRoundingErrors = this.getEvenRoundingErrors();\n for (let i = 0; i < counters.length; i++) {\n let value = 1.0 * counters[i] / elementWidth;\n let count = value + 0.5; // Round\n if (count < 1) {\n if (value < 0.3) {\n throw new NotFoundException();\n }\n count = 1;\n }\n else if (count > 8) {\n if (value > 8.7) {\n throw new NotFoundException();\n }\n count = 8;\n }\n let offset = i / 2;\n if ((i & 0x01) == 0) {\n oddCounts[offset] = count;\n oddRoundingErrors[offset] = value - count;\n }\n else {\n evenCounts[offset] = count;\n evenRoundingErrors[offset] = value - count;\n }\n }\n this.adjustOddEvenCounts(numModules);\n let weightRowNumber = 4 * pattern.getValue() + (isOddPattern ? 0 : 2) + (leftChar ? 0 : 1) - 1;\n let oddSum = 0;\n let oddChecksumPortion = 0;\n for (let i = oddCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n let weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i];\n oddChecksumPortion += oddCounts[i] * weight;\n }\n oddSum += oddCounts[i];\n }\n let evenChecksumPortion = 0;\n // int evenSum = 0;\n for (let i = evenCounts.length - 1; i >= 0; i--) {\n if (RSSExpandedReader.isNotA1left(pattern, isOddPattern, leftChar)) {\n let weight = RSSExpandedReader.WEIGHTS[weightRowNumber][2 * i + 1];\n evenChecksumPortion += evenCounts[i] * weight;\n }\n // evenSum += evenCounts[i];\n }\n let checksumPortion = oddChecksumPortion + evenChecksumPortion;\n if ((oddSum & 0x01) != 0 || oddSum > 13 || oddSum < 4) {\n throw new NotFoundException();\n }\n let group = (13 - oddSum) / 2;\n let oddWidest = RSSExpandedReader.SYMBOL_WIDEST[group];\n let evenWidest = 9 - oddWidest;\n let vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, true);\n let vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, false);\n let tEven = RSSExpandedReader.EVEN_TOTAL_SUBSET[group];\n let gSum = RSSExpandedReader.GSUM[group];\n let value = vOdd * tEven + vEven + gSum;\n return new DataCharacter(value, checksumPortion);\n }\n static isNotA1left(pattern, isOddPattern, leftChar) {\n // A1: pattern.getValue is 0 (A), and it's an oddPattern, and it is a left char\n return !(pattern.getValue() == 0 && isOddPattern && leftChar);\n }\n adjustOddEvenCounts(numModules) {\n let oddSum = MathUtils.sum(new Int32Array(this.getOddCounts()));\n let evenSum = MathUtils.sum(new Int32Array(this.getEvenCounts()));\n let incrementOdd = false;\n let decrementOdd = false;\n if (oddSum > 13) {\n decrementOdd = true;\n }\n else if (oddSum < 4) {\n incrementOdd = true;\n }\n let incrementEven = false;\n let decrementEven = false;\n if (evenSum > 13) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n let mismatch = oddSum + evenSum - numModules;\n let oddParityBad = (oddSum & 0x01) == 1;\n let evenParityBad = (evenSum & 0x01) == 0;\n if (mismatch == 1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n decrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n decrementEven = true;\n }\n }\n else if (mismatch == -1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n incrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n incrementEven = true;\n }\n }\n else if (mismatch == 0) {\n if (oddParityBad) {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n // Both bad\n if (oddSum < evenSum) {\n incrementOdd = true;\n decrementEven = true;\n }\n else {\n decrementOdd = true;\n incrementEven = true;\n }\n }\n else {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n // Nothing to do!\n }\n }\n else {\n throw new NotFoundException();\n }\n if (incrementOdd) {\n if (decrementOdd) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (decrementOdd) {\n RSSExpandedReader.decrement(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (incrementEven) {\n if (decrementEven) {\n throw new NotFoundException();\n }\n RSSExpandedReader.increment(this.getEvenCounts(), this.getOddRoundingErrors());\n }\n if (decrementEven) {\n RSSExpandedReader.decrement(this.getEvenCounts(), this.getEvenRoundingErrors());\n }\n }\n }\n RSSExpandedReader.SYMBOL_WIDEST = [7, 5, 4, 3, 1];\n RSSExpandedReader.EVEN_TOTAL_SUBSET = [4, 20, 52, 104, 204];\n RSSExpandedReader.GSUM = [0, 348, 1388, 2948, 3988];\n RSSExpandedReader.FINDER_PATTERNS = [\n Int32Array.from([1, 8, 4, 1]),\n Int32Array.from([3, 6, 4, 1]),\n Int32Array.from([3, 4, 6, 1]),\n Int32Array.from([3, 2, 8, 1]),\n Int32Array.from([2, 6, 5, 1]),\n Int32Array.from([2, 2, 9, 1]) // F\n ];\n RSSExpandedReader.WEIGHTS = [\n [1, 3, 9, 27, 81, 32, 96, 77],\n [20, 60, 180, 118, 143, 7, 21, 63],\n [189, 145, 13, 39, 117, 140, 209, 205],\n [193, 157, 49, 147, 19, 57, 171, 91],\n [62, 186, 136, 197, 169, 85, 44, 132],\n [185, 133, 188, 142, 4, 12, 36, 108],\n [113, 128, 173, 97, 80, 29, 87, 50],\n [150, 28, 84, 41, 123, 158, 52, 156],\n [46, 138, 203, 187, 139, 206, 196, 166],\n [76, 17, 51, 153, 37, 111, 122, 155],\n [43, 129, 176, 106, 107, 110, 119, 146],\n [16, 48, 144, 10, 30, 90, 59, 177],\n [109, 116, 137, 200, 178, 112, 125, 164],\n [70, 210, 208, 202, 184, 130, 179, 115],\n [134, 191, 151, 31, 93, 68, 204, 190],\n [148, 22, 66, 198, 172, 94, 71, 2],\n [6, 18, 54, 162, 64, 192, 154, 40],\n [120, 149, 25, 75, 14, 42, 126, 167],\n [79, 26, 78, 23, 69, 207, 199, 175],\n [103, 98, 83, 38, 114, 131, 182, 124],\n [161, 61, 183, 127, 170, 88, 53, 159],\n [55, 165, 73, 8, 24, 72, 5, 15],\n [45, 135, 194, 160, 58, 174, 100, 89]\n ];\n RSSExpandedReader.FINDER_PAT_A = 0;\n RSSExpandedReader.FINDER_PAT_B = 1;\n RSSExpandedReader.FINDER_PAT_C = 2;\n RSSExpandedReader.FINDER_PAT_D = 3;\n RSSExpandedReader.FINDER_PAT_E = 4;\n RSSExpandedReader.FINDER_PAT_F = 5;\n RSSExpandedReader.FINDER_PATTERN_SEQUENCES = [\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_C],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_E],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n [RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_A, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_B, RSSExpandedReader.FINDER_PAT_C, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_D, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_E, RSSExpandedReader.FINDER_PAT_F, RSSExpandedReader.FINDER_PAT_F],\n ];\n RSSExpandedReader.MAX_PAIRS = 11;\n\n class Pair extends DataCharacter {\n constructor(value, checksumPortion, finderPattern) {\n super(value, checksumPortion);\n this.count = 0;\n this.finderPattern = finderPattern;\n }\n getFinderPattern() {\n return this.finderPattern;\n }\n getCount() {\n return this.count;\n }\n incrementCount() {\n this.count++;\n }\n }\n\n class RSS14Reader extends AbstractRSSReader {\n constructor() {\n super(...arguments);\n this.possibleLeftPairs = [];\n this.possibleRightPairs = [];\n }\n decodeRow(rowNumber, row, hints) {\n const leftPair = this.decodePair(row, false, rowNumber, hints);\n RSS14Reader.addOrTally(this.possibleLeftPairs, leftPair);\n row.reverse();\n let rightPair = this.decodePair(row, true, rowNumber, hints);\n RSS14Reader.addOrTally(this.possibleRightPairs, rightPair);\n row.reverse();\n for (let left of this.possibleLeftPairs) {\n if (left.getCount() > 1) {\n for (let right of this.possibleRightPairs) {\n if (right.getCount() > 1 && RSS14Reader.checkChecksum(left, right)) {\n return RSS14Reader.constructResult(left, right);\n }\n }\n }\n }\n throw new NotFoundException();\n }\n static addOrTally(possiblePairs, pair) {\n if (pair == null) {\n return;\n }\n let found = false;\n for (let other of possiblePairs) {\n if (other.getValue() === pair.getValue()) {\n other.incrementCount();\n found = true;\n break;\n }\n }\n if (!found) {\n possiblePairs.push(pair);\n }\n }\n reset() {\n this.possibleLeftPairs.length = 0;\n this.possibleRightPairs.length = 0;\n }\n static constructResult(leftPair, rightPair) {\n let symbolValue = 4537077 * leftPair.getValue() + rightPair.getValue();\n let text = new String(symbolValue).toString();\n let buffer = new StringBuilder();\n for (let i = 13 - text.length; i > 0; i--) {\n buffer.append('0');\n }\n buffer.append(text);\n let checkDigit = 0;\n for (let i = 0; i < 13; i++) {\n let digit = buffer.charAt(i).charCodeAt(0) - '0'.charCodeAt(0);\n checkDigit += ((i & 0x01) === 0) ? 3 * digit : digit;\n }\n checkDigit = 10 - (checkDigit % 10);\n if (checkDigit === 10) {\n checkDigit = 0;\n }\n buffer.append(checkDigit.toString());\n let leftPoints = leftPair.getFinderPattern().getResultPoints();\n let rightPoints = rightPair.getFinderPattern().getResultPoints();\n return new Result(buffer.toString(), null, 0, [leftPoints[0], leftPoints[1], rightPoints[0], rightPoints[1]], BarcodeFormat$1.RSS_14, new Date().getTime());\n }\n static checkChecksum(leftPair, rightPair) {\n let checkValue = (leftPair.getChecksumPortion() + 16 * rightPair.getChecksumPortion()) % 79;\n let targetCheckValue = 9 * leftPair.getFinderPattern().getValue() + rightPair.getFinderPattern().getValue();\n if (targetCheckValue > 72) {\n targetCheckValue--;\n }\n if (targetCheckValue > 8) {\n targetCheckValue--;\n }\n return checkValue === targetCheckValue;\n }\n decodePair(row, right, rowNumber, hints) {\n try {\n let startEnd = this.findFinderPattern(row, right);\n let pattern = this.parseFoundFinderPattern(row, rowNumber, right, startEnd);\n let resultPointCallback = hints == null ? null : hints.get(DecodeHintType$1.NEED_RESULT_POINT_CALLBACK);\n if (resultPointCallback != null) {\n let center = (startEnd[0] + startEnd[1]) / 2.0;\n if (right) {\n // row is actually reversed\n center = row.getSize() - 1 - center;\n }\n resultPointCallback.foundPossibleResultPoint(new ResultPoint(center, rowNumber));\n }\n let outside = this.decodeDataCharacter(row, pattern, true);\n let inside = this.decodeDataCharacter(row, pattern, false);\n return new Pair(1597 * outside.getValue() + inside.getValue(), outside.getChecksumPortion() + 4 * inside.getChecksumPortion(), pattern);\n }\n catch (err) {\n return null;\n }\n }\n decodeDataCharacter(row, pattern, outsideChar) {\n let counters = this.getDataCharacterCounters();\n for (let x = 0; x < counters.length; x++) {\n counters[x] = 0;\n }\n if (outsideChar) {\n OneDReader.recordPatternInReverse(row, pattern.getStartEnd()[0], counters);\n }\n else {\n OneDReader.recordPattern(row, pattern.getStartEnd()[1] + 1, counters);\n // reverse it\n for (let i = 0, j = counters.length - 1; i < j; i++, j--) {\n let temp = counters[i];\n counters[i] = counters[j];\n counters[j] = temp;\n }\n }\n let numModules = outsideChar ? 16 : 15;\n let elementWidth = MathUtils.sum(new Int32Array(counters)) / numModules;\n let oddCounts = this.getOddCounts();\n let evenCounts = this.getEvenCounts();\n let oddRoundingErrors = this.getOddRoundingErrors();\n let evenRoundingErrors = this.getEvenRoundingErrors();\n for (let i = 0; i < counters.length; i++) {\n let value = counters[i] / elementWidth;\n let count = Math.floor(value + 0.5);\n if (count < 1) {\n count = 1;\n }\n else if (count > 8) {\n count = 8;\n }\n let offset = Math.floor(i / 2);\n if ((i & 0x01) === 0) {\n oddCounts[offset] = count;\n oddRoundingErrors[offset] = value - count;\n }\n else {\n evenCounts[offset] = count;\n evenRoundingErrors[offset] = value - count;\n }\n }\n this.adjustOddEvenCounts(outsideChar, numModules);\n let oddSum = 0;\n let oddChecksumPortion = 0;\n for (let i = oddCounts.length - 1; i >= 0; i--) {\n oddChecksumPortion *= 9;\n oddChecksumPortion += oddCounts[i];\n oddSum += oddCounts[i];\n }\n let evenChecksumPortion = 0;\n let evenSum = 0;\n for (let i = evenCounts.length - 1; i >= 0; i--) {\n evenChecksumPortion *= 9;\n evenChecksumPortion += evenCounts[i];\n evenSum += evenCounts[i];\n }\n let checksumPortion = oddChecksumPortion + 3 * evenChecksumPortion;\n if (outsideChar) {\n if ((oddSum & 0x01) !== 0 || oddSum > 12 || oddSum < 4) {\n throw new NotFoundException();\n }\n let group = (12 - oddSum) / 2;\n let oddWidest = RSS14Reader.OUTSIDE_ODD_WIDEST[group];\n let evenWidest = 9 - oddWidest;\n let vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, false);\n let vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, true);\n let tEven = RSS14Reader.OUTSIDE_EVEN_TOTAL_SUBSET[group];\n let gSum = RSS14Reader.OUTSIDE_GSUM[group];\n return new DataCharacter(vOdd * tEven + vEven + gSum, checksumPortion);\n }\n else {\n if ((evenSum & 0x01) !== 0 || evenSum > 10 || evenSum < 4) {\n throw new NotFoundException();\n }\n let group = (10 - evenSum) / 2;\n let oddWidest = RSS14Reader.INSIDE_ODD_WIDEST[group];\n let evenWidest = 9 - oddWidest;\n let vOdd = RSSUtils.getRSSvalue(oddCounts, oddWidest, true);\n let vEven = RSSUtils.getRSSvalue(evenCounts, evenWidest, false);\n let tOdd = RSS14Reader.INSIDE_ODD_TOTAL_SUBSET[group];\n let gSum = RSS14Reader.INSIDE_GSUM[group];\n return new DataCharacter(vEven * tOdd + vOdd + gSum, checksumPortion);\n }\n }\n findFinderPattern(row, rightFinderPattern) {\n let counters = this.getDecodeFinderCounters();\n counters[0] = 0;\n counters[1] = 0;\n counters[2] = 0;\n counters[3] = 0;\n let width = row.getSize();\n let isWhite = false;\n let rowOffset = 0;\n while (rowOffset < width) {\n isWhite = !row.get(rowOffset);\n if (rightFinderPattern === isWhite) {\n // Will encounter white first when searching for right finder pattern\n break;\n }\n rowOffset++;\n }\n let counterPosition = 0;\n let patternStart = rowOffset;\n for (let x = rowOffset; x < width; x++) {\n if (row.get(x) !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === 3) {\n if (AbstractRSSReader.isFinderPattern(counters)) {\n return [patternStart, x];\n }\n patternStart += counters[0] + counters[1];\n counters[0] = counters[2];\n counters[1] = counters[3];\n counters[2] = 0;\n counters[3] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n throw new NotFoundException();\n }\n parseFoundFinderPattern(row, rowNumber, right, startEnd) {\n // Actually we found elements 2-5\n let firstIsBlack = row.get(startEnd[0]);\n let firstElementStart = startEnd[0] - 1;\n // Locate element 1\n while (firstElementStart >= 0 && firstIsBlack !== row.get(firstElementStart)) {\n firstElementStart--;\n }\n firstElementStart++;\n const firstCounter = startEnd[0] - firstElementStart;\n // Make 'counters' hold 1-4\n const counters = this.getDecodeFinderCounters();\n const copy = new Int32Array(counters.length);\n System.arraycopy(counters, 0, copy, 1, counters.length - 1);\n copy[0] = firstCounter;\n const value = this.parseFinderValue(copy, RSS14Reader.FINDER_PATTERNS);\n let start = firstElementStart;\n let end = startEnd[1];\n if (right) {\n // row is actually reversed\n start = row.getSize() - 1 - start;\n end = row.getSize() - 1 - end;\n }\n return new FinderPattern(value, [firstElementStart, startEnd[1]], start, end, rowNumber);\n }\n adjustOddEvenCounts(outsideChar, numModules) {\n let oddSum = MathUtils.sum(new Int32Array(this.getOddCounts()));\n let evenSum = MathUtils.sum(new Int32Array(this.getEvenCounts()));\n let incrementOdd = false;\n let decrementOdd = false;\n let incrementEven = false;\n let decrementEven = false;\n if (outsideChar) {\n if (oddSum > 12) {\n decrementOdd = true;\n }\n else if (oddSum < 4) {\n incrementOdd = true;\n }\n if (evenSum > 12) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n }\n else {\n if (oddSum > 11) {\n decrementOdd = true;\n }\n else if (oddSum < 5) {\n incrementOdd = true;\n }\n if (evenSum > 10) {\n decrementEven = true;\n }\n else if (evenSum < 4) {\n incrementEven = true;\n }\n }\n let mismatch = oddSum + evenSum - numModules;\n let oddParityBad = (oddSum & 0x01) === (outsideChar ? 1 : 0);\n let evenParityBad = (evenSum & 0x01) === 1;\n if (mismatch === 1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n decrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n decrementEven = true;\n }\n }\n else if (mismatch === -1) {\n if (oddParityBad) {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n incrementOdd = true;\n }\n else {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n incrementEven = true;\n }\n }\n else if (mismatch === 0) {\n if (oddParityBad) {\n if (!evenParityBad) {\n throw new NotFoundException();\n }\n // Both bad\n if (oddSum < evenSum) {\n incrementOdd = true;\n decrementEven = true;\n }\n else {\n decrementOdd = true;\n incrementEven = true;\n }\n }\n else {\n if (evenParityBad) {\n throw new NotFoundException();\n }\n // Nothing to do!\n }\n }\n else {\n throw new NotFoundException();\n }\n if (incrementOdd) {\n if (decrementOdd) {\n throw new NotFoundException();\n }\n AbstractRSSReader.increment(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (decrementOdd) {\n AbstractRSSReader.decrement(this.getOddCounts(), this.getOddRoundingErrors());\n }\n if (incrementEven) {\n if (decrementEven) {\n throw new NotFoundException();\n }\n AbstractRSSReader.increment(this.getEvenCounts(), this.getOddRoundingErrors());\n }\n if (decrementEven) {\n AbstractRSSReader.decrement(this.getEvenCounts(), this.getEvenRoundingErrors());\n }\n }\n }\n RSS14Reader.OUTSIDE_EVEN_TOTAL_SUBSET = [1, 10, 34, 70, 126];\n RSS14Reader.INSIDE_ODD_TOTAL_SUBSET = [4, 20, 48, 81];\n RSS14Reader.OUTSIDE_GSUM = [0, 161, 961, 2015, 2715];\n RSS14Reader.INSIDE_GSUM = [0, 336, 1036, 1516];\n RSS14Reader.OUTSIDE_ODD_WIDEST = [8, 6, 4, 3, 1];\n RSS14Reader.INSIDE_ODD_WIDEST = [2, 4, 6, 8];\n RSS14Reader.FINDER_PATTERNS = [\n Int32Array.from([3, 8, 2, 1]),\n Int32Array.from([3, 5, 5, 1]),\n Int32Array.from([3, 3, 7, 1]),\n Int32Array.from([3, 1, 9, 1]),\n Int32Array.from([2, 7, 4, 1]),\n Int32Array.from([2, 5, 6, 1]),\n Int32Array.from([2, 3, 8, 1]),\n Int32Array.from([1, 5, 7, 1]),\n Int32Array.from([1, 3, 9, 1]),\n ];\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Daniel Switkin \n * @author Sean Owen\n */\n class MultiFormatOneDReader extends OneDReader {\n constructor(hints, verbose) {\n super();\n this.readers = [];\n this.verbose = (verbose === true);\n const possibleFormats = !hints ? null : hints.get(DecodeHintType$1.POSSIBLE_FORMATS);\n const useCode39CheckDigit = hints && hints.get(DecodeHintType$1.ASSUME_CODE_39_CHECK_DIGIT) !== undefined;\n if (possibleFormats) {\n if (possibleFormats.includes(BarcodeFormat$1.EAN_13) ||\n possibleFormats.includes(BarcodeFormat$1.UPC_A) ||\n possibleFormats.includes(BarcodeFormat$1.EAN_8) ||\n possibleFormats.includes(BarcodeFormat$1.UPC_E)) {\n this.readers.push(new MultiFormatUPCEANReader(hints));\n }\n if (possibleFormats.includes(BarcodeFormat$1.CODE_39)) {\n this.readers.push(new Code39Reader(useCode39CheckDigit));\n }\n // if (possibleFormats.includes(BarcodeFormat.CODE_93)) {\n // this.readers.push(new Code93Reader());\n // }\n if (possibleFormats.includes(BarcodeFormat$1.CODE_128)) {\n this.readers.push(new Code128Reader());\n }\n if (possibleFormats.includes(BarcodeFormat$1.ITF)) {\n this.readers.push(new ITFReader());\n }\n // if (possibleFormats.includes(BarcodeFormat.CODABAR)) {\n // this.readers.push(new CodaBarReader());\n // }\n if (possibleFormats.includes(BarcodeFormat$1.RSS_14)) {\n this.readers.push(new RSS14Reader());\n }\n if (possibleFormats.includes(BarcodeFormat$1.RSS_EXPANDED)) {\n this.readers.push(new RSSExpandedReader(this.verbose));\n }\n }\n if (this.readers.length === 0) {\n this.readers.push(new MultiFormatUPCEANReader(hints));\n this.readers.push(new Code39Reader());\n // this.readers.push(new CodaBarReader());\n // this.readers.push(new Code93Reader());\n this.readers.push(new MultiFormatUPCEANReader(hints));\n this.readers.push(new Code128Reader());\n this.readers.push(new ITFReader());\n this.readers.push(new RSS14Reader());\n this.readers.push(new RSSExpandedReader(this.verbose));\n }\n }\n // @Override\n decodeRow(rowNumber, row, hints) {\n for (let i = 0; i < this.readers.length; i++) {\n try {\n return this.readers[i].decodeRow(rowNumber, row, hints);\n }\n catch (re) {\n // continue\n }\n }\n throw new NotFoundException();\n }\n // @Override\n reset() {\n this.readers.forEach(reader => reader.reset());\n }\n }\n\n /**\n * @deprecated Moving to @zxing/browser\n *\n * Barcode reader reader to use from browser.\n */\n class BrowserBarcodeReader extends BrowserCodeReader {\n /**\n * Creates an instance of BrowserBarcodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n * @param {Map} hints\n */\n constructor(timeBetweenScansMillis = 500, hints) {\n super(new MultiFormatOneDReader(hints), timeBetweenScansMillis, hints);\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.

\n */\n class ECBlocks {\n constructor(ecCodewords, ecBlocks1, ecBlocks2) {\n this.ecCodewords = ecCodewords;\n this.ecBlocks = [ecBlocks1];\n ecBlocks2 && this.ecBlocks.push(ecBlocks2);\n }\n getECCodewords() {\n return this.ecCodewords;\n }\n getECBlocks() {\n return this.ecBlocks;\n }\n }\n /**\n *

Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the Data Matrix code version's format.

\n */\n class ECB {\n constructor(count, dataCodewords) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n getCount() {\n return this.count;\n }\n getDataCodewords() {\n return this.dataCodewords;\n }\n }\n /**\n * The Version object encapsulates attributes about a particular\n * size Data Matrix Code.\n *\n * @author bbrown@google.com (Brian Brown)\n */\n class Version {\n constructor(versionNumber, symbolSizeRows, symbolSizeColumns, dataRegionSizeRows, dataRegionSizeColumns, ecBlocks) {\n this.versionNumber = versionNumber;\n this.symbolSizeRows = symbolSizeRows;\n this.symbolSizeColumns = symbolSizeColumns;\n this.dataRegionSizeRows = dataRegionSizeRows;\n this.dataRegionSizeColumns = dataRegionSizeColumns;\n this.ecBlocks = ecBlocks;\n // Calculate the total number of codewords\n let total = 0;\n const ecCodewords = ecBlocks.getECCodewords();\n const ecbArray = ecBlocks.getECBlocks();\n for (let ecBlock of ecbArray) {\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n this.totalCodewords = total;\n }\n getVersionNumber() {\n return this.versionNumber;\n }\n getSymbolSizeRows() {\n return this.symbolSizeRows;\n }\n getSymbolSizeColumns() {\n return this.symbolSizeColumns;\n }\n getDataRegionSizeRows() {\n return this.dataRegionSizeRows;\n }\n getDataRegionSizeColumns() {\n return this.dataRegionSizeColumns;\n }\n getTotalCodewords() {\n return this.totalCodewords;\n }\n getECBlocks() {\n return this.ecBlocks;\n }\n /**\n *

Deduces version information from Data Matrix dimensions.

\n *\n * @param numRows Number of rows in modules\n * @param numColumns Number of columns in modules\n * @return Version for a Data Matrix Code of those dimensions\n * @throws FormatException if dimensions do correspond to a valid Data Matrix size\n */\n static getVersionForDimensions(numRows, numColumns) {\n if ((numRows & 0x01) !== 0 || (numColumns & 0x01) !== 0) {\n throw new FormatException();\n }\n for (let version of Version.VERSIONS) {\n if (version.symbolSizeRows === numRows && version.symbolSizeColumns === numColumns) {\n return version;\n }\n }\n throw new FormatException();\n }\n // @Override\n toString() {\n return '' + this.versionNumber;\n }\n /**\n * See ISO 16022:2006 5.5.1 Table 7\n */\n static buildVersions() {\n return [\n new Version(1, 10, 10, 8, 8, new ECBlocks(5, new ECB(1, 3))),\n new Version(2, 12, 12, 10, 10, new ECBlocks(7, new ECB(1, 5))),\n new Version(3, 14, 14, 12, 12, new ECBlocks(10, new ECB(1, 8))),\n new Version(4, 16, 16, 14, 14, new ECBlocks(12, new ECB(1, 12))),\n new Version(5, 18, 18, 16, 16, new ECBlocks(14, new ECB(1, 18))),\n new Version(6, 20, 20, 18, 18, new ECBlocks(18, new ECB(1, 22))),\n new Version(7, 22, 22, 20, 20, new ECBlocks(20, new ECB(1, 30))),\n new Version(8, 24, 24, 22, 22, new ECBlocks(24, new ECB(1, 36))),\n new Version(9, 26, 26, 24, 24, new ECBlocks(28, new ECB(1, 44))),\n new Version(10, 32, 32, 14, 14, new ECBlocks(36, new ECB(1, 62))),\n new Version(11, 36, 36, 16, 16, new ECBlocks(42, new ECB(1, 86))),\n new Version(12, 40, 40, 18, 18, new ECBlocks(48, new ECB(1, 114))),\n new Version(13, 44, 44, 20, 20, new ECBlocks(56, new ECB(1, 144))),\n new Version(14, 48, 48, 22, 22, new ECBlocks(68, new ECB(1, 174))),\n new Version(15, 52, 52, 24, 24, new ECBlocks(42, new ECB(2, 102))),\n new Version(16, 64, 64, 14, 14, new ECBlocks(56, new ECB(2, 140))),\n new Version(17, 72, 72, 16, 16, new ECBlocks(36, new ECB(4, 92))),\n new Version(18, 80, 80, 18, 18, new ECBlocks(48, new ECB(4, 114))),\n new Version(19, 88, 88, 20, 20, new ECBlocks(56, new ECB(4, 144))),\n new Version(20, 96, 96, 22, 22, new ECBlocks(68, new ECB(4, 174))),\n new Version(21, 104, 104, 24, 24, new ECBlocks(56, new ECB(6, 136))),\n new Version(22, 120, 120, 18, 18, new ECBlocks(68, new ECB(6, 175))),\n new Version(23, 132, 132, 20, 20, new ECBlocks(62, new ECB(8, 163))),\n new Version(24, 144, 144, 22, 22, new ECBlocks(62, new ECB(8, 156), new ECB(2, 155))),\n new Version(25, 8, 18, 6, 16, new ECBlocks(7, new ECB(1, 5))),\n new Version(26, 8, 32, 6, 14, new ECBlocks(11, new ECB(1, 10))),\n new Version(27, 12, 26, 10, 24, new ECBlocks(14, new ECB(1, 16))),\n new Version(28, 12, 36, 10, 16, new ECBlocks(18, new ECB(1, 22))),\n new Version(29, 16, 36, 14, 16, new ECBlocks(24, new ECB(1, 32))),\n new Version(30, 16, 48, 14, 22, new ECBlocks(28, new ECB(1, 49)))\n ];\n }\n }\n Version.VERSIONS = Version.buildVersions();\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author bbrown@google.com (Brian Brown)\n */\n class BitMatrixParser {\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is < 8 or > 144 or not 0 mod 2\n */\n constructor(bitMatrix) {\n const dimension = bitMatrix.getHeight();\n if (dimension < 8 || dimension > 144 || (dimension & 0x01) !== 0) {\n throw new FormatException();\n }\n this.version = BitMatrixParser.readVersion(bitMatrix);\n this.mappingBitMatrix = this.extractDataRegion(bitMatrix);\n this.readMappingMatrix = new BitMatrix(this.mappingBitMatrix.getWidth(), this.mappingBitMatrix.getHeight());\n }\n getVersion() {\n return this.version;\n }\n /**\n *

Creates the version object based on the dimension of the original bit matrix from\n * the datamatrix code.

\n *\n *

See ISO 16022:2006 Table 7 - ECC 200 symbol attributes

\n *\n * @param bitMatrix Original {@link BitMatrix} including alignment patterns\n * @return {@link Version} encapsulating the Data Matrix Code's \"version\"\n * @throws FormatException if the dimensions of the mapping matrix are not valid\n * Data Matrix dimensions.\n */\n static readVersion(bitMatrix) {\n const numRows = bitMatrix.getHeight();\n const numColumns = bitMatrix.getWidth();\n return Version.getVersionForDimensions(numRows, numColumns);\n }\n /**\n *

Reads the bits in the {@link BitMatrix} representing the mapping matrix (No alignment patterns)\n * in the correct order in order to reconstitute the codewords bytes contained within the\n * Data Matrix Code.

\n *\n * @return bytes encoded within the Data Matrix Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n readCodewords() {\n const result = new Int8Array(this.version.getTotalCodewords());\n let resultOffset = 0;\n let row = 4;\n let column = 0;\n const numRows = this.mappingBitMatrix.getHeight();\n const numColumns = this.mappingBitMatrix.getWidth();\n let corner1Read = false;\n let corner2Read = false;\n let corner3Read = false;\n let corner4Read = false;\n // Read all of the codewords\n do {\n // Check the four corner cases\n if ((row === numRows) && (column === 0) && !corner1Read) {\n result[resultOffset++] = this.readCorner1(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner1Read = true;\n }\n else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x03) !== 0) && !corner2Read) {\n result[resultOffset++] = this.readCorner2(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner2Read = true;\n }\n else if ((row === numRows + 4) && (column === 2) && ((numColumns & 0x07) === 0) && !corner3Read) {\n result[resultOffset++] = this.readCorner3(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner3Read = true;\n }\n else if ((row === numRows - 2) && (column === 0) && ((numColumns & 0x07) === 4) && !corner4Read) {\n result[resultOffset++] = this.readCorner4(numRows, numColumns) & 0xff;\n row -= 2;\n column += 2;\n corner4Read = true;\n }\n else {\n // Sweep upward diagonally to the right\n do {\n if ((row < numRows) && (column >= 0) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row -= 2;\n column += 2;\n } while ((row >= 0) && (column < numColumns));\n row += 1;\n column += 3;\n // Sweep downward diagonally to the left\n do {\n if ((row >= 0) && (column < numColumns) && !this.readMappingMatrix.get(column, row)) {\n result[resultOffset++] = this.readUtah(row, column, numRows, numColumns) & 0xff;\n }\n row += 2;\n column -= 2;\n } while ((row < numRows) && (column >= 0));\n row += 3;\n column += 1;\n }\n } while ((row < numRows) || (column < numColumns));\n if (resultOffset !== this.version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n }\n /**\n *

Reads a bit of the mapping matrix accounting for boundary wrapping.

\n *\n * @param row Row to read in the mapping matrix\n * @param column Column to read in the mapping matrix\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return value of the given bit in the mapping matrix\n */\n readModule(row, column, numRows, numColumns) {\n // Adjust the row and column indices based on boundary wrapping\n if (row < 0) {\n row += numRows;\n column += 4 - ((numRows + 4) & 0x07);\n }\n if (column < 0) {\n column += numColumns;\n row += 4 - ((numColumns + 4) & 0x07);\n }\n this.readMappingMatrix.set(column, row);\n return this.mappingBitMatrix.get(column, row);\n }\n /**\n *

Reads the 8 bits of the standard Utah-shaped pattern.

\n *\n *

See ISO 16022:2006, 5.8.1 Figure 6

\n *\n * @param row Current row in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param column Current column in the mapping matrix, anchored at the 8th bit (LSB) of the pattern\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the utah shape\n */\n readUtah(row, column, numRows, numColumns) {\n let currentByte = 0;\n if (this.readModule(row - 2, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 2, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row - 1, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(row, column, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n /**\n *

Reads the 8 bits of the special corner condition 1.

\n *\n *

See ISO 16022:2006, Figure F.3

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 1\n */\n readCorner1(numRows, numColumns) {\n let currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n /**\n *

Reads the 8 bits of the special corner condition 2.

\n *\n *

See ISO 16022:2006, Figure F.4

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 2\n */\n readCorner2(numRows, numColumns) {\n let currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 4, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n /**\n *

Reads the 8 bits of the special corner condition 3.

\n *\n *

See ISO 16022:2006, Figure F.5

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 3\n */\n readCorner3(numRows, numColumns) {\n let currentByte = 0;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 3, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n /**\n *

Reads the 8 bits of the special corner condition 4.

\n *\n *

See ISO 16022:2006, Figure F.6

\n *\n * @param numRows Number of rows in the mapping matrix\n * @param numColumns Number of columns in the mapping matrix\n * @return byte from the Corner condition 4\n */\n readCorner4(numRows, numColumns) {\n let currentByte = 0;\n if (this.readModule(numRows - 3, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 2, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(numRows - 1, 0, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 2, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(0, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(1, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(2, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n currentByte <<= 1;\n if (this.readModule(3, numColumns - 1, numRows, numColumns)) {\n currentByte |= 1;\n }\n return currentByte;\n }\n /**\n *

Extracts the data region from a {@link BitMatrix} that contains\n * alignment patterns.

\n *\n * @param bitMatrix Original {@link BitMatrix} with alignment patterns\n * @return BitMatrix that has the alignment patterns removed\n */\n extractDataRegion(bitMatrix) {\n const symbolSizeRows = this.version.getSymbolSizeRows();\n const symbolSizeColumns = this.version.getSymbolSizeColumns();\n if (bitMatrix.getHeight() !== symbolSizeRows) {\n throw new IllegalArgumentException('Dimension of bitMatrix must match the version size');\n }\n const dataRegionSizeRows = this.version.getDataRegionSizeRows();\n const dataRegionSizeColumns = this.version.getDataRegionSizeColumns();\n const numDataRegionsRow = symbolSizeRows / dataRegionSizeRows | 0;\n const numDataRegionsColumn = symbolSizeColumns / dataRegionSizeColumns | 0;\n const sizeDataRegionRow = numDataRegionsRow * dataRegionSizeRows;\n const sizeDataRegionColumn = numDataRegionsColumn * dataRegionSizeColumns;\n const bitMatrixWithoutAlignment = new BitMatrix(sizeDataRegionColumn, sizeDataRegionRow);\n for (let dataRegionRow = 0; dataRegionRow < numDataRegionsRow; ++dataRegionRow) {\n const dataRegionRowOffset = dataRegionRow * dataRegionSizeRows;\n for (let dataRegionColumn = 0; dataRegionColumn < numDataRegionsColumn; ++dataRegionColumn) {\n const dataRegionColumnOffset = dataRegionColumn * dataRegionSizeColumns;\n for (let i = 0; i < dataRegionSizeRows; ++i) {\n const readRowOffset = dataRegionRow * (dataRegionSizeRows + 2) + 1 + i;\n const writeRowOffset = dataRegionRowOffset + i;\n for (let j = 0; j < dataRegionSizeColumns; ++j) {\n const readColumnOffset = dataRegionColumn * (dataRegionSizeColumns + 2) + 1 + j;\n if (bitMatrix.get(readColumnOffset, readRowOffset)) {\n const writeColumnOffset = dataRegionColumnOffset + j;\n bitMatrixWithoutAlignment.set(writeColumnOffset, writeRowOffset);\n }\n }\n }\n }\n }\n return bitMatrixWithoutAlignment;\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates a block of data within a Data Matrix Code. Data Matrix Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.

\n *\n * @author bbrown@google.com (Brian Brown)\n */\n class DataBlock {\n constructor(numDataCodewords, codewords) {\n this.numDataCodewords = numDataCodewords;\n this.codewords = codewords;\n }\n /**\n *

When Data Matrix Codes use multiple data blocks, they actually interleave the bytes of each of them.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.

\n *\n * @param rawCodewords bytes as read directly from the Data Matrix Code\n * @param version version of the Data Matrix Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * Data Matrix Code\n */\n static getDataBlocks(rawCodewords, version) {\n // Figure out the number and size of data blocks used by this version\n const ecBlocks = version.getECBlocks();\n // First count the total number of data blocks\n let totalBlocks = 0;\n const ecBlockArray = ecBlocks.getECBlocks();\n for (let ecBlock of ecBlockArray) {\n totalBlocks += ecBlock.getCount();\n }\n // Now establish DataBlocks of the appropriate size and number of data codewords\n const result = new Array(totalBlocks);\n let numResultBlocks = 0;\n for (let ecBlock of ecBlockArray) {\n for (let i = 0; i < ecBlock.getCount(); i++) {\n const numDataCodewords = ecBlock.getDataCodewords();\n const numBlockCodewords = ecBlocks.getECCodewords() + numDataCodewords;\n result[numResultBlocks++] = new DataBlock(numDataCodewords, new Uint8Array(numBlockCodewords));\n }\n }\n // All blocks have the same amount of data, except that the last n\n // (where n may be 0) have 1 less byte. Figure out where these start.\n // TODO(bbrown): There is only one case where there is a difference for Data Matrix for size 144\n const longerBlocksTotalCodewords = result[0].codewords.length;\n // int shorterBlocksTotalCodewords = longerBlocksTotalCodewords - 1;\n const longerBlocksNumDataCodewords = longerBlocksTotalCodewords - ecBlocks.getECCodewords();\n const shorterBlocksNumDataCodewords = longerBlocksNumDataCodewords - 1;\n // The last elements of result may be 1 element shorter for 144 matrix\n // first fill out as many elements as all of them have minus 1\n let rawCodewordsOffset = 0;\n for (let i = 0; i < shorterBlocksNumDataCodewords; i++) {\n for (let j = 0; j < numResultBlocks; j++) {\n result[j].codewords[i] = rawCodewords[rawCodewordsOffset++];\n }\n }\n // Fill out the last data block in the longer ones\n const specialVersion = version.getVersionNumber() === 24;\n const numLongerBlocks = specialVersion ? 8 : numResultBlocks;\n for (let j = 0; j < numLongerBlocks; j++) {\n result[j].codewords[longerBlocksNumDataCodewords - 1] = rawCodewords[rawCodewordsOffset++];\n }\n // Now add in error correction blocks\n const max = result[0].codewords.length;\n for (let i = longerBlocksNumDataCodewords; i < max; i++) {\n for (let j = 0; j < numResultBlocks; j++) {\n const jOffset = specialVersion ? (j + 8) % numResultBlocks : j;\n const iOffset = specialVersion && jOffset > 7 ? i - 1 : i;\n result[jOffset].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];\n }\n }\n if (rawCodewordsOffset !== rawCodewords.length) {\n throw new IllegalArgumentException();\n }\n return result;\n }\n getNumDataCodewords() {\n return this.numDataCodewords;\n }\n getCodewords() {\n return this.codewords;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

This provides an easy abstraction to read bits at a time from a sequence of bytes, where the\n * number of bits read is not often a multiple of 8.

\n *\n *

This class is thread-safe but not reentrant -- unless the caller modifies the bytes array\n * it passed in, in which case all bets are off.

\n *\n * @author Sean Owen\n */\n class BitSource {\n /**\n * @param bytes bytes from which this will read bits. Bits will be read from the first byte first.\n * Bits are read within a byte from most-significant to least-significant bit.\n */\n constructor(bytes) {\n this.bytes = bytes;\n this.byteOffset = 0;\n this.bitOffset = 0;\n }\n /**\n * @return index of next bit in current byte which would be read by the next call to {@link #readBits(int)}.\n */\n getBitOffset() {\n return this.bitOffset;\n }\n /**\n * @return index of next byte in input byte array which would be read by the next call to {@link #readBits(int)}.\n */\n getByteOffset() {\n return this.byteOffset;\n }\n /**\n * @param numBits number of bits to read\n * @return int representing the bits read. The bits will appear as the least-significant\n * bits of the int\n * @throws IllegalArgumentException if numBits isn't in [1,32] or more than is available\n */\n readBits(numBits /*int*/) {\n if (numBits < 1 || numBits > 32 || numBits > this.available()) {\n throw new IllegalArgumentException('' + numBits);\n }\n let result = 0;\n let bitOffset = this.bitOffset;\n let byteOffset = this.byteOffset;\n const bytes = this.bytes;\n // First, read remainder from current byte\n if (bitOffset > 0) {\n const bitsLeft = 8 - bitOffset;\n const toRead = numBits < bitsLeft ? numBits : bitsLeft;\n const bitsToNotRead = bitsLeft - toRead;\n const mask = (0xFF >> (8 - toRead)) << bitsToNotRead;\n result = (bytes[byteOffset] & mask) >> bitsToNotRead;\n numBits -= toRead;\n bitOffset += toRead;\n if (bitOffset === 8) {\n bitOffset = 0;\n byteOffset++;\n }\n }\n // Next read whole bytes\n if (numBits > 0) {\n while (numBits >= 8) {\n result = (result << 8) | (bytes[byteOffset] & 0xFF);\n byteOffset++;\n numBits -= 8;\n }\n // Finally read a partial byte\n if (numBits > 0) {\n const bitsToNotRead = 8 - numBits;\n const mask = (0xFF >> bitsToNotRead) << bitsToNotRead;\n result = (result << numBits) | ((bytes[byteOffset] & mask) >> bitsToNotRead);\n bitOffset += numBits;\n }\n }\n this.bitOffset = bitOffset;\n this.byteOffset = byteOffset;\n return result;\n }\n /**\n * @return number of bits that can be read successfully\n */\n available() {\n return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset;\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n var Mode;\n (function (Mode) {\n Mode[Mode[\"PAD_ENCODE\"] = 0] = \"PAD_ENCODE\";\n Mode[Mode[\"ASCII_ENCODE\"] = 1] = \"ASCII_ENCODE\";\n Mode[Mode[\"C40_ENCODE\"] = 2] = \"C40_ENCODE\";\n Mode[Mode[\"TEXT_ENCODE\"] = 3] = \"TEXT_ENCODE\";\n Mode[Mode[\"ANSIX12_ENCODE\"] = 4] = \"ANSIX12_ENCODE\";\n Mode[Mode[\"EDIFACT_ENCODE\"] = 5] = \"EDIFACT_ENCODE\";\n Mode[Mode[\"BASE256_ENCODE\"] = 6] = \"BASE256_ENCODE\";\n })(Mode || (Mode = {}));\n /**\n *

Data Matrix Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one Data Matrix Code. This class decodes the bits back into text.

\n *\n *

See ISO 16022:2006, 5.2.1 - 5.2.9.2

\n *\n * @author bbrown@google.com (Brian Brown)\n * @author Sean Owen\n */\n class DecodedBitStreamParser {\n static decode(bytes) {\n const bits = new BitSource(bytes);\n const result = new StringBuilder();\n const resultTrailer = new StringBuilder();\n const byteSegments = new Array();\n let mode = Mode.ASCII_ENCODE;\n do {\n if (mode === Mode.ASCII_ENCODE) {\n mode = this.decodeAsciiSegment(bits, result, resultTrailer);\n }\n else {\n switch (mode) {\n case Mode.C40_ENCODE:\n this.decodeC40Segment(bits, result);\n break;\n case Mode.TEXT_ENCODE:\n this.decodeTextSegment(bits, result);\n break;\n case Mode.ANSIX12_ENCODE:\n this.decodeAnsiX12Segment(bits, result);\n break;\n case Mode.EDIFACT_ENCODE:\n this.decodeEdifactSegment(bits, result);\n break;\n case Mode.BASE256_ENCODE:\n this.decodeBase256Segment(bits, result, byteSegments);\n break;\n default:\n throw new FormatException();\n }\n mode = Mode.ASCII_ENCODE;\n }\n } while (mode !== Mode.PAD_ENCODE && bits.available() > 0);\n if (resultTrailer.length() > 0) {\n result.append(resultTrailer.toString());\n }\n return new DecoderResult(bytes, result.toString(), byteSegments.length === 0 ? null : byteSegments, null);\n }\n /**\n * See ISO 16022:2006, 5.2.3 and Annex C, Table C.2\n */\n static decodeAsciiSegment(bits, result, resultTrailer) {\n let upperShift = false;\n do {\n let oneByte = bits.readBits(8);\n if (oneByte === 0) {\n throw new FormatException();\n }\n else if (oneByte <= 128) { // ASCII data (ASCII value + 1)\n if (upperShift) {\n oneByte += 128;\n // upperShift = false;\n }\n result.append(String.fromCharCode(oneByte - 1));\n return Mode.ASCII_ENCODE;\n }\n else if (oneByte === 129) { // Pad\n return Mode.PAD_ENCODE;\n }\n else if (oneByte <= 229) { // 2-digit data 00-99 (Numeric Value + 130)\n const value = oneByte - 130;\n if (value < 10) { // pad with '0' for single digit values\n result.append('0');\n }\n result.append('' + value);\n }\n else {\n switch (oneByte) {\n case 230: // Latch to C40 encodation\n return Mode.C40_ENCODE;\n case 231: // Latch to Base 256 encodation\n return Mode.BASE256_ENCODE;\n case 232: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 233: // Structured Append\n case 234: // Reader Programming\n // Ignore these symbols for now\n // throw ReaderException.getInstance();\n break;\n case 235: // Upper Shift (shift to Extended ASCII)\n upperShift = true;\n break;\n case 236: // 05 Macro\n result.append('[)>\\u001E05\\u001D');\n resultTrailer.insert(0, '\\u001E\\u0004');\n break;\n case 237: // 06 Macro\n result.append('[)>\\u001E06\\u001D');\n resultTrailer.insert(0, '\\u001E\\u0004');\n break;\n case 238: // Latch to ANSI X12 encodation\n return Mode.ANSIX12_ENCODE;\n case 239: // Latch to Text encodation\n return Mode.TEXT_ENCODE;\n case 240: // Latch to EDIFACT encodation\n return Mode.EDIFACT_ENCODE;\n case 241: // ECI Character\n // TODO(bbrown): I think we need to support ECI\n // throw ReaderException.getInstance();\n // Ignore this symbol for now\n break;\n default:\n // Not to be used in ASCII encodation\n // but work around encoders that end with 254, latch back to ASCII\n if (oneByte !== 254 || bits.available() !== 0) {\n throw new FormatException();\n }\n break;\n }\n }\n } while (bits.available() > 0);\n return Mode.ASCII_ENCODE;\n }\n /**\n * See ISO 16022:2006, 5.2.5 and Annex C, Table C.1\n */\n static decodeC40Segment(bits, result) {\n // Three C40 values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n // TODO(bbrown): The Upper Shift with C40 doesn't work in the 4 value scenario all the time\n let upperShift = false;\n const cValues = [];\n let shift = 0;\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n const firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (let i = 0; i < 3; i++) {\n const cValue = cValues[i];\n switch (shift) {\n case 0:\n if (cValue < 3) {\n shift = cValue + 1;\n }\n else if (cValue < this.C40_BASIC_SET_CHARS.length) {\n const c40char = this.C40_BASIC_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(c40char.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(c40char);\n }\n }\n else {\n throw new FormatException();\n }\n break;\n case 1:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 128));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue));\n }\n shift = 0;\n break;\n case 2:\n if (cValue < this.C40_SHIFT2_SET_CHARS.length) {\n const c40char = this.C40_SHIFT2_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(c40char.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(c40char);\n }\n }\n else {\n switch (cValue) {\n case 27: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 30: // Upper Shift\n upperShift = true;\n break;\n default:\n throw new FormatException();\n }\n }\n shift = 0;\n break;\n case 3:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 224));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue + 96));\n }\n shift = 0;\n break;\n default:\n throw new FormatException();\n }\n }\n } while (bits.available() > 0);\n }\n /**\n * See ISO 16022:2006, 5.2.6 and Annex C, Table C.2\n */\n static decodeTextSegment(bits, result) {\n // Three Text values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n // TODO(bbrown): The Upper Shift with Text doesn't work in the 4 value scenario all the time\n let upperShift = false;\n let cValues = [];\n let shift = 0;\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n const firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (let i = 0; i < 3; i++) {\n const cValue = cValues[i];\n switch (shift) {\n case 0:\n if (cValue < 3) {\n shift = cValue + 1;\n }\n else if (cValue < this.TEXT_BASIC_SET_CHARS.length) {\n const textChar = this.TEXT_BASIC_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n }\n else {\n throw new FormatException();\n }\n break;\n case 1:\n if (upperShift) {\n result.append(String.fromCharCode(cValue + 128));\n upperShift = false;\n }\n else {\n result.append(String.fromCharCode(cValue));\n }\n shift = 0;\n break;\n case 2:\n // Shift 2 for Text is the same encoding as C40\n if (cValue < this.TEXT_SHIFT2_SET_CHARS.length) {\n const textChar = this.TEXT_SHIFT2_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n }\n else {\n switch (cValue) {\n case 27: // FNC1\n result.append(String.fromCharCode(29)); // translate as ASCII 29\n break;\n case 30: // Upper Shift\n upperShift = true;\n break;\n default:\n throw new FormatException();\n }\n }\n shift = 0;\n break;\n case 3:\n if (cValue < this.TEXT_SHIFT3_SET_CHARS.length) {\n const textChar = this.TEXT_SHIFT3_SET_CHARS[cValue];\n if (upperShift) {\n result.append(String.fromCharCode(textChar.charCodeAt(0) + 128));\n upperShift = false;\n }\n else {\n result.append(textChar);\n }\n shift = 0;\n }\n else {\n throw new FormatException();\n }\n break;\n default:\n throw new FormatException();\n }\n }\n } while (bits.available() > 0);\n }\n /**\n * See ISO 16022:2006, 5.2.7\n */\n static decodeAnsiX12Segment(bits, result) {\n // Three ANSI X12 values are encoded in a 16-bit value as\n // (1600 * C1) + (40 * C2) + C3 + 1\n const cValues = [];\n do {\n // If there is only one byte left then it will be encoded as ASCII\n if (bits.available() === 8) {\n return;\n }\n const firstByte = bits.readBits(8);\n if (firstByte === 254) { // Unlatch codeword\n return;\n }\n this.parseTwoBytes(firstByte, bits.readBits(8), cValues);\n for (let i = 0; i < 3; i++) {\n const cValue = cValues[i];\n switch (cValue) {\n case 0: // X12 segment terminator \n result.append('\\r');\n break;\n case 1: // X12 segment separator *\n result.append('*');\n break;\n case 2: // X12 sub-element separator >\n result.append('>');\n break;\n case 3: // space\n result.append(' ');\n break;\n default:\n if (cValue < 14) { // 0 - 9\n result.append(String.fromCharCode(cValue + 44));\n }\n else if (cValue < 40) { // A - Z\n result.append(String.fromCharCode(cValue + 51));\n }\n else {\n throw new FormatException();\n }\n break;\n }\n }\n } while (bits.available() > 0);\n }\n static parseTwoBytes(firstByte, secondByte, result) {\n let fullBitValue = (firstByte << 8) + secondByte - 1;\n let temp = Math.floor(fullBitValue / 1600);\n result[0] = temp;\n fullBitValue -= temp * 1600;\n temp = Math.floor(fullBitValue / 40);\n result[1] = temp;\n result[2] = fullBitValue - temp * 40;\n }\n /**\n * See ISO 16022:2006, 5.2.8 and Annex C Table C.3\n */\n static decodeEdifactSegment(bits, result) {\n do {\n // If there is only two or less bytes left then it will be encoded as ASCII\n if (bits.available() <= 16) {\n return;\n }\n for (let i = 0; i < 4; i++) {\n let edifactValue = bits.readBits(6);\n // Check for the unlatch character\n if (edifactValue === 0x1F) { // 011111\n // Read rest of byte, which should be 0, and stop\n const bitsLeft = 8 - bits.getBitOffset();\n if (bitsLeft !== 8) {\n bits.readBits(bitsLeft);\n }\n return;\n }\n if ((edifactValue & 0x20) === 0) { // no 1 in the leading (6th) bit\n edifactValue |= 0x40; // Add a leading 01 to the 6 bit binary value\n }\n result.append(String.fromCharCode(edifactValue));\n }\n } while (bits.available() > 0);\n }\n /**\n * See ISO 16022:2006, 5.2.9 and Annex B, B.2\n */\n static decodeBase256Segment(bits, result, byteSegments) {\n // Figure out how long the Base 256 Segment is.\n let codewordPosition = 1 + bits.getByteOffset(); // position is 1-indexed\n const d1 = this.unrandomize255State(bits.readBits(8), codewordPosition++);\n let count;\n if (d1 === 0) { // Read the remainder of the symbol\n count = bits.available() / 8 | 0;\n }\n else if (d1 < 250) {\n count = d1;\n }\n else {\n count = 250 * (d1 - 249) + this.unrandomize255State(bits.readBits(8), codewordPosition++);\n }\n // We're seeing NegativeArraySizeException errors from users.\n if (count < 0) {\n throw new FormatException();\n }\n const bytes = new Uint8Array(count);\n for (let i = 0; i < count; i++) {\n // Have seen this particular error in the wild, such as at\n // http://www.bcgen.com/demo/IDAutomationStreamingDataMatrix.aspx?MODE=3&D=Fred&PFMT=3&PT=F&X=0.3&O=0&LM=0.2\n if (bits.available() < 8) {\n throw new FormatException();\n }\n bytes[i] = this.unrandomize255State(bits.readBits(8), codewordPosition++);\n }\n byteSegments.push(bytes);\n try {\n result.append(StringEncoding.decode(bytes, StringUtils.ISO88591));\n }\n catch (uee) {\n throw new IllegalStateException('Platform does not support required encoding: ' + uee.message);\n }\n }\n /**\n * See ISO 16022:2006, Annex B, B.2\n */\n static unrandomize255State(randomizedBase256Codeword, base256CodewordPosition) {\n const pseudoRandomNumber = ((149 * base256CodewordPosition) % 255) + 1;\n const tempVariable = randomizedBase256Codeword - pseudoRandomNumber;\n return tempVariable >= 0 ? tempVariable : tempVariable + 256;\n }\n }\n /**\n * See ISO 16022:2006, Annex C Table C.1\n * The C40 Basic Character Set (*'s used for placeholders for the shift values)\n */\n DecodedBitStreamParser.C40_BASIC_SET_CHARS = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'\n ];\n DecodedBitStreamParser.C40_SHIFT2_SET_CHARS = [\n '!', '\"', '#', '$', '%', '&', '\\'', '(', ')', '*', '+', ',', '-', '.',\n '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\\\', ']', '^', '_'\n ];\n /**\n * See ISO 16022:2006, Annex C Table C.2\n * The Text Basic Character Set (*'s used for placeholders for the shift values)\n */\n DecodedBitStreamParser.TEXT_BASIC_SET_CHARS = [\n '*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'\n ];\n // Shift 2 for Text is the same encoding as C40\n DecodedBitStreamParser.TEXT_SHIFT2_SET_CHARS = DecodedBitStreamParser.C40_SHIFT2_SET_CHARS;\n DecodedBitStreamParser.TEXT_SHIFT3_SET_CHARS = [\n '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',\n 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', String.fromCharCode(127)\n ];\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

The main class which implements Data Matrix Code decoding -- as opposed to locating and extracting\n * the Data Matrix Code from an image.

\n *\n * @author bbrown@google.com (Brian Brown)\n */\n class Decoder$1 {\n constructor() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.DATA_MATRIX_FIELD_256);\n }\n /**\n *

Decodes a Data Matrix Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken\n * to mean a black module.

\n *\n * @param bits booleans representing white/black Data Matrix Code modules\n * @return text and bytes encoded within the Data Matrix Code\n * @throws FormatException if the Data Matrix Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n decode(bits) {\n // Construct a parser and read version, error-correction level\n const parser = new BitMatrixParser(bits);\n const version = parser.getVersion();\n // Read codewords\n const codewords = parser.readCodewords();\n // Separate into data blocks\n const dataBlocks = DataBlock.getDataBlocks(codewords, version);\n // Count total number of data bytes\n let totalBytes = 0;\n for (let db of dataBlocks) {\n totalBytes += db.getNumDataCodewords();\n }\n const resultBytes = new Uint8Array(totalBytes);\n const dataBlocksCount = dataBlocks.length;\n // Error-correct and copy data blocks together into a stream of bytes\n for (let j = 0; j < dataBlocksCount; j++) {\n const dataBlock = dataBlocks[j];\n const codewordBytes = dataBlock.getCodewords();\n const numDataCodewords = dataBlock.getNumDataCodewords();\n this.correctErrors(codewordBytes, numDataCodewords);\n for (let i = 0; i < numDataCodewords; i++) {\n // De-interlace data blocks.\n resultBytes[i * dataBlocksCount + j] = codewordBytes[i];\n }\n }\n // Decode the contents of that stream of bytes\n return DecodedBitStreamParser.decode(resultBytes);\n }\n /**\n *

Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.

\n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n correctErrors(codewordBytes, numDataCodewords) {\n // const numCodewords = codewordBytes.length;\n // First read into an array of ints\n const codewordsInts = new Int32Array(codewordBytes);\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF;\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n }\n catch (ignored /* ReedSolomonException */) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (let i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = codewordsInts[i];\n }\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates logic that can detect a Data Matrix Code in an image, even if the Data Matrix Code\n * is rotated or skewed, or partially obscured.

\n *\n * @author Sean Owen\n */\n class Detector$1 {\n constructor(image) {\n this.image = image;\n this.rectangleDetector = new WhiteRectangleDetector(this.image);\n }\n /**\n *

Detects a Data Matrix Code in an image.

\n *\n * @return {@link DetectorResult} encapsulating results of detecting a Data Matrix Code\n * @throws NotFoundException if no Data Matrix Code can be found\n */\n detect() {\n const cornerPoints = this.rectangleDetector.detect();\n let points = this.detectSolid1(cornerPoints);\n points = this.detectSolid2(points);\n points[3] = this.correctTopRight(points);\n if (!points[3]) {\n throw new NotFoundException();\n }\n points = this.shiftToModuleCenter(points);\n const topLeft = points[0];\n const bottomLeft = points[1];\n const bottomRight = points[2];\n const topRight = points[3];\n let dimensionTop = this.transitionsBetween(topLeft, topRight) + 1;\n let dimensionRight = this.transitionsBetween(bottomRight, topRight) + 1;\n if ((dimensionTop & 0x01) === 1) {\n dimensionTop += 1;\n }\n if ((dimensionRight & 0x01) === 1) {\n dimensionRight += 1;\n }\n if (4 * dimensionTop < 7 * dimensionRight && 4 * dimensionRight < 7 * dimensionTop) {\n // The matrix is square\n dimensionTop = dimensionRight = Math.max(dimensionTop, dimensionRight);\n }\n let bits = Detector$1.sampleGrid(this.image, topLeft, bottomLeft, bottomRight, topRight, dimensionTop, dimensionRight);\n return new DetectorResult(bits, [topLeft, bottomLeft, bottomRight, topRight]);\n }\n static shiftPoint(point, to, div) {\n let x = (to.getX() - point.getX()) / (div + 1);\n let y = (to.getY() - point.getY()) / (div + 1);\n return new ResultPoint(point.getX() + x, point.getY() + y);\n }\n static moveAway(point, fromX, fromY) {\n let x = point.getX();\n let y = point.getY();\n if (x < fromX) {\n x -= 1;\n }\n else {\n x += 1;\n }\n if (y < fromY) {\n y -= 1;\n }\n else {\n y += 1;\n }\n return new ResultPoint(x, y);\n }\n /**\n * Detect a solid side which has minimum transition.\n */\n detectSolid1(cornerPoints) {\n // 0 2\n // 1 3\n let pointA = cornerPoints[0];\n let pointB = cornerPoints[1];\n let pointC = cornerPoints[3];\n let pointD = cornerPoints[2];\n let trAB = this.transitionsBetween(pointA, pointB);\n let trBC = this.transitionsBetween(pointB, pointC);\n let trCD = this.transitionsBetween(pointC, pointD);\n let trDA = this.transitionsBetween(pointD, pointA);\n // 0..3\n // : :\n // 1--2\n let min = trAB;\n let points = [pointD, pointA, pointB, pointC];\n if (min > trBC) {\n min = trBC;\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n }\n if (min > trCD) {\n min = trCD;\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n if (min > trDA) {\n points[0] = pointC;\n points[1] = pointD;\n points[2] = pointA;\n points[3] = pointB;\n }\n return points;\n }\n /**\n * Detect a second solid side next to first solid side.\n */\n detectSolid2(points) {\n // A..D\n // : :\n // B--C\n let pointA = points[0];\n let pointB = points[1];\n let pointC = points[2];\n let pointD = points[3];\n // Transition detection on the edge is not stable.\n // To safely detect, shift the points to the module center.\n let tr = this.transitionsBetween(pointA, pointD);\n let pointBs = Detector$1.shiftPoint(pointB, pointC, (tr + 1) * 4);\n let pointCs = Detector$1.shiftPoint(pointC, pointB, (tr + 1) * 4);\n let trBA = this.transitionsBetween(pointBs, pointA);\n let trCD = this.transitionsBetween(pointCs, pointD);\n // 0..3\n // | :\n // 1--2\n if (trBA < trCD) {\n // solid sides: A-B-C\n points[0] = pointA;\n points[1] = pointB;\n points[2] = pointC;\n points[3] = pointD;\n }\n else {\n // solid sides: B-C-D\n points[0] = pointB;\n points[1] = pointC;\n points[2] = pointD;\n points[3] = pointA;\n }\n return points;\n }\n /**\n * Calculates the corner position of the white top right module.\n */\n correctTopRight(points) {\n // A..D\n // | :\n // B--C\n let pointA = points[0];\n let pointB = points[1];\n let pointC = points[2];\n let pointD = points[3];\n // shift points for safe transition detection.\n let trTop = this.transitionsBetween(pointA, pointD);\n let trRight = this.transitionsBetween(pointB, pointD);\n let pointAs = Detector$1.shiftPoint(pointA, pointB, (trRight + 1) * 4);\n let pointCs = Detector$1.shiftPoint(pointC, pointB, (trTop + 1) * 4);\n trTop = this.transitionsBetween(pointAs, pointD);\n trRight = this.transitionsBetween(pointCs, pointD);\n let candidate1 = new ResultPoint(pointD.getX() + (pointC.getX() - pointB.getX()) / (trTop + 1), pointD.getY() + (pointC.getY() - pointB.getY()) / (trTop + 1));\n let candidate2 = new ResultPoint(pointD.getX() + (pointA.getX() - pointB.getX()) / (trRight + 1), pointD.getY() + (pointA.getY() - pointB.getY()) / (trRight + 1));\n if (!this.isValid(candidate1)) {\n if (this.isValid(candidate2)) {\n return candidate2;\n }\n return null;\n }\n if (!this.isValid(candidate2)) {\n return candidate1;\n }\n let sumc1 = this.transitionsBetween(pointAs, candidate1) + this.transitionsBetween(pointCs, candidate1);\n let sumc2 = this.transitionsBetween(pointAs, candidate2) + this.transitionsBetween(pointCs, candidate2);\n if (sumc1 > sumc2) {\n return candidate1;\n }\n else {\n return candidate2;\n }\n }\n /**\n * Shift the edge points to the module center.\n */\n shiftToModuleCenter(points) {\n // A..D\n // | :\n // B--C\n let pointA = points[0];\n let pointB = points[1];\n let pointC = points[2];\n let pointD = points[3];\n // calculate pseudo dimensions\n let dimH = this.transitionsBetween(pointA, pointD) + 1;\n let dimV = this.transitionsBetween(pointC, pointD) + 1;\n // shift points for safe dimension detection\n let pointAs = Detector$1.shiftPoint(pointA, pointB, dimV * 4);\n let pointCs = Detector$1.shiftPoint(pointC, pointB, dimH * 4);\n // calculate more precise dimensions\n dimH = this.transitionsBetween(pointAs, pointD) + 1;\n dimV = this.transitionsBetween(pointCs, pointD) + 1;\n if ((dimH & 0x01) === 1) {\n dimH += 1;\n }\n if ((dimV & 0x01) === 1) {\n dimV += 1;\n }\n // WhiteRectangleDetector returns points inside of the rectangle.\n // I want points on the edges.\n let centerX = (pointA.getX() + pointB.getX() + pointC.getX() + pointD.getX()) / 4;\n let centerY = (pointA.getY() + pointB.getY() + pointC.getY() + pointD.getY()) / 4;\n pointA = Detector$1.moveAway(pointA, centerX, centerY);\n pointB = Detector$1.moveAway(pointB, centerX, centerY);\n pointC = Detector$1.moveAway(pointC, centerX, centerY);\n pointD = Detector$1.moveAway(pointD, centerX, centerY);\n let pointBs;\n let pointDs;\n // shift points to the center of each modules\n pointAs = Detector$1.shiftPoint(pointA, pointB, dimV * 4);\n pointAs = Detector$1.shiftPoint(pointAs, pointD, dimH * 4);\n pointBs = Detector$1.shiftPoint(pointB, pointA, dimV * 4);\n pointBs = Detector$1.shiftPoint(pointBs, pointC, dimH * 4);\n pointCs = Detector$1.shiftPoint(pointC, pointD, dimV * 4);\n pointCs = Detector$1.shiftPoint(pointCs, pointB, dimH * 4);\n pointDs = Detector$1.shiftPoint(pointD, pointC, dimV * 4);\n pointDs = Detector$1.shiftPoint(pointDs, pointA, dimH * 4);\n return [pointAs, pointBs, pointCs, pointDs];\n }\n isValid(p) {\n return p.getX() >= 0 && p.getX() < this.image.getWidth() && p.getY() > 0 && p.getY() < this.image.getHeight();\n }\n static sampleGrid(image, topLeft, bottomLeft, bottomRight, topRight, dimensionX, dimensionY) {\n const sampler = GridSamplerInstance.getInstance();\n return sampler.sampleGrid(image, dimensionX, dimensionY, 0.5, 0.5, dimensionX - 0.5, 0.5, dimensionX - 0.5, dimensionY - 0.5, 0.5, dimensionY - 0.5, topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRight.getX(), bottomRight.getY(), bottomLeft.getX(), bottomLeft.getY());\n }\n /**\n * Counts the number of black/white transitions between two points, using something like Bresenham's algorithm.\n */\n transitionsBetween(from, to) {\n // See QR Code Detector, sizeOfBlackWhiteBlackRun()\n let fromX = Math.trunc(from.getX());\n let fromY = Math.trunc(from.getY());\n let toX = Math.trunc(to.getX());\n let toY = Math.trunc(to.getY());\n let steep = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n let temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n let dx = Math.abs(toX - fromX);\n let dy = Math.abs(toY - fromY);\n let error = -dx / 2;\n let ystep = fromY < toY ? 1 : -1;\n let xstep = fromX < toX ? 1 : -1;\n let transitions = 0;\n let inBlack = this.image.get(steep ? fromY : fromX, steep ? fromX : fromY);\n for (let x = fromX, y = fromY; x !== toX; x += xstep) {\n let isBlack = this.image.get(steep ? y : x, steep ? x : y);\n if (isBlack !== inBlack) {\n transitions++;\n inBlack = isBlack;\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n return transitions;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * This implementation can detect and decode Data Matrix codes in an image.\n *\n * @author bbrown@google.com (Brian Brown)\n */\n class DataMatrixReader {\n constructor() {\n this.decoder = new Decoder$1();\n }\n /**\n * Locates and decodes a Data Matrix code in an image.\n *\n * @return a String representing the content encoded by the Data Matrix code\n * @throws NotFoundException if a Data Matrix code cannot be found\n * @throws FormatException if a Data Matrix code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n // @Override\n // public Result decode(BinaryBitmap image) throws NotFoundException, ChecksumException, FormatException {\n // return decode(image, null);\n // }\n // @Override\n decode(image, hints = null) {\n let decoderResult;\n let points;\n if (hints != null && hints.has(DecodeHintType$1.PURE_BARCODE)) {\n const bits = DataMatrixReader.extractPureBits(image.getBlackMatrix());\n decoderResult = this.decoder.decode(bits);\n points = DataMatrixReader.NO_POINTS;\n }\n else {\n const detectorResult = new Detector$1(image.getBlackMatrix()).detect();\n decoderResult = this.decoder.decode(detectorResult.getBits());\n points = detectorResult.getPoints();\n }\n const rawBytes = decoderResult.getRawBytes();\n const result = new Result(decoderResult.getText(), rawBytes, 8 * rawBytes.length, points, BarcodeFormat$1.DATA_MATRIX, System.currentTimeMillis());\n const byteSegments = decoderResult.getByteSegments();\n if (byteSegments != null) {\n result.putMetadata(ResultMetadataType$1.BYTE_SEGMENTS, byteSegments);\n }\n const ecLevel = decoderResult.getECLevel();\n if (ecLevel != null) {\n result.putMetadata(ResultMetadataType$1.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n return result;\n }\n // @Override\n reset() {\n // do nothing\n }\n /**\n * This method detects a code in a \"pure\" image -- that is, pure monochrome image\n * which contains only an unrotated, unskewed, image of a code, with some white border\n * around it. This is a specialized method that works exceptionally fast in this special\n * case.\n *\n * @see com.google.zxing.qrcode.QRCodeReader#extractPureBits(BitMatrix)\n */\n static extractPureBits(image) {\n const leftTopBlack = image.getTopLeftOnBit();\n const rightBottomBlack = image.getBottomRightOnBit();\n if (leftTopBlack == null || rightBottomBlack == null) {\n throw new NotFoundException();\n }\n const moduleSize = this.moduleSize(leftTopBlack, image);\n let top = leftTopBlack[1];\n const bottom = rightBottomBlack[1];\n let left = leftTopBlack[0];\n const right = rightBottomBlack[0];\n const matrixWidth = (right - left + 1) / moduleSize;\n const matrixHeight = (bottom - top + 1) / moduleSize;\n if (matrixWidth <= 0 || matrixHeight <= 0) {\n throw new NotFoundException();\n }\n // Push in the \"border\" by half the module width so that we start\n // sampling in the middle of the module. Just in case the image is a\n // little off, this will help recover.\n const nudge = moduleSize / 2;\n top += nudge;\n left += nudge;\n // Now just read off the bits\n const bits = new BitMatrix(matrixWidth, matrixHeight);\n for (let y = 0; y < matrixHeight; y++) {\n const iOffset = top + y * moduleSize;\n for (let x = 0; x < matrixWidth; x++) {\n if (image.get(left + x * moduleSize, iOffset)) {\n bits.set(x, y);\n }\n }\n }\n return bits;\n }\n static moduleSize(leftTopBlack, image) {\n const width = image.getWidth();\n let x = leftTopBlack[0];\n const y = leftTopBlack[1];\n while (x < width && image.get(x, y)) {\n x++;\n }\n if (x === width) {\n throw new NotFoundException();\n }\n const moduleSize = x - leftTopBlack[0];\n if (moduleSize === 0) {\n throw new NotFoundException();\n }\n return moduleSize;\n }\n }\n DataMatrixReader.NO_POINTS = [];\n\n /**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\n class BrowserDatamatrixCodeReader extends BrowserCodeReader {\n /**\n * Creates an instance of BrowserQRCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n constructor(timeBetweenScansMillis = 500) {\n super(new DataMatrixReader(), timeBetweenScansMillis);\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n var ErrorCorrectionLevelValues;\n (function (ErrorCorrectionLevelValues) {\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"L\"] = 0] = \"L\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"M\"] = 1] = \"M\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"Q\"] = 2] = \"Q\";\n ErrorCorrectionLevelValues[ErrorCorrectionLevelValues[\"H\"] = 3] = \"H\";\n })(ErrorCorrectionLevelValues || (ErrorCorrectionLevelValues = {}));\n /**\n *

See ISO 18004:2006, 6.5.1. This enum encapsulates the four error correction levels\n * defined by the QR code standard.

\n *\n * @author Sean Owen\n */\n class ErrorCorrectionLevel {\n constructor(value, stringValue, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.bits = bits;\n ErrorCorrectionLevel.FOR_BITS.set(bits, this);\n ErrorCorrectionLevel.FOR_VALUE.set(value, this);\n }\n getValue() {\n return this.value;\n }\n getBits() {\n return this.bits;\n }\n static fromString(s) {\n switch (s) {\n case 'L': return ErrorCorrectionLevel.L;\n case 'M': return ErrorCorrectionLevel.M;\n case 'Q': return ErrorCorrectionLevel.Q;\n case 'H': return ErrorCorrectionLevel.H;\n default: throw new ArgumentException(s + 'not available');\n }\n }\n toString() {\n return this.stringValue;\n }\n equals(o) {\n if (!(o instanceof ErrorCorrectionLevel)) {\n return false;\n }\n const other = o;\n return this.value === other.value;\n }\n /**\n * @param bits int containing the two bits encoding a QR Code's error correction level\n * @return ErrorCorrectionLevel representing the encoded error correction level\n */\n static forBits(bits /*int*/) {\n if (bits < 0 || bits >= ErrorCorrectionLevel.FOR_BITS.size) {\n throw new IllegalArgumentException();\n }\n return ErrorCorrectionLevel.FOR_BITS.get(bits);\n }\n }\n ErrorCorrectionLevel.FOR_BITS = new Map();\n ErrorCorrectionLevel.FOR_VALUE = new Map();\n /** L = ~7% correction */\n ErrorCorrectionLevel.L = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.L, 'L', 0x01);\n /** M = ~15% correction */\n ErrorCorrectionLevel.M = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.M, 'M', 0x00);\n /** Q = ~25% correction */\n ErrorCorrectionLevel.Q = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.Q, 'Q', 0x03);\n /** H = ~30% correction */\n ErrorCorrectionLevel.H = new ErrorCorrectionLevel(ErrorCorrectionLevelValues.H, 'H', 0x02);\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates a QR Code's format information, including the data mask used and\n * error correction level.

\n *\n * @author Sean Owen\n * @see DataMask\n * @see ErrorCorrectionLevel\n */\n class FormatInformation {\n constructor(formatInfo /*int*/) {\n // Bits 3,4\n this.errorCorrectionLevel = ErrorCorrectionLevel.forBits((formatInfo >> 3) & 0x03);\n // Bottom 3 bits\n this.dataMask = /*(byte) */ (formatInfo & 0x07);\n }\n static numBitsDiffering(a /*int*/, b /*int*/) {\n return Integer.bitCount(a ^ b);\n }\n /**\n * @param maskedFormatInfo1 format info indicator, with mask still applied\n * @param maskedFormatInfo2 second copy of same info; both are checked at the same time\n * to establish best match\n * @return information about the format it specifies, or {@code null}\n * if doesn't seem to match any known pattern\n */\n static decodeFormatInformation(maskedFormatInfo1 /*int*/, maskedFormatInfo2 /*int*/) {\n const formatInfo = FormatInformation.doDecodeFormatInformation(maskedFormatInfo1, maskedFormatInfo2);\n if (formatInfo !== null) {\n return formatInfo;\n }\n // Should return null, but, some QR codes apparently\n // do not mask this info. Try again by actually masking the pattern\n // first\n return FormatInformation.doDecodeFormatInformation(maskedFormatInfo1 ^ FormatInformation.FORMAT_INFO_MASK_QR, maskedFormatInfo2 ^ FormatInformation.FORMAT_INFO_MASK_QR);\n }\n static doDecodeFormatInformation(maskedFormatInfo1 /*int*/, maskedFormatInfo2 /*int*/) {\n // Find the int in FORMAT_INFO_DECODE_LOOKUP with fewest bits differing\n let bestDifference = Number.MAX_SAFE_INTEGER;\n let bestFormatInfo = 0;\n for (const decodeInfo of FormatInformation.FORMAT_INFO_DECODE_LOOKUP) {\n const targetInfo = decodeInfo[0];\n if (targetInfo === maskedFormatInfo1 || targetInfo === maskedFormatInfo2) {\n // Found an exact match\n return new FormatInformation(decodeInfo[1]);\n }\n let bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo1, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n if (maskedFormatInfo1 !== maskedFormatInfo2) {\n // also try the other option\n bitsDifference = FormatInformation.numBitsDiffering(maskedFormatInfo2, targetInfo);\n if (bitsDifference < bestDifference) {\n bestFormatInfo = decodeInfo[1];\n bestDifference = bitsDifference;\n }\n }\n }\n // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits\n // differing means we found a match\n if (bestDifference <= 3) {\n return new FormatInformation(bestFormatInfo);\n }\n return null;\n }\n getErrorCorrectionLevel() {\n return this.errorCorrectionLevel;\n }\n getDataMask() {\n return this.dataMask;\n }\n /*@Override*/\n hashCode() {\n return (this.errorCorrectionLevel.getBits() << 3) | this.dataMask;\n }\n /*@Override*/\n equals(o) {\n if (!(o instanceof FormatInformation)) {\n return false;\n }\n const other = o;\n return this.errorCorrectionLevel === other.errorCorrectionLevel &&\n this.dataMask === other.dataMask;\n }\n }\n FormatInformation.FORMAT_INFO_MASK_QR = 0x5412;\n /**\n * See ISO 18004:2006, Annex C, Table C.1\n */\n FormatInformation.FORMAT_INFO_DECODE_LOOKUP = [\n Int32Array.from([0x5412, 0x00]),\n Int32Array.from([0x5125, 0x01]),\n Int32Array.from([0x5E7C, 0x02]),\n Int32Array.from([0x5B4B, 0x03]),\n Int32Array.from([0x45F9, 0x04]),\n Int32Array.from([0x40CE, 0x05]),\n Int32Array.from([0x4F97, 0x06]),\n Int32Array.from([0x4AA0, 0x07]),\n Int32Array.from([0x77C4, 0x08]),\n Int32Array.from([0x72F3, 0x09]),\n Int32Array.from([0x7DAA, 0x0A]),\n Int32Array.from([0x789D, 0x0B]),\n Int32Array.from([0x662F, 0x0C]),\n Int32Array.from([0x6318, 0x0D]),\n Int32Array.from([0x6C41, 0x0E]),\n Int32Array.from([0x6976, 0x0F]),\n Int32Array.from([0x1689, 0x10]),\n Int32Array.from([0x13BE, 0x11]),\n Int32Array.from([0x1CE7, 0x12]),\n Int32Array.from([0x19D0, 0x13]),\n Int32Array.from([0x0762, 0x14]),\n Int32Array.from([0x0255, 0x15]),\n Int32Array.from([0x0D0C, 0x16]),\n Int32Array.from([0x083B, 0x17]),\n Int32Array.from([0x355F, 0x18]),\n Int32Array.from([0x3068, 0x19]),\n Int32Array.from([0x3F31, 0x1A]),\n Int32Array.from([0x3A06, 0x1B]),\n Int32Array.from([0x24B4, 0x1C]),\n Int32Array.from([0x2183, 0x1D]),\n Int32Array.from([0x2EDA, 0x1E]),\n Int32Array.from([0x2BED, 0x1F]),\n ];\n\n /**\n *

Encapsulates a set of error-correction blocks in one symbol version. Most versions will\n * use blocks of differing sizes within one version, so, this encapsulates the parameters for\n * each set of blocks. It also holds the number of error-correction codewords per block since it\n * will be the same across all blocks within one version.

\n */\n class ECBlocks$1 {\n constructor(ecCodewordsPerBlock /*int*/, ...ecBlocks) {\n this.ecCodewordsPerBlock = ecCodewordsPerBlock;\n this.ecBlocks = ecBlocks;\n }\n getECCodewordsPerBlock() {\n return this.ecCodewordsPerBlock;\n }\n getNumBlocks() {\n let total = 0;\n const ecBlocks = this.ecBlocks;\n for (const ecBlock of ecBlocks) {\n total += ecBlock.getCount();\n }\n return total;\n }\n getTotalECCodewords() {\n return this.ecCodewordsPerBlock * this.getNumBlocks();\n }\n getECBlocks() {\n return this.ecBlocks;\n }\n }\n\n /**\n *

Encapsulates the parameters for one error-correction block in one symbol version.\n * This includes the number of data codewords, and the number of times a block with these\n * parameters is used consecutively in the QR code version's format.

\n */\n class ECB$1 {\n constructor(count /*int*/, dataCodewords /*int*/) {\n this.count = count;\n this.dataCodewords = dataCodewords;\n }\n getCount() {\n return this.count;\n }\n getDataCodewords() {\n return this.dataCodewords;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * See ISO 18004:2006 Annex D\n *\n * @author Sean Owen\n */\n class Version$1 {\n constructor(versionNumber /*int*/, alignmentPatternCenters, ...ecBlocks) {\n this.versionNumber = versionNumber;\n this.alignmentPatternCenters = alignmentPatternCenters;\n this.ecBlocks = ecBlocks;\n let total = 0;\n const ecCodewords = ecBlocks[0].getECCodewordsPerBlock();\n const ecbArray = ecBlocks[0].getECBlocks();\n for (const ecBlock of ecbArray) {\n total += ecBlock.getCount() * (ecBlock.getDataCodewords() + ecCodewords);\n }\n this.totalCodewords = total;\n }\n getVersionNumber() {\n return this.versionNumber;\n }\n getAlignmentPatternCenters() {\n return this.alignmentPatternCenters;\n }\n getTotalCodewords() {\n return this.totalCodewords;\n }\n getDimensionForVersion() {\n return 17 + 4 * this.versionNumber;\n }\n getECBlocksForLevel(ecLevel) {\n return this.ecBlocks[ecLevel.getValue()];\n // TYPESCRIPTPORT: original was using ordinal, and using the order of levels as defined in ErrorCorrectionLevel enum (LMQH)\n // I will use the direct value from ErrorCorrectionLevelValues enum which in typescript goes to a number\n }\n /**\n *

Deduces version information purely from QR Code dimensions.

\n *\n * @param dimension dimension in modules\n * @return Version for a QR Code of that dimension\n * @throws FormatException if dimension is not 1 mod 4\n */\n static getProvisionalVersionForDimension(dimension /*int*/) {\n if (dimension % 4 !== 1) {\n throw new FormatException();\n }\n try {\n return this.getVersionForNumber((dimension - 17) / 4);\n }\n catch (ignored /*: IllegalArgumentException*/) {\n throw new FormatException();\n }\n }\n static getVersionForNumber(versionNumber /*int*/) {\n if (versionNumber < 1 || versionNumber > 40) {\n throw new IllegalArgumentException();\n }\n return Version$1.VERSIONS[versionNumber - 1];\n }\n static decodeVersionInformation(versionBits /*int*/) {\n let bestDifference = Number.MAX_SAFE_INTEGER;\n let bestVersion = 0;\n for (let i = 0; i < Version$1.VERSION_DECODE_INFO.length; i++) {\n const targetVersion = Version$1.VERSION_DECODE_INFO[i];\n // Do the version info bits match exactly? done.\n if (targetVersion === versionBits) {\n return Version$1.getVersionForNumber(i + 7);\n }\n // Otherwise see if this is the closest to a real version info bit string\n // we have seen so far\n const bitsDifference = FormatInformation.numBitsDiffering(versionBits, targetVersion);\n if (bitsDifference < bestDifference) {\n bestVersion = i + 7;\n bestDifference = bitsDifference;\n }\n }\n // We can tolerate up to 3 bits of error since no two version info codewords will\n // differ in less than 8 bits.\n if (bestDifference <= 3) {\n return Version$1.getVersionForNumber(bestVersion);\n }\n // If we didn't find a close enough match, fail\n return null;\n }\n /**\n * See ISO 18004:2006 Annex E\n */\n buildFunctionPattern() {\n const dimension = this.getDimensionForVersion();\n const bitMatrix = new BitMatrix(dimension);\n // Top left finder pattern + separator + format\n bitMatrix.setRegion(0, 0, 9, 9);\n // Top right finder pattern + separator + format\n bitMatrix.setRegion(dimension - 8, 0, 8, 9);\n // Bottom left finder pattern + separator + format\n bitMatrix.setRegion(0, dimension - 8, 9, 8);\n // Alignment patterns\n const max = this.alignmentPatternCenters.length;\n for (let x = 0; x < max; x++) {\n const i = this.alignmentPatternCenters[x] - 2;\n for (let y = 0; y < max; y++) {\n if ((x === 0 && (y === 0 || y === max - 1)) || (x === max - 1 && y === 0)) {\n // No alignment patterns near the three finder patterns\n continue;\n }\n bitMatrix.setRegion(this.alignmentPatternCenters[y] - 2, i, 5, 5);\n }\n }\n // Vertical timing pattern\n bitMatrix.setRegion(6, 9, 1, dimension - 17);\n // Horizontal timing pattern\n bitMatrix.setRegion(9, 6, dimension - 17, 1);\n if (this.versionNumber > 6) {\n // Version info, top right\n bitMatrix.setRegion(dimension - 11, 0, 3, 6);\n // Version info, bottom left\n bitMatrix.setRegion(0, dimension - 11, 6, 3);\n }\n return bitMatrix;\n }\n /*@Override*/\n toString() {\n return '' + this.versionNumber;\n }\n }\n /**\n * See ISO 18004:2006 Annex D.\n * Element i represents the raw version bits that specify version i + 7\n */\n Version$1.VERSION_DECODE_INFO = Int32Array.from([\n 0x07C94, 0x085BC, 0x09A99, 0x0A4D3, 0x0BBF6,\n 0x0C762, 0x0D847, 0x0E60D, 0x0F928, 0x10B78,\n 0x1145D, 0x12A17, 0x13532, 0x149A6, 0x15683,\n 0x168C9, 0x177EC, 0x18EC4, 0x191E1, 0x1AFAB,\n 0x1B08E, 0x1CC1A, 0x1D33F, 0x1ED75, 0x1F250,\n 0x209D5, 0x216F0, 0x228BA, 0x2379F, 0x24B0B,\n 0x2542E, 0x26A64, 0x27541, 0x28C69\n ]);\n /**\n * See ISO 18004:2006 6.5.1 Table 9\n */\n Version$1.VERSIONS = [\n new Version$1(1, new Int32Array(0), new ECBlocks$1(7, new ECB$1(1, 19)), new ECBlocks$1(10, new ECB$1(1, 16)), new ECBlocks$1(13, new ECB$1(1, 13)), new ECBlocks$1(17, new ECB$1(1, 9))),\n new Version$1(2, Int32Array.from([6, 18]), new ECBlocks$1(10, new ECB$1(1, 34)), new ECBlocks$1(16, new ECB$1(1, 28)), new ECBlocks$1(22, new ECB$1(1, 22)), new ECBlocks$1(28, new ECB$1(1, 16))),\n new Version$1(3, Int32Array.from([6, 22]), new ECBlocks$1(15, new ECB$1(1, 55)), new ECBlocks$1(26, new ECB$1(1, 44)), new ECBlocks$1(18, new ECB$1(2, 17)), new ECBlocks$1(22, new ECB$1(2, 13))),\n new Version$1(4, Int32Array.from([6, 26]), new ECBlocks$1(20, new ECB$1(1, 80)), new ECBlocks$1(18, new ECB$1(2, 32)), new ECBlocks$1(26, new ECB$1(2, 24)), new ECBlocks$1(16, new ECB$1(4, 9))),\n new Version$1(5, Int32Array.from([6, 30]), new ECBlocks$1(26, new ECB$1(1, 108)), new ECBlocks$1(24, new ECB$1(2, 43)), new ECBlocks$1(18, new ECB$1(2, 15), new ECB$1(2, 16)), new ECBlocks$1(22, new ECB$1(2, 11), new ECB$1(2, 12))),\n new Version$1(6, Int32Array.from([6, 34]), new ECBlocks$1(18, new ECB$1(2, 68)), new ECBlocks$1(16, new ECB$1(4, 27)), new ECBlocks$1(24, new ECB$1(4, 19)), new ECBlocks$1(28, new ECB$1(4, 15))),\n new Version$1(7, Int32Array.from([6, 22, 38]), new ECBlocks$1(20, new ECB$1(2, 78)), new ECBlocks$1(18, new ECB$1(4, 31)), new ECBlocks$1(18, new ECB$1(2, 14), new ECB$1(4, 15)), new ECBlocks$1(26, new ECB$1(4, 13), new ECB$1(1, 14))),\n new Version$1(8, Int32Array.from([6, 24, 42]), new ECBlocks$1(24, new ECB$1(2, 97)), new ECBlocks$1(22, new ECB$1(2, 38), new ECB$1(2, 39)), new ECBlocks$1(22, new ECB$1(4, 18), new ECB$1(2, 19)), new ECBlocks$1(26, new ECB$1(4, 14), new ECB$1(2, 15))),\n new Version$1(9, Int32Array.from([6, 26, 46]), new ECBlocks$1(30, new ECB$1(2, 116)), new ECBlocks$1(22, new ECB$1(3, 36), new ECB$1(2, 37)), new ECBlocks$1(20, new ECB$1(4, 16), new ECB$1(4, 17)), new ECBlocks$1(24, new ECB$1(4, 12), new ECB$1(4, 13))),\n new Version$1(10, Int32Array.from([6, 28, 50]), new ECBlocks$1(18, new ECB$1(2, 68), new ECB$1(2, 69)), new ECBlocks$1(26, new ECB$1(4, 43), new ECB$1(1, 44)), new ECBlocks$1(24, new ECB$1(6, 19), new ECB$1(2, 20)), new ECBlocks$1(28, new ECB$1(6, 15), new ECB$1(2, 16))),\n new Version$1(11, Int32Array.from([6, 30, 54]), new ECBlocks$1(20, new ECB$1(4, 81)), new ECBlocks$1(30, new ECB$1(1, 50), new ECB$1(4, 51)), new ECBlocks$1(28, new ECB$1(4, 22), new ECB$1(4, 23)), new ECBlocks$1(24, new ECB$1(3, 12), new ECB$1(8, 13))),\n new Version$1(12, Int32Array.from([6, 32, 58]), new ECBlocks$1(24, new ECB$1(2, 92), new ECB$1(2, 93)), new ECBlocks$1(22, new ECB$1(6, 36), new ECB$1(2, 37)), new ECBlocks$1(26, new ECB$1(4, 20), new ECB$1(6, 21)), new ECBlocks$1(28, new ECB$1(7, 14), new ECB$1(4, 15))),\n new Version$1(13, Int32Array.from([6, 34, 62]), new ECBlocks$1(26, new ECB$1(4, 107)), new ECBlocks$1(22, new ECB$1(8, 37), new ECB$1(1, 38)), new ECBlocks$1(24, new ECB$1(8, 20), new ECB$1(4, 21)), new ECBlocks$1(22, new ECB$1(12, 11), new ECB$1(4, 12))),\n new Version$1(14, Int32Array.from([6, 26, 46, 66]), new ECBlocks$1(30, new ECB$1(3, 115), new ECB$1(1, 116)), new ECBlocks$1(24, new ECB$1(4, 40), new ECB$1(5, 41)), new ECBlocks$1(20, new ECB$1(11, 16), new ECB$1(5, 17)), new ECBlocks$1(24, new ECB$1(11, 12), new ECB$1(5, 13))),\n new Version$1(15, Int32Array.from([6, 26, 48, 70]), new ECBlocks$1(22, new ECB$1(5, 87), new ECB$1(1, 88)), new ECBlocks$1(24, new ECB$1(5, 41), new ECB$1(5, 42)), new ECBlocks$1(30, new ECB$1(5, 24), new ECB$1(7, 25)), new ECBlocks$1(24, new ECB$1(11, 12), new ECB$1(7, 13))),\n new Version$1(16, Int32Array.from([6, 26, 50, 74]), new ECBlocks$1(24, new ECB$1(5, 98), new ECB$1(1, 99)), new ECBlocks$1(28, new ECB$1(7, 45), new ECB$1(3, 46)), new ECBlocks$1(24, new ECB$1(15, 19), new ECB$1(2, 20)), new ECBlocks$1(30, new ECB$1(3, 15), new ECB$1(13, 16))),\n new Version$1(17, Int32Array.from([6, 30, 54, 78]), new ECBlocks$1(28, new ECB$1(1, 107), new ECB$1(5, 108)), new ECBlocks$1(28, new ECB$1(10, 46), new ECB$1(1, 47)), new ECBlocks$1(28, new ECB$1(1, 22), new ECB$1(15, 23)), new ECBlocks$1(28, new ECB$1(2, 14), new ECB$1(17, 15))),\n new Version$1(18, Int32Array.from([6, 30, 56, 82]), new ECBlocks$1(30, new ECB$1(5, 120), new ECB$1(1, 121)), new ECBlocks$1(26, new ECB$1(9, 43), new ECB$1(4, 44)), new ECBlocks$1(28, new ECB$1(17, 22), new ECB$1(1, 23)), new ECBlocks$1(28, new ECB$1(2, 14), new ECB$1(19, 15))),\n new Version$1(19, Int32Array.from([6, 30, 58, 86]), new ECBlocks$1(28, new ECB$1(3, 113), new ECB$1(4, 114)), new ECBlocks$1(26, new ECB$1(3, 44), new ECB$1(11, 45)), new ECBlocks$1(26, new ECB$1(17, 21), new ECB$1(4, 22)), new ECBlocks$1(26, new ECB$1(9, 13), new ECB$1(16, 14))),\n new Version$1(20, Int32Array.from([6, 34, 62, 90]), new ECBlocks$1(28, new ECB$1(3, 107), new ECB$1(5, 108)), new ECBlocks$1(26, new ECB$1(3, 41), new ECB$1(13, 42)), new ECBlocks$1(30, new ECB$1(15, 24), new ECB$1(5, 25)), new ECBlocks$1(28, new ECB$1(15, 15), new ECB$1(10, 16))),\n new Version$1(21, Int32Array.from([6, 28, 50, 72, 94]), new ECBlocks$1(28, new ECB$1(4, 116), new ECB$1(4, 117)), new ECBlocks$1(26, new ECB$1(17, 42)), new ECBlocks$1(28, new ECB$1(17, 22), new ECB$1(6, 23)), new ECBlocks$1(30, new ECB$1(19, 16), new ECB$1(6, 17))),\n new Version$1(22, Int32Array.from([6, 26, 50, 74, 98]), new ECBlocks$1(28, new ECB$1(2, 111), new ECB$1(7, 112)), new ECBlocks$1(28, new ECB$1(17, 46)), new ECBlocks$1(30, new ECB$1(7, 24), new ECB$1(16, 25)), new ECBlocks$1(24, new ECB$1(34, 13))),\n new Version$1(23, Int32Array.from([6, 30, 54, 78, 102]), new ECBlocks$1(30, new ECB$1(4, 121), new ECB$1(5, 122)), new ECBlocks$1(28, new ECB$1(4, 47), new ECB$1(14, 48)), new ECBlocks$1(30, new ECB$1(11, 24), new ECB$1(14, 25)), new ECBlocks$1(30, new ECB$1(16, 15), new ECB$1(14, 16))),\n new Version$1(24, Int32Array.from([6, 28, 54, 80, 106]), new ECBlocks$1(30, new ECB$1(6, 117), new ECB$1(4, 118)), new ECBlocks$1(28, new ECB$1(6, 45), new ECB$1(14, 46)), new ECBlocks$1(30, new ECB$1(11, 24), new ECB$1(16, 25)), new ECBlocks$1(30, new ECB$1(30, 16), new ECB$1(2, 17))),\n new Version$1(25, Int32Array.from([6, 32, 58, 84, 110]), new ECBlocks$1(26, new ECB$1(8, 106), new ECB$1(4, 107)), new ECBlocks$1(28, new ECB$1(8, 47), new ECB$1(13, 48)), new ECBlocks$1(30, new ECB$1(7, 24), new ECB$1(22, 25)), new ECBlocks$1(30, new ECB$1(22, 15), new ECB$1(13, 16))),\n new Version$1(26, Int32Array.from([6, 30, 58, 86, 114]), new ECBlocks$1(28, new ECB$1(10, 114), new ECB$1(2, 115)), new ECBlocks$1(28, new ECB$1(19, 46), new ECB$1(4, 47)), new ECBlocks$1(28, new ECB$1(28, 22), new ECB$1(6, 23)), new ECBlocks$1(30, new ECB$1(33, 16), new ECB$1(4, 17))),\n new Version$1(27, Int32Array.from([6, 34, 62, 90, 118]), new ECBlocks$1(30, new ECB$1(8, 122), new ECB$1(4, 123)), new ECBlocks$1(28, new ECB$1(22, 45), new ECB$1(3, 46)), new ECBlocks$1(30, new ECB$1(8, 23), new ECB$1(26, 24)), new ECBlocks$1(30, new ECB$1(12, 15), new ECB$1(28, 16))),\n new Version$1(28, Int32Array.from([6, 26, 50, 74, 98, 122]), new ECBlocks$1(30, new ECB$1(3, 117), new ECB$1(10, 118)), new ECBlocks$1(28, new ECB$1(3, 45), new ECB$1(23, 46)), new ECBlocks$1(30, new ECB$1(4, 24), new ECB$1(31, 25)), new ECBlocks$1(30, new ECB$1(11, 15), new ECB$1(31, 16))),\n new Version$1(29, Int32Array.from([6, 30, 54, 78, 102, 126]), new ECBlocks$1(30, new ECB$1(7, 116), new ECB$1(7, 117)), new ECBlocks$1(28, new ECB$1(21, 45), new ECB$1(7, 46)), new ECBlocks$1(30, new ECB$1(1, 23), new ECB$1(37, 24)), new ECBlocks$1(30, new ECB$1(19, 15), new ECB$1(26, 16))),\n new Version$1(30, Int32Array.from([6, 26, 52, 78, 104, 130]), new ECBlocks$1(30, new ECB$1(5, 115), new ECB$1(10, 116)), new ECBlocks$1(28, new ECB$1(19, 47), new ECB$1(10, 48)), new ECBlocks$1(30, new ECB$1(15, 24), new ECB$1(25, 25)), new ECBlocks$1(30, new ECB$1(23, 15), new ECB$1(25, 16))),\n new Version$1(31, Int32Array.from([6, 30, 56, 82, 108, 134]), new ECBlocks$1(30, new ECB$1(13, 115), new ECB$1(3, 116)), new ECBlocks$1(28, new ECB$1(2, 46), new ECB$1(29, 47)), new ECBlocks$1(30, new ECB$1(42, 24), new ECB$1(1, 25)), new ECBlocks$1(30, new ECB$1(23, 15), new ECB$1(28, 16))),\n new Version$1(32, Int32Array.from([6, 34, 60, 86, 112, 138]), new ECBlocks$1(30, new ECB$1(17, 115)), new ECBlocks$1(28, new ECB$1(10, 46), new ECB$1(23, 47)), new ECBlocks$1(30, new ECB$1(10, 24), new ECB$1(35, 25)), new ECBlocks$1(30, new ECB$1(19, 15), new ECB$1(35, 16))),\n new Version$1(33, Int32Array.from([6, 30, 58, 86, 114, 142]), new ECBlocks$1(30, new ECB$1(17, 115), new ECB$1(1, 116)), new ECBlocks$1(28, new ECB$1(14, 46), new ECB$1(21, 47)), new ECBlocks$1(30, new ECB$1(29, 24), new ECB$1(19, 25)), new ECBlocks$1(30, new ECB$1(11, 15), new ECB$1(46, 16))),\n new Version$1(34, Int32Array.from([6, 34, 62, 90, 118, 146]), new ECBlocks$1(30, new ECB$1(13, 115), new ECB$1(6, 116)), new ECBlocks$1(28, new ECB$1(14, 46), new ECB$1(23, 47)), new ECBlocks$1(30, new ECB$1(44, 24), new ECB$1(7, 25)), new ECBlocks$1(30, new ECB$1(59, 16), new ECB$1(1, 17))),\n new Version$1(35, Int32Array.from([6, 30, 54, 78, 102, 126, 150]), new ECBlocks$1(30, new ECB$1(12, 121), new ECB$1(7, 122)), new ECBlocks$1(28, new ECB$1(12, 47), new ECB$1(26, 48)), new ECBlocks$1(30, new ECB$1(39, 24), new ECB$1(14, 25)), new ECBlocks$1(30, new ECB$1(22, 15), new ECB$1(41, 16))),\n new Version$1(36, Int32Array.from([6, 24, 50, 76, 102, 128, 154]), new ECBlocks$1(30, new ECB$1(6, 121), new ECB$1(14, 122)), new ECBlocks$1(28, new ECB$1(6, 47), new ECB$1(34, 48)), new ECBlocks$1(30, new ECB$1(46, 24), new ECB$1(10, 25)), new ECBlocks$1(30, new ECB$1(2, 15), new ECB$1(64, 16))),\n new Version$1(37, Int32Array.from([6, 28, 54, 80, 106, 132, 158]), new ECBlocks$1(30, new ECB$1(17, 122), new ECB$1(4, 123)), new ECBlocks$1(28, new ECB$1(29, 46), new ECB$1(14, 47)), new ECBlocks$1(30, new ECB$1(49, 24), new ECB$1(10, 25)), new ECBlocks$1(30, new ECB$1(24, 15), new ECB$1(46, 16))),\n new Version$1(38, Int32Array.from([6, 32, 58, 84, 110, 136, 162]), new ECBlocks$1(30, new ECB$1(4, 122), new ECB$1(18, 123)), new ECBlocks$1(28, new ECB$1(13, 46), new ECB$1(32, 47)), new ECBlocks$1(30, new ECB$1(48, 24), new ECB$1(14, 25)), new ECBlocks$1(30, new ECB$1(42, 15), new ECB$1(32, 16))),\n new Version$1(39, Int32Array.from([6, 26, 54, 82, 110, 138, 166]), new ECBlocks$1(30, new ECB$1(20, 117), new ECB$1(4, 118)), new ECBlocks$1(28, new ECB$1(40, 47), new ECB$1(7, 48)), new ECBlocks$1(30, new ECB$1(43, 24), new ECB$1(22, 25)), new ECBlocks$1(30, new ECB$1(10, 15), new ECB$1(67, 16))),\n new Version$1(40, Int32Array.from([6, 30, 58, 86, 114, 142, 170]), new ECBlocks$1(30, new ECB$1(19, 118), new ECB$1(6, 119)), new ECBlocks$1(28, new ECB$1(18, 47), new ECB$1(31, 48)), new ECBlocks$1(30, new ECB$1(34, 24), new ECB$1(34, 25)), new ECBlocks$1(30, new ECB$1(20, 15), new ECB$1(61, 16)))\n ];\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n var DataMaskValues;\n (function (DataMaskValues) {\n DataMaskValues[DataMaskValues[\"DATA_MASK_000\"] = 0] = \"DATA_MASK_000\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_001\"] = 1] = \"DATA_MASK_001\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_010\"] = 2] = \"DATA_MASK_010\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_011\"] = 3] = \"DATA_MASK_011\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_100\"] = 4] = \"DATA_MASK_100\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_101\"] = 5] = \"DATA_MASK_101\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_110\"] = 6] = \"DATA_MASK_110\";\n DataMaskValues[DataMaskValues[\"DATA_MASK_111\"] = 7] = \"DATA_MASK_111\";\n })(DataMaskValues || (DataMaskValues = {}));\n /**\n *

Encapsulates data masks for the data bits in a QR code, per ISO 18004:2006 6.8. Implementations\n * of this class can un-mask a raw BitMatrix. For simplicity, they will unmask the entire BitMatrix,\n * including areas used for finder patterns, timing patterns, etc. These areas should be unused\n * after the point they are unmasked anyway.

\n *\n *

Note that the diagram in section 6.8.1 is misleading since it indicates that i is column position\n * and j is row position. In fact, as the text says, i is row position and j is column position.

\n *\n * @author Sean Owen\n */\n class DataMask {\n // See ISO 18004:2006 6.8.1\n constructor(value, isMasked) {\n this.value = value;\n this.isMasked = isMasked;\n }\n // End of enum constants.\n /**\n *

Implementations of this method reverse the data masking process applied to a QR Code and\n * make its bits ready to read.

\n *\n * @param bits representation of QR Code bits\n * @param dimension dimension of QR Code, represented by bits, being unmasked\n */\n unmaskBitMatrix(bits, dimension /*int*/) {\n for (let i = 0; i < dimension; i++) {\n for (let j = 0; j < dimension; j++) {\n if (this.isMasked(i, j)) {\n bits.flip(j, i);\n }\n }\n }\n }\n }\n DataMask.values = new Map([\n /**\n * 000: mask bits for which (x + y) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_000, new DataMask(DataMaskValues.DATA_MASK_000, (i /*int*/, j /*int*/) => { return ((i + j) & 0x01) === 0; })],\n /**\n * 001: mask bits for which x mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_001, new DataMask(DataMaskValues.DATA_MASK_001, (i /*int*/, j /*int*/) => { return (i & 0x01) === 0; })],\n /**\n * 010: mask bits for which y mod 3 == 0\n */\n [DataMaskValues.DATA_MASK_010, new DataMask(DataMaskValues.DATA_MASK_010, (i /*int*/, j /*int*/) => { return j % 3 === 0; })],\n /**\n * 011: mask bits for which (x + y) mod 3 == 0\n */\n [DataMaskValues.DATA_MASK_011, new DataMask(DataMaskValues.DATA_MASK_011, (i /*int*/, j /*int*/) => { return (i + j) % 3 === 0; })],\n /**\n * 100: mask bits for which (x/2 + y/3) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_100, new DataMask(DataMaskValues.DATA_MASK_100, (i /*int*/, j /*int*/) => { return ((Math.floor(i / 2) + Math.floor(j / 3)) & 0x01) === 0; })],\n /**\n * 101: mask bits for which xy mod 2 + xy mod 3 == 0\n * equivalently, such that xy mod 6 == 0\n */\n [DataMaskValues.DATA_MASK_101, new DataMask(DataMaskValues.DATA_MASK_101, (i /*int*/, j /*int*/) => { return (i * j) % 6 === 0; })],\n /**\n * 110: mask bits for which (xy mod 2 + xy mod 3) mod 2 == 0\n * equivalently, such that xy mod 6 < 3\n */\n [DataMaskValues.DATA_MASK_110, new DataMask(DataMaskValues.DATA_MASK_110, (i /*int*/, j /*int*/) => { return ((i * j) % 6) < 3; })],\n /**\n * 111: mask bits for which ((x+y)mod 2 + xy mod 3) mod 2 == 0\n * equivalently, such that (x + y + xy mod 3) mod 2 == 0\n */\n [DataMaskValues.DATA_MASK_111, new DataMask(DataMaskValues.DATA_MASK_111, (i /*int*/, j /*int*/) => { return ((i + j + ((i * j) % 3)) & 0x01) === 0; })],\n ]);\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Sean Owen\n */\n class BitMatrixParser$1 {\n /**\n * @param bitMatrix {@link BitMatrix} to parse\n * @throws FormatException if dimension is not >= 21 and 1 mod 4\n */\n constructor(bitMatrix) {\n const dimension = bitMatrix.getHeight();\n if (dimension < 21 || (dimension & 0x03) !== 1) {\n throw new FormatException();\n }\n this.bitMatrix = bitMatrix;\n }\n /**\n *

Reads format information from one of its two locations within the QR Code.

\n *\n * @return {@link FormatInformation} encapsulating the QR Code's format info\n * @throws FormatException if both format information locations cannot be parsed as\n * the valid encoding of format information\n */\n readFormatInformation() {\n if (this.parsedFormatInfo !== null && this.parsedFormatInfo !== undefined) {\n return this.parsedFormatInfo;\n }\n // Read top-left format info bits\n let formatInfoBits1 = 0;\n for (let i = 0; i < 6; i++) {\n formatInfoBits1 = this.copyBit(i, 8, formatInfoBits1);\n }\n // .. and skip a bit in the timing pattern ...\n formatInfoBits1 = this.copyBit(7, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 8, formatInfoBits1);\n formatInfoBits1 = this.copyBit(8, 7, formatInfoBits1);\n // .. and skip a bit in the timing pattern ...\n for (let j = 5; j >= 0; j--) {\n formatInfoBits1 = this.copyBit(8, j, formatInfoBits1);\n }\n // Read the top-right/bottom-left pattern too\n const dimension = this.bitMatrix.getHeight();\n let formatInfoBits2 = 0;\n const jMin = dimension - 7;\n for (let j = dimension - 1; j >= jMin; j--) {\n formatInfoBits2 = this.copyBit(8, j, formatInfoBits2);\n }\n for (let i = dimension - 8; i < dimension; i++) {\n formatInfoBits2 = this.copyBit(i, 8, formatInfoBits2);\n }\n this.parsedFormatInfo = FormatInformation.decodeFormatInformation(formatInfoBits1, formatInfoBits2);\n if (this.parsedFormatInfo !== null) {\n return this.parsedFormatInfo;\n }\n throw new FormatException();\n }\n /**\n *

Reads version information from one of its two locations within the QR Code.

\n *\n * @return {@link Version} encapsulating the QR Code's version\n * @throws FormatException if both version information locations cannot be parsed as\n * the valid encoding of version information\n */\n readVersion() {\n if (this.parsedVersion !== null && this.parsedVersion !== undefined) {\n return this.parsedVersion;\n }\n const dimension = this.bitMatrix.getHeight();\n const provisionalVersion = Math.floor((dimension - 17) / 4);\n if (provisionalVersion <= 6) {\n return Version$1.getVersionForNumber(provisionalVersion);\n }\n // Read top-right version info: 3 wide by 6 tall\n let versionBits = 0;\n const ijMin = dimension - 11;\n for (let j = 5; j >= 0; j--) {\n for (let i = dimension - 9; i >= ijMin; i--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n let theParsedVersion = Version$1.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n // Hmm, failed. Try bottom left: 6 wide by 3 tall\n versionBits = 0;\n for (let i = 5; i >= 0; i--) {\n for (let j = dimension - 9; j >= ijMin; j--) {\n versionBits = this.copyBit(i, j, versionBits);\n }\n }\n theParsedVersion = Version$1.decodeVersionInformation(versionBits);\n if (theParsedVersion !== null && theParsedVersion.getDimensionForVersion() === dimension) {\n this.parsedVersion = theParsedVersion;\n return theParsedVersion;\n }\n throw new FormatException();\n }\n copyBit(i /*int*/, j /*int*/, versionBits /*int*/) {\n const bit = this.isMirror ? this.bitMatrix.get(j, i) : this.bitMatrix.get(i, j);\n return bit ? (versionBits << 1) | 0x1 : versionBits << 1;\n }\n /**\n *

Reads the bits in the {@link BitMatrix} representing the finder pattern in the\n * correct order in order to reconstruct the codewords bytes contained within the\n * QR Code.

\n *\n * @return bytes encoded within the QR Code\n * @throws FormatException if the exact number of bytes expected is not read\n */\n readCodewords() {\n const formatInfo = this.readFormatInformation();\n const version = this.readVersion();\n // Get the data mask for the format used in this QR Code. This will exclude\n // some bits from reading as we wind through the bit matrix.\n const dataMask = DataMask.values.get(formatInfo.getDataMask());\n const dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n const functionPattern = version.buildFunctionPattern();\n let readingUp = true;\n const result = new Uint8Array(version.getTotalCodewords());\n let resultOffset = 0;\n let currentByte = 0;\n let bitsRead = 0;\n // Read columns in pairs, from right to left\n for (let j = dimension - 1; j > 0; j -= 2) {\n if (j === 6) {\n // Skip whole column with vertical alignment pattern\n // saves time and makes the other code proceed more cleanly\n j--;\n }\n // Read alternatingly from bottom to top then top to bottom\n for (let count = 0; count < dimension; count++) {\n const i = readingUp ? dimension - 1 - count : count;\n for (let col = 0; col < 2; col++) {\n // Ignore bits covered by the function pattern\n if (!functionPattern.get(j - col, i)) {\n // Read a bit\n bitsRead++;\n currentByte <<= 1;\n if (this.bitMatrix.get(j - col, i)) {\n currentByte |= 1;\n }\n // If we've made a whole byte, save it off\n if (bitsRead === 8) {\n result[resultOffset++] = /*(byte) */ currentByte;\n bitsRead = 0;\n currentByte = 0;\n }\n }\n }\n }\n readingUp = !readingUp; // readingUp ^= true; // readingUp = !readingUp; // switch directions\n }\n if (resultOffset !== version.getTotalCodewords()) {\n throw new FormatException();\n }\n return result;\n }\n /**\n * Revert the mask removal done while reading the code words. The bit matrix should revert to its original state.\n */\n remask() {\n if (this.parsedFormatInfo === null) {\n return; // We have no format information, and have no data mask\n }\n const dataMask = DataMask.values[this.parsedFormatInfo.getDataMask()];\n const dimension = this.bitMatrix.getHeight();\n dataMask.unmaskBitMatrix(this.bitMatrix, dimension);\n }\n /**\n * Prepare the parser for a mirrored operation.\n * This flag has effect only on the {@link #readFormatInformation()} and the\n * {@link #readVersion()}. Before proceeding with {@link #readCodewords()} the\n * {@link #mirror()} method should be called.\n *\n * @param mirror Whether to read version and format information mirrored.\n */\n setMirror(isMirror) {\n this.parsedVersion = null;\n this.parsedFormatInfo = null;\n this.isMirror = isMirror;\n }\n /** Mirror the bit matrix in order to attempt a second reading. */\n mirror() {\n const bitMatrix = this.bitMatrix;\n for (let x = 0, width = bitMatrix.getWidth(); x < width; x++) {\n for (let y = x + 1, height = bitMatrix.getHeight(); y < height; y++) {\n if (bitMatrix.get(x, y) !== bitMatrix.get(y, x)) {\n bitMatrix.flip(y, x);\n bitMatrix.flip(x, y);\n }\n }\n }\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates a block of data within a QR Code. QR Codes may split their data into\n * multiple blocks, each of which is a unit of data and error-correction codewords. Each\n * is represented by an instance of this class.

\n *\n * @author Sean Owen\n */\n class DataBlock$1 {\n constructor(numDataCodewords /*int*/, codewords) {\n this.numDataCodewords = numDataCodewords;\n this.codewords = codewords;\n }\n /**\n *

When QR Codes use multiple data blocks, they are actually interleaved.\n * That is, the first byte of data block 1 to n is written, then the second bytes, and so on. This\n * method will separate the data into original blocks.

\n *\n * @param rawCodewords bytes as read directly from the QR Code\n * @param version version of the QR Code\n * @param ecLevel error-correction level of the QR Code\n * @return DataBlocks containing original bytes, \"de-interleaved\" from representation in the\n * QR Code\n */\n static getDataBlocks(rawCodewords, version, ecLevel) {\n if (rawCodewords.length !== version.getTotalCodewords()) {\n throw new IllegalArgumentException();\n }\n // Figure out the number and size of data blocks used by this version and\n // error correction level\n const ecBlocks = version.getECBlocksForLevel(ecLevel);\n // First count the total number of data blocks\n let totalBlocks = 0;\n const ecBlockArray = ecBlocks.getECBlocks();\n for (const ecBlock of ecBlockArray) {\n totalBlocks += ecBlock.getCount();\n }\n // Now establish DataBlocks of the appropriate size and number of data codewords\n const result = new Array(totalBlocks);\n let numResultBlocks = 0;\n for (const ecBlock of ecBlockArray) {\n for (let i = 0; i < ecBlock.getCount(); i++) {\n const numDataCodewords = ecBlock.getDataCodewords();\n const numBlockCodewords = ecBlocks.getECCodewordsPerBlock() + numDataCodewords;\n result[numResultBlocks++] = new DataBlock$1(numDataCodewords, new Uint8Array(numBlockCodewords));\n }\n }\n // All blocks have the same amount of data, except that the last n\n // (where n may be 0) have 1 more byte. Figure out where these start.\n const shorterBlocksTotalCodewords = result[0].codewords.length;\n let longerBlocksStartAt = result.length - 1;\n // TYPESCRIPTPORT: check length is correct here\n while (longerBlocksStartAt >= 0) {\n const numCodewords = result[longerBlocksStartAt].codewords.length;\n if (numCodewords === shorterBlocksTotalCodewords) {\n break;\n }\n longerBlocksStartAt--;\n }\n longerBlocksStartAt++;\n const shorterBlocksNumDataCodewords = shorterBlocksTotalCodewords - ecBlocks.getECCodewordsPerBlock();\n // The last elements of result may be 1 element longer\n // first fill out as many elements as all of them have\n let rawCodewordsOffset = 0;\n for (let i = 0; i < shorterBlocksNumDataCodewords; i++) {\n for (let j = 0; j < numResultBlocks; j++) {\n result[j].codewords[i] = rawCodewords[rawCodewordsOffset++];\n }\n }\n // Fill out the last data block in the longer ones\n for (let j = longerBlocksStartAt; j < numResultBlocks; j++) {\n result[j].codewords[shorterBlocksNumDataCodewords] = rawCodewords[rawCodewordsOffset++];\n }\n // Now add in error correction blocks\n const max = result[0].codewords.length;\n for (let i = shorterBlocksNumDataCodewords; i < max; i++) {\n for (let j = 0; j < numResultBlocks; j++) {\n const iOffset = j < longerBlocksStartAt ? i : i + 1;\n result[j].codewords[iOffset] = rawCodewords[rawCodewordsOffset++];\n }\n }\n return result;\n }\n getNumDataCodewords() {\n return this.numDataCodewords;\n }\n getCodewords() {\n return this.codewords;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n var ModeValues;\n (function (ModeValues) {\n ModeValues[ModeValues[\"TERMINATOR\"] = 0] = \"TERMINATOR\";\n ModeValues[ModeValues[\"NUMERIC\"] = 1] = \"NUMERIC\";\n ModeValues[ModeValues[\"ALPHANUMERIC\"] = 2] = \"ALPHANUMERIC\";\n ModeValues[ModeValues[\"STRUCTURED_APPEND\"] = 3] = \"STRUCTURED_APPEND\";\n ModeValues[ModeValues[\"BYTE\"] = 4] = \"BYTE\";\n ModeValues[ModeValues[\"ECI\"] = 5] = \"ECI\";\n ModeValues[ModeValues[\"KANJI\"] = 6] = \"KANJI\";\n ModeValues[ModeValues[\"FNC1_FIRST_POSITION\"] = 7] = \"FNC1_FIRST_POSITION\";\n ModeValues[ModeValues[\"FNC1_SECOND_POSITION\"] = 8] = \"FNC1_SECOND_POSITION\";\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n ModeValues[ModeValues[\"HANZI\"] = 9] = \"HANZI\";\n })(ModeValues || (ModeValues = {}));\n /**\n *

See ISO 18004:2006, 6.4.1, Tables 2 and 3. This enum encapsulates the various modes in which\n * data can be encoded to bits in the QR code standard.

\n *\n * @author Sean Owen\n */\n class Mode$1 {\n constructor(value, stringValue, characterCountBitsForVersions, bits /*int*/) {\n this.value = value;\n this.stringValue = stringValue;\n this.characterCountBitsForVersions = characterCountBitsForVersions;\n this.bits = bits;\n Mode$1.FOR_BITS.set(bits, this);\n Mode$1.FOR_VALUE.set(value, this);\n }\n /**\n * @param bits four bits encoding a QR Code data mode\n * @return Mode encoded by these bits\n * @throws IllegalArgumentException if bits do not correspond to a known mode\n */\n static forBits(bits /*int*/) {\n const mode = Mode$1.FOR_BITS.get(bits);\n if (undefined === mode) {\n throw new IllegalArgumentException();\n }\n return mode;\n }\n /**\n * @param version version in question\n * @return number of bits used, in this QR Code symbol {@link Version}, to encode the\n * count of characters that will follow encoded in this Mode\n */\n getCharacterCountBits(version) {\n const versionNumber = version.getVersionNumber();\n let offset;\n if (versionNumber <= 9) {\n offset = 0;\n }\n else if (versionNumber <= 26) {\n offset = 1;\n }\n else {\n offset = 2;\n }\n return this.characterCountBitsForVersions[offset];\n }\n getValue() {\n return this.value;\n }\n getBits() {\n return this.bits;\n }\n equals(o) {\n if (!(o instanceof Mode$1)) {\n return false;\n }\n const other = o;\n return this.value === other.value;\n }\n toString() {\n return this.stringValue;\n }\n }\n Mode$1.FOR_BITS = new Map();\n Mode$1.FOR_VALUE = new Map();\n Mode$1.TERMINATOR = new Mode$1(ModeValues.TERMINATOR, 'TERMINATOR', Int32Array.from([0, 0, 0]), 0x00); // Not really a mode...\n Mode$1.NUMERIC = new Mode$1(ModeValues.NUMERIC, 'NUMERIC', Int32Array.from([10, 12, 14]), 0x01);\n Mode$1.ALPHANUMERIC = new Mode$1(ModeValues.ALPHANUMERIC, 'ALPHANUMERIC', Int32Array.from([9, 11, 13]), 0x02);\n Mode$1.STRUCTURED_APPEND = new Mode$1(ModeValues.STRUCTURED_APPEND, 'STRUCTURED_APPEND', Int32Array.from([0, 0, 0]), 0x03); // Not supported\n Mode$1.BYTE = new Mode$1(ModeValues.BYTE, 'BYTE', Int32Array.from([8, 16, 16]), 0x04);\n Mode$1.ECI = new Mode$1(ModeValues.ECI, 'ECI', Int32Array.from([0, 0, 0]), 0x07); // character counts don't apply\n Mode$1.KANJI = new Mode$1(ModeValues.KANJI, 'KANJI', Int32Array.from([8, 10, 12]), 0x08);\n Mode$1.FNC1_FIRST_POSITION = new Mode$1(ModeValues.FNC1_FIRST_POSITION, 'FNC1_FIRST_POSITION', Int32Array.from([0, 0, 0]), 0x05);\n Mode$1.FNC1_SECOND_POSITION = new Mode$1(ModeValues.FNC1_SECOND_POSITION, 'FNC1_SECOND_POSITION', Int32Array.from([0, 0, 0]), 0x09);\n /** See GBT 18284-2000; \"Hanzi\" is a transliteration of this mode name. */\n Mode$1.HANZI = new Mode$1(ModeValues.HANZI, 'HANZI', Int32Array.from([8, 10, 12]), 0x0D);\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.io.UnsupportedEncodingException;*/\n /*import java.util.ArrayList;*/\n /*import java.util.Collection;*/\n /*import java.util.List;*/\n /*import java.util.Map;*/\n /**\n *

QR Codes can encode text as bits in one of several modes, and can use multiple modes\n * in one QR Code. This class decodes the bits back into text.

\n *\n *

See ISO 18004:2006, 6.4.3 - 6.4.7

\n *\n * @author Sean Owen\n */\n class DecodedBitStreamParser$1 {\n static decode(bytes, version, ecLevel, hints) {\n const bits = new BitSource(bytes);\n let result = new StringBuilder();\n const byteSegments = new Array(); // 1\n // TYPESCRIPTPORT: I do not use constructor with size 1 as in original Java means capacity and the array length is checked below\n let symbolSequence = -1;\n let parityData = -1;\n try {\n let currentCharacterSetECI = null;\n let fc1InEffect = false;\n let mode;\n do {\n // While still another segment to read...\n if (bits.available() < 4) {\n // OK, assume we're done. Really, a TERMINATOR mode should have been recorded here\n mode = Mode$1.TERMINATOR;\n }\n else {\n const modeBits = bits.readBits(4);\n mode = Mode$1.forBits(modeBits); // mode is encoded by 4 bits\n }\n switch (mode) {\n case Mode$1.TERMINATOR:\n break;\n case Mode$1.FNC1_FIRST_POSITION:\n case Mode$1.FNC1_SECOND_POSITION:\n // We do little with FNC1 except alter the parsed result a bit according to the spec\n fc1InEffect = true;\n break;\n case Mode$1.STRUCTURED_APPEND:\n if (bits.available() < 16) {\n throw new FormatException();\n }\n // sequence number and parity is added later to the result metadata\n // Read next 8 bits (symbol sequence #) and 8 bits (data: parity), then continue\n symbolSequence = bits.readBits(8);\n parityData = bits.readBits(8);\n break;\n case Mode$1.ECI:\n // Count doesn't apply to ECI\n const value = DecodedBitStreamParser$1.parseECIValue(bits);\n currentCharacterSetECI = CharacterSetECI.getCharacterSetECIByValue(value);\n if (currentCharacterSetECI === null) {\n throw new FormatException();\n }\n break;\n case Mode$1.HANZI:\n // First handle Hanzi mode which does not start with character count\n // Chinese mode contains a sub set indicator right after mode indicator\n const subset = bits.readBits(4);\n const countHanzi = bits.readBits(mode.getCharacterCountBits(version));\n if (subset === DecodedBitStreamParser$1.GB2312_SUBSET) {\n DecodedBitStreamParser$1.decodeHanziSegment(bits, result, countHanzi);\n }\n break;\n default:\n // \"Normal\" QR code modes:\n // How many characters will follow, encoded in this mode?\n const count = bits.readBits(mode.getCharacterCountBits(version));\n switch (mode) {\n case Mode$1.NUMERIC:\n DecodedBitStreamParser$1.decodeNumericSegment(bits, result, count);\n break;\n case Mode$1.ALPHANUMERIC:\n DecodedBitStreamParser$1.decodeAlphanumericSegment(bits, result, count, fc1InEffect);\n break;\n case Mode$1.BYTE:\n DecodedBitStreamParser$1.decodeByteSegment(bits, result, count, currentCharacterSetECI, byteSegments, hints);\n break;\n case Mode$1.KANJI:\n DecodedBitStreamParser$1.decodeKanjiSegment(bits, result, count);\n break;\n default:\n throw new FormatException();\n }\n break;\n }\n } while (mode !== Mode$1.TERMINATOR);\n }\n catch (iae /*: IllegalArgumentException*/) {\n // from readBits() calls\n throw new FormatException();\n }\n return new DecoderResult(bytes, result.toString(), byteSegments.length === 0 ? null : byteSegments, ecLevel === null ? null : ecLevel.toString(), symbolSequence, parityData);\n }\n /**\n * See specification GBT 18284-2000\n */\n static decodeHanziSegment(bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as GB2312 afterwards\n const buffer = new Uint8Array(2 * count);\n let offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n const twoBytes = bits.readBits(13);\n let assembledTwoBytes = (((twoBytes / 0x060) << 8) & 0xFFFFFFFF) | (twoBytes % 0x060);\n if (assembledTwoBytes < 0x003BF) {\n // In the 0xA1A1 to 0xAAFE range\n assembledTwoBytes += 0x0A1A1;\n }\n else {\n // In the 0xB0A1 to 0xFAFE range\n assembledTwoBytes += 0x0A6A1;\n }\n buffer[offset] = /*(byte) */ ((assembledTwoBytes >> 8) & 0xFF);\n buffer[offset + 1] = /*(byte) */ (assembledTwoBytes & 0xFF);\n offset += 2;\n count--;\n }\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.GB2312));\n // TYPESCRIPTPORT: TODO: implement GB2312 decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n }\n static decodeKanjiSegment(bits, result, count /*int*/) {\n // Don't crash trying to read more bits than we have available.\n if (count * 13 > bits.available()) {\n throw new FormatException();\n }\n // Each character will require 2 bytes. Read the characters as 2-byte pairs\n // and decode as Shift_JIS afterwards\n const buffer = new Uint8Array(2 * count);\n let offset = 0;\n while (count > 0) {\n // Each 13 bits encodes a 2-byte character\n const twoBytes = bits.readBits(13);\n let assembledTwoBytes = (((twoBytes / 0x0C0) << 8) & 0xFFFFFFFF) | (twoBytes % 0x0C0);\n if (assembledTwoBytes < 0x01F00) {\n // In the 0x8140 to 0x9FFC range\n assembledTwoBytes += 0x08140;\n }\n else {\n // In the 0xE040 to 0xEBBF range\n assembledTwoBytes += 0x0C140;\n }\n buffer[offset] = /*(byte) */ (assembledTwoBytes >> 8);\n buffer[offset + 1] = /*(byte) */ assembledTwoBytes;\n offset += 2;\n count--;\n }\n // Shift_JIS may not be supported in some environments:\n try {\n result.append(StringEncoding.decode(buffer, StringUtils.SHIFT_JIS));\n // TYPESCRIPTPORT: TODO: implement SHIFT_JIS decode. StringView from MDN could be a starting point\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n }\n static decodeByteSegment(bits, result, count /*int*/, currentCharacterSetECI, byteSegments, hints) {\n // Don't crash trying to read more bits than we have available.\n if (8 * count > bits.available()) {\n throw new FormatException();\n }\n const readBytes = new Uint8Array(count);\n for (let i = 0; i < count; i++) {\n readBytes[i] = /*(byte) */ bits.readBits(8);\n }\n let encoding;\n if (currentCharacterSetECI === null) {\n // The spec isn't clear on this mode; see\n // section 6.4.5: t does not say which encoding to assuming\n // upon decoding. I have seen ISO-8859-1 used as well as\n // Shift_JIS -- without anything like an ECI designator to\n // give a hint.\n encoding = StringUtils.guessEncoding(readBytes, hints);\n }\n else {\n encoding = currentCharacterSetECI.getName();\n }\n try {\n result.append(StringEncoding.decode(readBytes, encoding));\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n throw new FormatException(ignored);\n }\n byteSegments.push(readBytes);\n }\n static toAlphaNumericChar(value /*int*/) {\n if (value >= DecodedBitStreamParser$1.ALPHANUMERIC_CHARS.length) {\n throw new FormatException();\n }\n return DecodedBitStreamParser$1.ALPHANUMERIC_CHARS[value];\n }\n static decodeAlphanumericSegment(bits, result, count /*int*/, fc1InEffect) {\n // Read two characters at a time\n const start = result.length();\n while (count > 1) {\n if (bits.available() < 11) {\n throw new FormatException();\n }\n const nextTwoCharsBits = bits.readBits(11);\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(Math.floor(nextTwoCharsBits / 45)));\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(nextTwoCharsBits % 45));\n count -= 2;\n }\n if (count === 1) {\n // special case: one character left\n if (bits.available() < 6) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(bits.readBits(6)));\n }\n // See section 6.4.8.1, 6.4.8.2\n if (fc1InEffect) {\n // We need to massage the result a bit if in an FNC1 mode:\n for (let i = start; i < result.length(); i++) {\n if (result.charAt(i) === '%') {\n if (i < result.length() - 1 && result.charAt(i + 1) === '%') {\n // %% is rendered as %\n result.deleteCharAt(i + 1);\n }\n else {\n // In alpha mode, % should be converted to FNC1 separator 0x1D\n result.setCharAt(i, String.fromCharCode(0x1D));\n }\n }\n }\n }\n }\n static decodeNumericSegment(bits, result, count /*int*/) {\n // Read three digits at a time\n while (count >= 3) {\n // Each 10 bits encodes three digits\n if (bits.available() < 10) {\n throw new FormatException();\n }\n const threeDigitsBits = bits.readBits(10);\n if (threeDigitsBits >= 1000) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(Math.floor(threeDigitsBits / 100)));\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(Math.floor(threeDigitsBits / 10) % 10));\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(threeDigitsBits % 10));\n count -= 3;\n }\n if (count === 2) {\n // Two digits left over to read, encoded in 7 bits\n if (bits.available() < 7) {\n throw new FormatException();\n }\n const twoDigitsBits = bits.readBits(7);\n if (twoDigitsBits >= 100) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(Math.floor(twoDigitsBits / 10)));\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(twoDigitsBits % 10));\n }\n else if (count === 1) {\n // One digit left over to read\n if (bits.available() < 4) {\n throw new FormatException();\n }\n const digitBits = bits.readBits(4);\n if (digitBits >= 10) {\n throw new FormatException();\n }\n result.append(DecodedBitStreamParser$1.toAlphaNumericChar(digitBits));\n }\n }\n static parseECIValue(bits) {\n const firstByte = bits.readBits(8);\n if ((firstByte & 0x80) === 0) {\n // just one byte\n return firstByte & 0x7F;\n }\n if ((firstByte & 0xC0) === 0x80) {\n // two bytes\n const secondByte = bits.readBits(8);\n return (((firstByte & 0x3F) << 8) & 0xFFFFFFFF) | secondByte;\n }\n if ((firstByte & 0xE0) === 0xC0) {\n // three bytes\n const secondThirdBytes = bits.readBits(16);\n return (((firstByte & 0x1F) << 16) & 0xFFFFFFFF) | secondThirdBytes;\n }\n throw new FormatException();\n }\n }\n /**\n * See ISO 18004:2006, 6.4.4 Table 5\n */\n DecodedBitStreamParser$1.ALPHANUMERIC_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:';\n DecodedBitStreamParser$1.GB2312_SUBSET = 1;\n // function Uint8ArrayToString(a: Uint8Array): string {\n // const CHUNK_SZ = 0x8000;\n // const c = new StringBuilder();\n // for (let i = 0, length = a.length; i < length; i += CHUNK_SZ) {\n // c.append(String.fromCharCode.apply(null, a.subarray(i, i + CHUNK_SZ)));\n // }\n // return c.toString();\n // }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * Meta-data container for QR Code decoding. Instances of this class may be used to convey information back to the\n * decoding caller. Callers are expected to process this.\n *\n * @see com.google.zxing.common.DecoderResult#getOther()\n */\n class QRCodeDecoderMetaData {\n constructor(mirrored) {\n this.mirrored = mirrored;\n }\n /**\n * @return true if the QR Code was mirrored.\n */\n isMirrored() {\n return this.mirrored;\n }\n /**\n * Apply the result points' order correction due to mirroring.\n *\n * @param points Array of points to apply mirror correction to.\n */\n applyMirroredCorrection(points) {\n if (!this.mirrored || points === null || points.length < 3) {\n return;\n }\n const bottomLeft = points[0];\n points[0] = points[2];\n points[2] = bottomLeft;\n // No need to 'fix' top-left and alignment pattern.\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.util.Map;*/\n /**\n *

The main class which implements QR Code decoding -- as opposed to locating and extracting\n * the QR Code from an image.

\n *\n * @author Sean Owen\n */\n class Decoder$2 {\n constructor() {\n this.rsDecoder = new ReedSolomonDecoder(GenericGF.QR_CODE_FIELD_256);\n }\n // public decode(image: boolean[][]): DecoderResult /*throws ChecksumException, FormatException*/ {\n // return decode(image, null)\n // }\n /**\n *

Convenience method that can decode a QR Code represented as a 2D array of booleans.\n * \"true\" is taken to mean a black module.

\n *\n * @param image booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n decodeBooleanArray(image, hints) {\n return this.decodeBitMatrix(BitMatrix.parseFromBooleanArray(image), hints);\n }\n // public decodeBitMatrix(bits: BitMatrix): DecoderResult /*throws ChecksumException, FormatException*/ {\n // return decode(bits, null)\n // }\n /**\n *

Decodes a QR Code represented as a {@link BitMatrix}. A 1 or \"true\" is taken to mean a black module.

\n *\n * @param bits booleans representing white/black QR Code modules\n * @param hints decoding hints that should be used to influence decoding\n * @return text and bytes encoded within the QR Code\n * @throws FormatException if the QR Code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n decodeBitMatrix(bits, hints) {\n // Construct a parser and read version, error-correction level\n const parser = new BitMatrixParser$1(bits);\n let ex = null;\n try {\n return this.decodeBitMatrixParser(parser, hints);\n }\n catch (e /*: FormatException, ChecksumException*/) {\n ex = e;\n }\n try {\n // Revert the bit matrix\n parser.remask();\n // Will be attempting a mirrored reading of the version and format info.\n parser.setMirror(true);\n // Preemptively read the version.\n parser.readVersion();\n // Preemptively read the format information.\n parser.readFormatInformation();\n /*\n * Since we're here, this means we have successfully detected some kind\n * of version and format information when mirrored. This is a good sign,\n * that the QR code may be mirrored, and we should try once more with a\n * mirrored content.\n */\n // Prepare for a mirrored reading.\n parser.mirror();\n const result = this.decodeBitMatrixParser(parser, hints);\n // Success! Notify the caller that the code was mirrored.\n result.setOther(new QRCodeDecoderMetaData(true));\n return result;\n }\n catch (e /*FormatException | ChecksumException*/) {\n // Throw the exception from the original reading\n if (ex !== null) {\n throw ex;\n }\n throw e;\n }\n }\n decodeBitMatrixParser(parser, hints) {\n const version = parser.readVersion();\n const ecLevel = parser.readFormatInformation().getErrorCorrectionLevel();\n // Read codewords\n const codewords = parser.readCodewords();\n // Separate into data blocks\n const dataBlocks = DataBlock$1.getDataBlocks(codewords, version, ecLevel);\n // Count total number of data bytes\n let totalBytes = 0;\n for (const dataBlock of dataBlocks) {\n totalBytes += dataBlock.getNumDataCodewords();\n }\n const resultBytes = new Uint8Array(totalBytes);\n let resultOffset = 0;\n // Error-correct and copy data blocks together into a stream of bytes\n for (const dataBlock of dataBlocks) {\n const codewordBytes = dataBlock.getCodewords();\n const numDataCodewords = dataBlock.getNumDataCodewords();\n this.correctErrors(codewordBytes, numDataCodewords);\n for (let i = 0; i < numDataCodewords; i++) {\n resultBytes[resultOffset++] = codewordBytes[i];\n }\n }\n // Decode the contents of that stream of bytes\n return DecodedBitStreamParser$1.decode(resultBytes, version, ecLevel, hints);\n }\n /**\n *

Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place using Reed-Solomon error correction.

\n *\n * @param codewordBytes data and error correction codewords\n * @param numDataCodewords number of codewords that are data bytes\n * @throws ChecksumException if error correction fails\n */\n correctErrors(codewordBytes, numDataCodewords /*int*/) {\n // const numCodewords = codewordBytes.length;\n // First read into an array of ints\n const codewordsInts = new Int32Array(codewordBytes);\n // TYPESCRIPTPORT: not realy necessary to transform to ints? could redesign everything to work with unsigned bytes?\n // const codewordsInts = new Int32Array(numCodewords)\n // for (let i = 0; i < numCodewords; i++) {\n // codewordsInts[i] = codewordBytes[i] & 0xFF\n // }\n try {\n this.rsDecoder.decode(codewordsInts, codewordBytes.length - numDataCodewords);\n }\n catch (ignored /*: ReedSolomonException*/) {\n throw new ChecksumException();\n }\n // Copy back into array of bytes -- only need to worry about the bytes that were data\n // We don't care about errors in the error-correction codewords\n for (let i = 0; i < numDataCodewords; i++) {\n codewordBytes[i] = /*(byte) */ codewordsInts[i];\n }\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates an alignment pattern, which are the smaller square patterns found in\n * all but the simplest QR Codes.

\n *\n * @author Sean Owen\n */\n class AlignmentPattern extends ResultPoint {\n constructor(posX /*float*/, posY /*float*/, estimatedModuleSize /*float*/) {\n super(posX, posY);\n this.estimatedModuleSize = estimatedModuleSize;\n }\n /**\n *

Determines if this alignment pattern \"about equals\" an alignment pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size.

\n */\n aboutEquals(moduleSize /*float*/, i /*float*/, j /*float*/) {\n if (Math.abs(i - this.getY()) <= moduleSize && Math.abs(j - this.getX()) <= moduleSize) {\n const moduleSizeDiff = Math.abs(moduleSize - this.estimatedModuleSize);\n return moduleSizeDiff <= 1.0 || moduleSizeDiff <= this.estimatedModuleSize;\n }\n return false;\n }\n /**\n * Combines this object's current estimate of a finder pattern position and module size\n * with a new estimate. It returns a new {@code FinderPattern} containing an average of the two.\n */\n combineEstimate(i /*float*/, j /*float*/, newModuleSize /*float*/) {\n const combinedX = (this.getX() + j) / 2.0;\n const combinedY = (this.getY() + i) / 2.0;\n const combinedModuleSize = (this.estimatedModuleSize + newModuleSize) / 2.0;\n return new AlignmentPattern(combinedX, combinedY, combinedModuleSize);\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.util.ArrayList;*/\n /*import java.util.List;*/\n /**\n *

This class attempts to find alignment patterns in a QR Code. Alignment patterns look like finder\n * patterns but are smaller and appear at regular intervals throughout the image.

\n *\n *

At the moment this only looks for the bottom-right alignment pattern.

\n *\n *

This is mostly a simplified copy of {@link FinderPatternFinder}. It is copied,\n * pasted and stripped down here for maximum performance but does unfortunately duplicate\n * some code.

\n *\n *

This class is thread-safe but not reentrant. Each thread must allocate its own object.

\n *\n * @author Sean Owen\n */\n class AlignmentPatternFinder {\n /**\n *

Creates a finder that will look in a portion of the whole image.

\n *\n * @param image image to search\n * @param startX left column from which to start searching\n * @param startY top row from which to start searching\n * @param width width of region to search\n * @param height height of region to search\n * @param moduleSize estimated module size so far\n */\n constructor(image, startX /*int*/, startY /*int*/, width /*int*/, height /*int*/, moduleSize /*float*/, resultPointCallback) {\n this.image = image;\n this.startX = startX;\n this.startY = startY;\n this.width = width;\n this.height = height;\n this.moduleSize = moduleSize;\n this.resultPointCallback = resultPointCallback;\n this.possibleCenters = []; // new Array(5))\n // TYPESCRIPTPORT: array initialization without size as the length is checked below\n this.crossCheckStateCount = new Int32Array(3);\n }\n /**\n *

This method attempts to find the bottom-right alignment pattern in the image. It is a bit messy since\n * it's pretty performance-critical and so is written to be fast foremost.

\n *\n * @return {@link AlignmentPattern} if found\n * @throws NotFoundException if not found\n */\n find() {\n const startX = this.startX;\n const height = this.height;\n const width = this.width;\n const maxJ = startX + width;\n const middleI = this.startY + (height / 2);\n // We are looking for black/white/black modules in 1:1:1 ratio\n // this tracks the number of black/white/black modules seen so far\n const stateCount = new Int32Array(3);\n const image = this.image;\n for (let iGen = 0; iGen < height; iGen++) {\n // Search from middle outwards\n const i = middleI + ((iGen & 0x01) === 0 ? Math.floor((iGen + 1) / 2) : -Math.floor((iGen + 1) / 2));\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n let j = startX;\n // Burn off leading white pixels before anything else; if we start in the middle of\n // a white run, it doesn't make sense to count its length, since we don't know if the\n // white run continued to the left of the start point\n while (j < maxJ && !image.get(j, i)) {\n j++;\n }\n let currentState = 0;\n while (j < maxJ) {\n if (image.get(j, i)) {\n // Black pixel\n if (currentState === 1) { // Counting black pixels\n stateCount[1]++;\n }\n else { // Counting white pixels\n if (currentState === 2) { // A winner?\n if (this.foundPatternCross(stateCount)) { // Yes\n const confirmed = this.handlePossibleCenter(stateCount, i, j);\n if (confirmed !== null) {\n return confirmed;\n }\n }\n stateCount[0] = stateCount[2];\n stateCount[1] = 1;\n stateCount[2] = 0;\n currentState = 1;\n }\n else {\n stateCount[++currentState]++;\n }\n }\n }\n else { // White pixel\n if (currentState === 1) { // Counting black pixels\n currentState++;\n }\n stateCount[currentState]++;\n }\n j++;\n }\n if (this.foundPatternCross(stateCount)) {\n const confirmed = this.handlePossibleCenter(stateCount, i, maxJ);\n if (confirmed !== null) {\n return confirmed;\n }\n }\n }\n // Hmm, nothing we saw was observed and confirmed twice. If we had\n // any guess at all, return it.\n if (this.possibleCenters.length !== 0) {\n return this.possibleCenters[0];\n }\n throw new NotFoundException();\n }\n /**\n * Given a count of black/white/black pixels just seen and an end position,\n * figures the location of the center of this black/white/black run.\n */\n static centerFromEnd(stateCount, end /*int*/) {\n return (end - stateCount[2]) - stateCount[1] / 2.0;\n }\n /**\n * @param stateCount count of black/white/black pixels just read\n * @return true iff the proportions of the counts is close enough to the 1/1/1 ratios\n * used by alignment patterns to be considered a match\n */\n foundPatternCross(stateCount) {\n const moduleSize = this.moduleSize;\n const maxVariance = moduleSize / 2.0;\n for (let i = 0; i < 3; i++) {\n if (Math.abs(moduleSize - stateCount[i]) >= maxVariance) {\n return false;\n }\n }\n return true;\n }\n /**\n *

After a horizontal scan finds a potential alignment pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * alignment pattern to see if the same proportion is detected.

\n *\n * @param startI row where an alignment pattern was detected\n * @param centerJ center of the section that appears to cross an alignment pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @return vertical center of alignment pattern, or {@link Float#NaN} if not found\n */\n crossCheckVertical(startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n const image = this.image;\n const maxI = image.getHeight();\n const stateCount = this.crossCheckStateCount;\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n // Start counting up from center\n let i = startI;\n while (i >= 0 && image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i--;\n }\n // If already too many modules in this state or ran off the edge:\n if (i < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i >= 0 && !image.get(centerJ, i) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n i--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n // Now also count down from center\n i = startI + 1;\n while (i < maxI && image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i++;\n }\n if (i === maxI || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i < maxI && !image.get(centerJ, i) && stateCount[2] <= maxCount) {\n stateCount[2]++;\n i++;\n }\n if (stateCount[2] > maxCount) {\n return NaN;\n }\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) {\n return NaN;\n }\n return this.foundPatternCross(stateCount) ? AlignmentPatternFinder.centerFromEnd(stateCount, i) : NaN;\n }\n /**\n *

This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will see if this pattern had been\n * found on a previous horizontal scan. If so, we consider it confirmed and conclude we have\n * found the alignment pattern.

\n *\n * @param stateCount reading state module counts from horizontal scan\n * @param i row where alignment pattern may be found\n * @param j end of possible alignment pattern in row\n * @return {@link AlignmentPattern} if we have found the same pattern twice, or null if not\n */\n handlePossibleCenter(stateCount, i /*int*/, j /*int*/) {\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2];\n const centerJ = AlignmentPatternFinder.centerFromEnd(stateCount, j);\n const centerI = this.crossCheckVertical(i, /*(int) */ centerJ, 2 * stateCount[1], stateCountTotal);\n if (!isNaN(centerI)) {\n const estimatedModuleSize = (stateCount[0] + stateCount[1] + stateCount[2]) / 3.0;\n for (const center of this.possibleCenters) {\n // Look for about the same center and module size:\n if (center.aboutEquals(estimatedModuleSize, centerI, centerJ)) {\n return center.combineEstimate(centerI, centerJ, estimatedModuleSize);\n }\n }\n // Hadn't found this before; save it\n const point = new AlignmentPattern(centerJ, centerI, estimatedModuleSize);\n this.possibleCenters.push(point);\n if (this.resultPointCallback !== null && this.resultPointCallback !== undefined) {\n this.resultPointCallback.foundPossibleResultPoint(point);\n }\n }\n return null;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates a finder pattern, which are the three square patterns found in\n * the corners of QR Codes. It also encapsulates a count of similar finder patterns,\n * as a convenience to the finder's bookkeeping.

\n *\n * @author Sean Owen\n */\n class FinderPattern$1 extends ResultPoint {\n // FinderPattern(posX: number/*float*/, posY: number/*float*/, estimatedModuleSize: number/*float*/) {\n // this(posX, posY, estimatedModuleSize, 1)\n // }\n constructor(posX /*float*/, posY /*float*/, estimatedModuleSize /*float*/, count /*int*/) {\n super(posX, posY);\n this.estimatedModuleSize = estimatedModuleSize;\n this.count = count;\n if (undefined === count) {\n this.count = 1;\n }\n }\n getEstimatedModuleSize() {\n return this.estimatedModuleSize;\n }\n getCount() {\n return this.count;\n }\n /*\n void incrementCount() {\n this.count++\n }\n */\n /**\n *

Determines if this finder pattern \"about equals\" a finder pattern at the stated\n * position and size -- meaning, it is at nearly the same center with nearly the same size.

\n */\n aboutEquals(moduleSize /*float*/, i /*float*/, j /*float*/) {\n if (Math.abs(i - this.getY()) <= moduleSize && Math.abs(j - this.getX()) <= moduleSize) {\n const moduleSizeDiff = Math.abs(moduleSize - this.estimatedModuleSize);\n return moduleSizeDiff <= 1.0 || moduleSizeDiff <= this.estimatedModuleSize;\n }\n return false;\n }\n /**\n * Combines this object's current estimate of a finder pattern position and module size\n * with a new estimate. It returns a new {@code FinderPattern} containing a weighted average\n * based on count.\n */\n combineEstimate(i /*float*/, j /*float*/, newModuleSize /*float*/) {\n const combinedCount = this.count + 1;\n const combinedX = (this.count * this.getX() + j) / combinedCount;\n const combinedY = (this.count * this.getY() + i) / combinedCount;\n const combinedModuleSize = (this.count * this.estimatedModuleSize + newModuleSize) / combinedCount;\n return new FinderPattern$1(combinedX, combinedY, combinedModuleSize, combinedCount);\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Encapsulates information about finder patterns in an image, including the location of\n * the three finder patterns, and their estimated module size.

\n *\n * @author Sean Owen\n */\n class FinderPatternInfo {\n constructor(patternCenters) {\n this.bottomLeft = patternCenters[0];\n this.topLeft = patternCenters[1];\n this.topRight = patternCenters[2];\n }\n getBottomLeft() {\n return this.bottomLeft;\n }\n getTopLeft() {\n return this.topLeft;\n }\n getTopRight() {\n return this.topRight;\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.io.Serializable;*/\n /*import java.util.ArrayList;*/\n /*import java.util.Collections;*/\n /*import java.util.Comparator;*/\n /*import java.util.List;*/\n /*import java.util.Map;*/\n /**\n *

This class attempts to find finder patterns in a QR Code. Finder patterns are the square\n * markers at three corners of a QR Code.

\n *\n *

This class is thread-safe but not reentrant. Each thread must allocate its own object.\n *\n * @author Sean Owen\n */\n class FinderPatternFinder {\n /**\n *

Creates a finder that will search the image for three finder patterns.

\n *\n * @param image image to search\n */\n // public constructor(image: BitMatrix) {\n // this(image, null)\n // }\n constructor(image, resultPointCallback) {\n this.image = image;\n this.resultPointCallback = resultPointCallback;\n this.possibleCenters = [];\n this.crossCheckStateCount = new Int32Array(5);\n this.resultPointCallback = resultPointCallback;\n }\n getImage() {\n return this.image;\n }\n getPossibleCenters() {\n return this.possibleCenters;\n }\n find(hints) {\n const tryHarder = (hints !== null && hints !== undefined) && undefined !== hints.get(DecodeHintType$1.TRY_HARDER);\n const pureBarcode = (hints !== null && hints !== undefined) && undefined !== hints.get(DecodeHintType$1.PURE_BARCODE);\n const image = this.image;\n const maxI = image.getHeight();\n const maxJ = image.getWidth();\n // We are looking for black/white/black/white/black modules in\n // 1:1:3:1:1 ratio; this tracks the number of such modules seen so far\n // Let's assume that the maximum version QR Code we support takes up 1/4 the height of the\n // image, and then account for the center being 3 modules in size. This gives the smallest\n // number of pixels the center could be, so skip this often. When trying harder, look for all\n // QR versions regardless of how dense they are.\n let iSkip = Math.floor((3 * maxI) / (4 * FinderPatternFinder.MAX_MODULES));\n if (iSkip < FinderPatternFinder.MIN_SKIP || tryHarder) {\n iSkip = FinderPatternFinder.MIN_SKIP;\n }\n let done = false;\n const stateCount = new Int32Array(5);\n for (let i = iSkip - 1; i < maxI && !done; i += iSkip) {\n // Get a row of black/white values\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n stateCount[3] = 0;\n stateCount[4] = 0;\n let currentState = 0;\n for (let j = 0; j < maxJ; j++) {\n if (image.get(j, i)) {\n // Black pixel\n if ((currentState & 1) === 1) { // Counting white pixels\n currentState++;\n }\n stateCount[currentState]++;\n }\n else { // White pixel\n if ((currentState & 1) === 0) { // Counting black pixels\n if (currentState === 4) { // A winner?\n if (FinderPatternFinder.foundPatternCross(stateCount)) { // Yes\n const confirmed = this.handlePossibleCenter(stateCount, i, j, pureBarcode);\n if (confirmed === true) {\n // Start examining every other line. Checking each line turned out to be too\n // expensive and didn't improve performance.\n iSkip = 2;\n if (this.hasSkipped === true) {\n done = this.haveMultiplyConfirmedCenters();\n }\n else {\n const rowSkip = this.findRowSkip();\n if (rowSkip > stateCount[2]) {\n // Skip rows between row of lower confirmed center\n // and top of presumed third confirmed center\n // but back up a bit to get a full chance of detecting\n // it, entire width of center of finder pattern\n // Skip by rowSkip, but back off by stateCount[2] (size of last center\n // of pattern we saw) to be conservative, and also back off by iSkip which\n // is about to be re-added\n i += rowSkip - stateCount[2] - iSkip;\n j = maxJ - 1;\n }\n }\n }\n else {\n stateCount[0] = stateCount[2];\n stateCount[1] = stateCount[3];\n stateCount[2] = stateCount[4];\n stateCount[3] = 1;\n stateCount[4] = 0;\n currentState = 3;\n continue;\n }\n // Clear state to start looking again\n currentState = 0;\n stateCount[0] = 0;\n stateCount[1] = 0;\n stateCount[2] = 0;\n stateCount[3] = 0;\n stateCount[4] = 0;\n }\n else { // No, shift counts back by two\n stateCount[0] = stateCount[2];\n stateCount[1] = stateCount[3];\n stateCount[2] = stateCount[4];\n stateCount[3] = 1;\n stateCount[4] = 0;\n currentState = 3;\n }\n }\n else {\n stateCount[++currentState]++;\n }\n }\n else { // Counting white pixels\n stateCount[currentState]++;\n }\n }\n }\n if (FinderPatternFinder.foundPatternCross(stateCount)) {\n const confirmed = this.handlePossibleCenter(stateCount, i, maxJ, pureBarcode);\n if (confirmed === true) {\n iSkip = stateCount[0];\n if (this.hasSkipped) {\n // Found a third one\n done = this.haveMultiplyConfirmedCenters();\n }\n }\n }\n }\n const patternInfo = this.selectBestPatterns();\n ResultPoint.orderBestPatterns(patternInfo);\n return new FinderPatternInfo(patternInfo);\n }\n /**\n * Given a count of black/white/black/white/black pixels just seen and an end position,\n * figures the location of the center of this run.\n */\n static centerFromEnd(stateCount, end /*int*/) {\n return (end - stateCount[4] - stateCount[3]) - stateCount[2] / 2.0;\n }\n /**\n * @param stateCount count of black/white/black/white/black pixels just read\n * @return true iff the proportions of the counts is close enough to the 1/1/3/1/1 ratios\n * used by finder patterns to be considered a match\n */\n static foundPatternCross(stateCount) {\n let totalModuleSize = 0;\n for (let i = 0; i < 5; i++) {\n const count = stateCount[i];\n if (count === 0) {\n return false;\n }\n totalModuleSize += count;\n }\n if (totalModuleSize < 7) {\n return false;\n }\n const moduleSize = totalModuleSize / 7.0;\n const maxVariance = moduleSize / 2.0;\n // Allow less than 50% variance from 1-1-3-1-1 proportions\n return Math.abs(moduleSize - stateCount[0]) < maxVariance &&\n Math.abs(moduleSize - stateCount[1]) < maxVariance &&\n Math.abs(3.0 * moduleSize - stateCount[2]) < 3 * maxVariance &&\n Math.abs(moduleSize - stateCount[3]) < maxVariance &&\n Math.abs(moduleSize - stateCount[4]) < maxVariance;\n }\n getCrossCheckStateCount() {\n const crossCheckStateCount = this.crossCheckStateCount;\n crossCheckStateCount[0] = 0;\n crossCheckStateCount[1] = 0;\n crossCheckStateCount[2] = 0;\n crossCheckStateCount[3] = 0;\n crossCheckStateCount[4] = 0;\n return crossCheckStateCount;\n }\n /**\n * After a vertical and horizontal scan finds a potential finder pattern, this method\n * \"cross-cross-cross-checks\" by scanning down diagonally through the center of the possible\n * finder pattern to see if the same proportion is detected.\n *\n * @param startI row where a finder pattern was detected\n * @param centerJ center of the section that appears to cross a finder pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @param originalStateCountTotal The original state count total.\n * @return true if proportions are withing expected limits\n */\n crossCheckDiagonal(startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n const stateCount = this.getCrossCheckStateCount();\n // Start counting up, left from center finding black center mass\n let i = 0;\n const image = this.image;\n while (startI >= i && centerJ >= i && image.get(centerJ - i, startI - i)) {\n stateCount[2]++;\n i++;\n }\n if (startI < i || centerJ < i) {\n return false;\n }\n // Continue up, left finding white space\n while (startI >= i && centerJ >= i && !image.get(centerJ - i, startI - i) &&\n stateCount[1] <= maxCount) {\n stateCount[1]++;\n i++;\n }\n // If already too many modules in this state or ran off the edge:\n if (startI < i || centerJ < i || stateCount[1] > maxCount) {\n return false;\n }\n // Continue up, left finding black border\n while (startI >= i && centerJ >= i && image.get(centerJ - i, startI - i) &&\n stateCount[0] <= maxCount) {\n stateCount[0]++;\n i++;\n }\n if (stateCount[0] > maxCount) {\n return false;\n }\n const maxI = image.getHeight();\n const maxJ = image.getWidth();\n // Now also count down, right from center\n i = 1;\n while (startI + i < maxI && centerJ + i < maxJ && image.get(centerJ + i, startI + i)) {\n stateCount[2]++;\n i++;\n }\n // Ran off the edge?\n if (startI + i >= maxI || centerJ + i >= maxJ) {\n return false;\n }\n while (startI + i < maxI && centerJ + i < maxJ && !image.get(centerJ + i, startI + i) &&\n stateCount[3] < maxCount) {\n stateCount[3]++;\n i++;\n }\n if (startI + i >= maxI || centerJ + i >= maxJ || stateCount[3] >= maxCount) {\n return false;\n }\n while (startI + i < maxI && centerJ + i < maxJ && image.get(centerJ + i, startI + i) &&\n stateCount[4] < maxCount) {\n stateCount[4]++;\n i++;\n }\n if (stateCount[4] >= maxCount) {\n return false;\n }\n // If we found a finder-pattern-like section, but its size is more than 100% different than\n // the original, assume it's a false positive\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] + stateCount[4];\n return Math.abs(stateCountTotal - originalStateCountTotal) < 2 * originalStateCountTotal &&\n FinderPatternFinder.foundPatternCross(stateCount);\n }\n /**\n *

After a horizontal scan finds a potential finder pattern, this method\n * \"cross-checks\" by scanning down vertically through the center of the possible\n * finder pattern to see if the same proportion is detected.

\n *\n * @param startI row where a finder pattern was detected\n * @param centerJ center of the section that appears to cross a finder pattern\n * @param maxCount maximum reasonable number of modules that should be\n * observed in any reading state, based on the results of the horizontal scan\n * @return vertical center of finder pattern, or {@link Float#NaN} if not found\n */\n crossCheckVertical(startI /*int*/, centerJ /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n const image = this.image;\n const maxI = image.getHeight();\n const stateCount = this.getCrossCheckStateCount();\n // Start counting up from center\n let i = startI;\n while (i >= 0 && image.get(centerJ, i)) {\n stateCount[2]++;\n i--;\n }\n if (i < 0) {\n return NaN;\n }\n while (i >= 0 && !image.get(centerJ, i) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n i--;\n }\n // If already too many modules in this state or ran off the edge:\n if (i < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (i >= 0 && image.get(centerJ, i) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n i--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n // Now also count down from center\n i = startI + 1;\n while (i < maxI && image.get(centerJ, i)) {\n stateCount[2]++;\n i++;\n }\n if (i === maxI) {\n return NaN;\n }\n while (i < maxI && !image.get(centerJ, i) && stateCount[3] < maxCount) {\n stateCount[3]++;\n i++;\n }\n if (i === maxI || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (i < maxI && image.get(centerJ, i) && stateCount[4] < maxCount) {\n stateCount[4]++;\n i++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n // If we found a finder-pattern-like section, but its size is more than 40% different than\n // the original, assume it's a false positive\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= 2 * originalStateCountTotal) {\n return NaN;\n }\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, i) : NaN;\n }\n /**\n *

Like {@link #crossCheckVertical(int, int, int, int)}, and in fact is basically identical,\n * except it reads horizontally instead of vertically. This is used to cross-cross\n * check a vertical cross check and locate the real center of the alignment pattern.

\n */\n crossCheckHorizontal(startJ /*int*/, centerI /*int*/, maxCount /*int*/, originalStateCountTotal /*int*/) {\n const image = this.image;\n const maxJ = image.getWidth();\n const stateCount = this.getCrossCheckStateCount();\n let j = startJ;\n while (j >= 0 && image.get(j, centerI)) {\n stateCount[2]++;\n j--;\n }\n if (j < 0) {\n return NaN;\n }\n while (j >= 0 && !image.get(j, centerI) && stateCount[1] <= maxCount) {\n stateCount[1]++;\n j--;\n }\n if (j < 0 || stateCount[1] > maxCount) {\n return NaN;\n }\n while (j >= 0 && image.get(j, centerI) && stateCount[0] <= maxCount) {\n stateCount[0]++;\n j--;\n }\n if (stateCount[0] > maxCount) {\n return NaN;\n }\n j = startJ + 1;\n while (j < maxJ && image.get(j, centerI)) {\n stateCount[2]++;\n j++;\n }\n if (j === maxJ) {\n return NaN;\n }\n while (j < maxJ && !image.get(j, centerI) && stateCount[3] < maxCount) {\n stateCount[3]++;\n j++;\n }\n if (j === maxJ || stateCount[3] >= maxCount) {\n return NaN;\n }\n while (j < maxJ && image.get(j, centerI) && stateCount[4] < maxCount) {\n stateCount[4]++;\n j++;\n }\n if (stateCount[4] >= maxCount) {\n return NaN;\n }\n // If we found a finder-pattern-like section, but its size is significantly different than\n // the original, assume it's a false positive\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n if (5 * Math.abs(stateCountTotal - originalStateCountTotal) >= originalStateCountTotal) {\n return NaN;\n }\n return FinderPatternFinder.foundPatternCross(stateCount) ? FinderPatternFinder.centerFromEnd(stateCount, j) : NaN;\n }\n /**\n *

This is called when a horizontal scan finds a possible alignment pattern. It will\n * cross check with a vertical scan, and if successful, will, ah, cross-cross-check\n * with another horizontal scan. This is needed primarily to locate the real horizontal\n * center of the pattern in cases of extreme skew.\n * And then we cross-cross-cross check with another diagonal scan.

\n *\n *

If that succeeds the finder pattern location is added to a list that tracks\n * the number of times each location has been nearly-matched as a finder pattern.\n * Each additional find is more evidence that the location is in fact a finder\n * pattern center\n *\n * @param stateCount reading state module counts from horizontal scan\n * @param i row where finder pattern may be found\n * @param j end of possible finder pattern in row\n * @param pureBarcode true if in \"pure barcode\" mode\n * @return true if a finder pattern candidate was found this time\n */\n handlePossibleCenter(stateCount, i /*int*/, j /*int*/, pureBarcode) {\n const stateCountTotal = stateCount[0] + stateCount[1] + stateCount[2] + stateCount[3] +\n stateCount[4];\n let centerJ = FinderPatternFinder.centerFromEnd(stateCount, j);\n let centerI = this.crossCheckVertical(i, /*(int) */ Math.floor(centerJ), stateCount[2], stateCountTotal);\n if (!isNaN(centerI)) {\n // Re-cross check\n centerJ = this.crossCheckHorizontal(/*(int) */ Math.floor(centerJ), /*(int) */ Math.floor(centerI), stateCount[2], stateCountTotal);\n if (!isNaN(centerJ) &&\n (!pureBarcode || this.crossCheckDiagonal(/*(int) */ Math.floor(centerI), /*(int) */ Math.floor(centerJ), stateCount[2], stateCountTotal))) {\n const estimatedModuleSize = stateCountTotal / 7.0;\n let found = false;\n const possibleCenters = this.possibleCenters;\n for (let index = 0, length = possibleCenters.length; index < length; index++) {\n const center = possibleCenters[index];\n // Look for about the same center and module size:\n if (center.aboutEquals(estimatedModuleSize, centerI, centerJ)) {\n possibleCenters[index] = center.combineEstimate(centerI, centerJ, estimatedModuleSize);\n found = true;\n break;\n }\n }\n if (!found) {\n const point = new FinderPattern$1(centerJ, centerI, estimatedModuleSize);\n possibleCenters.push(point);\n if (this.resultPointCallback !== null && this.resultPointCallback !== undefined) {\n this.resultPointCallback.foundPossibleResultPoint(point);\n }\n }\n return true;\n }\n }\n return false;\n }\n /**\n * @return number of rows we could safely skip during scanning, based on the first\n * two finder patterns that have been located. In some cases their position will\n * allow us to infer that the third pattern must lie below a certain point farther\n * down in the image.\n */\n findRowSkip() {\n const max = this.possibleCenters.length;\n if (max <= 1) {\n return 0;\n }\n let firstConfirmedCenter = null;\n for (const center of this.possibleCenters) {\n if (center.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n if (firstConfirmedCenter == null) {\n firstConfirmedCenter = center;\n }\n else {\n // We have two confirmed centers\n // How far down can we skip before resuming looking for the next\n // pattern? In the worst case, only the difference between the\n // difference in the x / y coordinates of the two centers.\n // This is the case where you find top left last.\n this.hasSkipped = true;\n return /*(int) */ Math.floor((Math.abs(firstConfirmedCenter.getX() - center.getX()) -\n Math.abs(firstConfirmedCenter.getY() - center.getY())) / 2);\n }\n }\n }\n return 0;\n }\n /**\n * @return true iff we have found at least 3 finder patterns that have been detected\n * at least {@link #CENTER_QUORUM} times each, and, the estimated module size of the\n * candidates is \"pretty similar\"\n */\n haveMultiplyConfirmedCenters() {\n let confirmedCount = 0;\n let totalModuleSize = 0.0;\n const max = this.possibleCenters.length;\n for (const pattern of this.possibleCenters) {\n if (pattern.getCount() >= FinderPatternFinder.CENTER_QUORUM) {\n confirmedCount++;\n totalModuleSize += pattern.getEstimatedModuleSize();\n }\n }\n if (confirmedCount < 3) {\n return false;\n }\n // OK, we have at least 3 confirmed centers, but, it's possible that one is a \"false positive\"\n // and that we need to keep looking. We detect this by asking if the estimated module sizes\n // vary too much. We arbitrarily say that when the total deviation from average exceeds\n // 5% of the total module size estimates, it's too much.\n const average = totalModuleSize / max;\n let totalDeviation = 0.0;\n for (const pattern of this.possibleCenters) {\n totalDeviation += Math.abs(pattern.getEstimatedModuleSize() - average);\n }\n return totalDeviation <= 0.05 * totalModuleSize;\n }\n /**\n * @return the 3 best {@link FinderPattern}s from our list of candidates. The \"best\" are\n * those that have been detected at least {@link #CENTER_QUORUM} times, and whose module\n * size differs from the average among those patterns the least\n * @throws NotFoundException if 3 such finder patterns do not exist\n */\n selectBestPatterns() {\n const startSize = this.possibleCenters.length;\n if (startSize < 3) {\n // Couldn't find enough finder patterns\n throw new NotFoundException();\n }\n const possibleCenters = this.possibleCenters;\n let average;\n // Filter outlier possibilities whose module size is too different\n if (startSize > 3) {\n // But we can only afford to do so if we have at least 4 possibilities to choose from\n let totalModuleSize = 0.0;\n let square = 0.0;\n for (const center of this.possibleCenters) {\n const size = center.getEstimatedModuleSize();\n totalModuleSize += size;\n square += size * size;\n }\n average = totalModuleSize / startSize;\n let stdDev = Math.sqrt(square / startSize - average * average);\n possibleCenters.sort(\n /**\n *

Orders by furthest from average

\n */\n // FurthestFromAverageComparator implements Comparator\n (center1, center2) => {\n const dA = Math.abs(center2.getEstimatedModuleSize() - average);\n const dB = Math.abs(center1.getEstimatedModuleSize() - average);\n return dA < dB ? -1 : dA > dB ? 1 : 0;\n });\n const limit = Math.max(0.2 * average, stdDev);\n for (let i = 0; i < possibleCenters.length && possibleCenters.length > 3; i++) {\n const pattern = possibleCenters[i];\n if (Math.abs(pattern.getEstimatedModuleSize() - average) > limit) {\n possibleCenters.splice(i, 1);\n i--;\n }\n }\n }\n if (possibleCenters.length > 3) {\n // Throw away all but those first size candidate points we found.\n let totalModuleSize = 0.0;\n for (const possibleCenter of possibleCenters) {\n totalModuleSize += possibleCenter.getEstimatedModuleSize();\n }\n average = totalModuleSize / possibleCenters.length;\n possibleCenters.sort(\n /**\n *

Orders by {@link FinderPattern#getCount()}, descending.

\n */\n // CenterComparator implements Comparator\n (center1, center2) => {\n if (center2.getCount() === center1.getCount()) {\n const dA = Math.abs(center2.getEstimatedModuleSize() - average);\n const dB = Math.abs(center1.getEstimatedModuleSize() - average);\n return dA < dB ? 1 : dA > dB ? -1 : 0;\n }\n else {\n return center2.getCount() - center1.getCount();\n }\n });\n possibleCenters.splice(3); // this is not realy necessary as we only return first 3 anyway\n }\n return [\n possibleCenters[0],\n possibleCenters[1],\n possibleCenters[2]\n ];\n }\n }\n FinderPatternFinder.CENTER_QUORUM = 2;\n FinderPatternFinder.MIN_SKIP = 3; // 1 pixel/module times 3 modules/center\n FinderPatternFinder.MAX_MODULES = 57; // support up to version 10 for mobile clients\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.util.Map;*/\n /**\n *

Encapsulates logic that can detect a QR Code in an image, even if the QR Code\n * is rotated or skewed, or partially obscured.

\n *\n * @author Sean Owen\n */\n class Detector$2 {\n constructor(image) {\n this.image = image;\n }\n getImage() {\n return this.image;\n }\n getResultPointCallback() {\n return this.resultPointCallback;\n }\n /**\n *

Detects a QR Code in an image.

\n *\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n // public detect(): DetectorResult /*throws NotFoundException, FormatException*/ {\n // return detect(null)\n // }\n /**\n *

Detects a QR Code in an image.

\n *\n * @param hints optional hints to detector\n * @return {@link DetectorResult} encapsulating results of detecting a QR Code\n * @throws NotFoundException if QR Code cannot be found\n * @throws FormatException if a QR Code cannot be decoded\n */\n detect(hints) {\n this.resultPointCallback = (hints === null || hints === undefined) ? null :\n /*(ResultPointCallback) */ hints.get(DecodeHintType$1.NEED_RESULT_POINT_CALLBACK);\n const finder = new FinderPatternFinder(this.image, this.resultPointCallback);\n const info = finder.find(hints);\n return this.processFinderPatternInfo(info);\n }\n processFinderPatternInfo(info) {\n const topLeft = info.getTopLeft();\n const topRight = info.getTopRight();\n const bottomLeft = info.getBottomLeft();\n const moduleSize = this.calculateModuleSize(topLeft, topRight, bottomLeft);\n if (moduleSize < 1.0) {\n throw new NotFoundException('No pattern found in proccess finder.');\n }\n const dimension = Detector$2.computeDimension(topLeft, topRight, bottomLeft, moduleSize);\n const provisionalVersion = Version$1.getProvisionalVersionForDimension(dimension);\n const modulesBetweenFPCenters = provisionalVersion.getDimensionForVersion() - 7;\n let alignmentPattern = null;\n // Anything above version 1 has an alignment pattern\n if (provisionalVersion.getAlignmentPatternCenters().length > 0) {\n // Guess where a \"bottom right\" finder pattern would have been\n const bottomRightX = topRight.getX() - topLeft.getX() + bottomLeft.getX();\n const bottomRightY = topRight.getY() - topLeft.getY() + bottomLeft.getY();\n // Estimate that alignment pattern is closer by 3 modules\n // from \"bottom right\" to known top left location\n const correctionToTopLeft = 1.0 - 3.0 / modulesBetweenFPCenters;\n const estAlignmentX = /*(int) */ Math.floor(topLeft.getX() + correctionToTopLeft * (bottomRightX - topLeft.getX()));\n const estAlignmentY = /*(int) */ Math.floor(topLeft.getY() + correctionToTopLeft * (bottomRightY - topLeft.getY()));\n // Kind of arbitrary -- expand search radius before giving up\n for (let i = 4; i <= 16; i <<= 1) {\n try {\n alignmentPattern = this.findAlignmentInRegion(moduleSize, estAlignmentX, estAlignmentY, i);\n break;\n }\n catch (re /*NotFoundException*/) {\n if (!(re instanceof NotFoundException)) {\n throw re;\n }\n // try next round\n }\n }\n // If we didn't find alignment pattern... well try anyway without it\n }\n const transform = Detector$2.createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension);\n const bits = Detector$2.sampleGrid(this.image, transform, dimension);\n let points;\n if (alignmentPattern === null) {\n points = [bottomLeft, topLeft, topRight];\n }\n else {\n points = [bottomLeft, topLeft, topRight, alignmentPattern];\n }\n return new DetectorResult(bits, points);\n }\n static createTransform(topLeft, topRight, bottomLeft, alignmentPattern, dimension /*int*/) {\n const dimMinusThree = dimension - 3.5;\n let bottomRightX; /*float*/\n let bottomRightY; /*float*/\n let sourceBottomRightX; /*float*/\n let sourceBottomRightY; /*float*/\n if (alignmentPattern !== null) {\n bottomRightX = alignmentPattern.getX();\n bottomRightY = alignmentPattern.getY();\n sourceBottomRightX = dimMinusThree - 3.0;\n sourceBottomRightY = sourceBottomRightX;\n }\n else {\n // Don't have an alignment pattern, just make up the bottom-right point\n bottomRightX = (topRight.getX() - topLeft.getX()) + bottomLeft.getX();\n bottomRightY = (topRight.getY() - topLeft.getY()) + bottomLeft.getY();\n sourceBottomRightX = dimMinusThree;\n sourceBottomRightY = dimMinusThree;\n }\n return PerspectiveTransform.quadrilateralToQuadrilateral(3.5, 3.5, dimMinusThree, 3.5, sourceBottomRightX, sourceBottomRightY, 3.5, dimMinusThree, topLeft.getX(), topLeft.getY(), topRight.getX(), topRight.getY(), bottomRightX, bottomRightY, bottomLeft.getX(), bottomLeft.getY());\n }\n static sampleGrid(image, transform, dimension /*int*/) {\n const sampler = GridSamplerInstance.getInstance();\n return sampler.sampleGridWithTransform(image, dimension, dimension, transform);\n }\n /**\n *

Computes the dimension (number of modules on a size) of the QR Code based on the position\n * of the finder patterns and estimated module size.

\n */\n static computeDimension(topLeft, topRight, bottomLeft, moduleSize /*float*/) {\n const tltrCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, topRight) / moduleSize);\n const tlblCentersDimension = MathUtils.round(ResultPoint.distance(topLeft, bottomLeft) / moduleSize);\n let dimension = Math.floor((tltrCentersDimension + tlblCentersDimension) / 2) + 7;\n switch (dimension & 0x03) { // mod 4\n case 0:\n dimension++;\n break;\n // 1? do nothing\n case 2:\n dimension--;\n break;\n case 3:\n throw new NotFoundException('Dimensions could be not found.');\n }\n return dimension;\n }\n /**\n *

Computes an average estimated module size based on estimated derived from the positions\n * of the three finder patterns.

\n *\n * @param topLeft detected top-left finder pattern center\n * @param topRight detected top-right finder pattern center\n * @param bottomLeft detected bottom-left finder pattern center\n * @return estimated module size\n */\n calculateModuleSize(topLeft, topRight, bottomLeft) {\n // Take the average\n return (this.calculateModuleSizeOneWay(topLeft, topRight) +\n this.calculateModuleSizeOneWay(topLeft, bottomLeft)) / 2.0;\n }\n /**\n *

Estimates module size based on two finder patterns -- it uses\n * {@link #sizeOfBlackWhiteBlackRunBothWays(int, int, int, int)} to figure the\n * width of each, measuring along the axis between their centers.

\n */\n calculateModuleSizeOneWay(pattern, otherPattern) {\n const moduleSizeEst1 = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */ Math.floor(pattern.getX()), \n /*(int) */ Math.floor(pattern.getY()), \n /*(int) */ Math.floor(otherPattern.getX()), \n /*(int) */ Math.floor(otherPattern.getY()));\n const moduleSizeEst2 = this.sizeOfBlackWhiteBlackRunBothWays(/*(int) */ Math.floor(otherPattern.getX()), \n /*(int) */ Math.floor(otherPattern.getY()), \n /*(int) */ Math.floor(pattern.getX()), \n /*(int) */ Math.floor(pattern.getY()));\n if (isNaN(moduleSizeEst1)) {\n return moduleSizeEst2 / 7.0;\n }\n if (isNaN(moduleSizeEst2)) {\n return moduleSizeEst1 / 7.0;\n }\n // Average them, and divide by 7 since we've counted the width of 3 black modules,\n // and 1 white and 1 black module on either side. Ergo, divide sum by 14.\n return (moduleSizeEst1 + moduleSizeEst2) / 14.0;\n }\n /**\n * See {@link #sizeOfBlackWhiteBlackRun(int, int, int, int)}; computes the total width of\n * a finder pattern by looking for a black-white-black run from the center in the direction\n * of another point (another finder pattern center), and in the opposite direction too.\n */\n sizeOfBlackWhiteBlackRunBothWays(fromX /*int*/, fromY /*int*/, toX /*int*/, toY /*int*/) {\n let result = this.sizeOfBlackWhiteBlackRun(fromX, fromY, toX, toY);\n // Now count other way -- don't run off image though of course\n let scale = 1.0;\n let otherToX = fromX - (toX - fromX);\n if (otherToX < 0) {\n scale = fromX / /*(float) */ (fromX - otherToX);\n otherToX = 0;\n }\n else if (otherToX >= this.image.getWidth()) {\n scale = (this.image.getWidth() - 1 - fromX) / /*(float) */ (otherToX - fromX);\n otherToX = this.image.getWidth() - 1;\n }\n let otherToY = /*(int) */ Math.floor(fromY - (toY - fromY) * scale);\n scale = 1.0;\n if (otherToY < 0) {\n scale = fromY / /*(float) */ (fromY - otherToY);\n otherToY = 0;\n }\n else if (otherToY >= this.image.getHeight()) {\n scale = (this.image.getHeight() - 1 - fromY) / /*(float) */ (otherToY - fromY);\n otherToY = this.image.getHeight() - 1;\n }\n otherToX = /*(int) */ Math.floor(fromX + (otherToX - fromX) * scale);\n result += this.sizeOfBlackWhiteBlackRun(fromX, fromY, otherToX, otherToY);\n // Middle pixel is double-counted this way; subtract 1\n return result - 1.0;\n }\n /**\n *

This method traces a line from a point in the image, in the direction towards another point.\n * It begins in a black region, and keeps going until it finds white, then black, then white again.\n * It reports the distance from the start to this point.

\n *\n *

This is used when figuring out how wide a finder pattern is, when the finder pattern\n * may be skewed or rotated.

\n */\n sizeOfBlackWhiteBlackRun(fromX /*int*/, fromY /*int*/, toX /*int*/, toY /*int*/) {\n // Mild variant of Bresenham's algorithm\n // see http://en.wikipedia.org/wiki/Bresenham's_line_algorithm\n const steep = Math.abs(toY - fromY) > Math.abs(toX - fromX);\n if (steep) {\n let temp = fromX;\n fromX = fromY;\n fromY = temp;\n temp = toX;\n toX = toY;\n toY = temp;\n }\n const dx = Math.abs(toX - fromX);\n const dy = Math.abs(toY - fromY);\n let error = -dx / 2;\n const xstep = fromX < toX ? 1 : -1;\n const ystep = fromY < toY ? 1 : -1;\n // In black pixels, looking for white, first or second time.\n let state = 0;\n // Loop up until x == toX, but not beyond\n const xLimit = toX + xstep;\n for (let x = fromX, y = fromY; x !== xLimit; x += xstep) {\n const realX = steep ? y : x;\n const realY = steep ? x : y;\n // Does current pixel mean we have moved white to black or vice versa?\n // Scanning black in state 0,2 and white in state 1, so if we find the wrong\n // color, advance to next state or end if we are in state 2 already\n if ((state === 1) === this.image.get(realX, realY)) {\n if (state === 2) {\n return MathUtils.distance(x, y, fromX, fromY);\n }\n state++;\n }\n error += dy;\n if (error > 0) {\n if (y === toY) {\n break;\n }\n y += ystep;\n error -= dx;\n }\n }\n // Found black-white-black; give the benefit of the doubt that the next pixel outside the image\n // is \"white\" so this last point at (toX+xStep,toY) is the right ending. This is really a\n // small approximation; (toX+xStep,toY+yStep) might be really correct. Ignore this.\n if (state === 2) {\n return MathUtils.distance(toX + xstep, toY, fromX, fromY);\n }\n // else we didn't find even black-white-black; no estimate is really possible\n return NaN;\n }\n /**\n *

Attempts to locate an alignment pattern in a limited region of the image, which is\n * guessed to contain it. This method uses {@link AlignmentPattern}.

\n *\n * @param overallEstModuleSize estimated module size so far\n * @param estAlignmentX x coordinate of center of area probably containing alignment pattern\n * @param estAlignmentY y coordinate of above\n * @param allowanceFactor number of pixels in all directions to search from the center\n * @return {@link AlignmentPattern} if found, or null otherwise\n * @throws NotFoundException if an unexpected error occurs during detection\n */\n findAlignmentInRegion(overallEstModuleSize /*float*/, estAlignmentX /*int*/, estAlignmentY /*int*/, allowanceFactor /*float*/) {\n // Look for an alignment pattern (3 modules in size) around where it\n // should be\n const allowance = /*(int) */ Math.floor(allowanceFactor * overallEstModuleSize);\n const alignmentAreaLeftX = Math.max(0, estAlignmentX - allowance);\n const alignmentAreaRightX = Math.min(this.image.getWidth() - 1, estAlignmentX + allowance);\n if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment top exceeds estimated module size.');\n }\n const alignmentAreaTopY = Math.max(0, estAlignmentY - allowance);\n const alignmentAreaBottomY = Math.min(this.image.getHeight() - 1, estAlignmentY + allowance);\n if (alignmentAreaBottomY - alignmentAreaTopY < overallEstModuleSize * 3) {\n throw new NotFoundException('Alignment bottom exceeds estimated module size.');\n }\n const alignmentFinder = new AlignmentPatternFinder(this.image, alignmentAreaLeftX, alignmentAreaTopY, alignmentAreaRightX - alignmentAreaLeftX, alignmentAreaBottomY - alignmentAreaTopY, overallEstModuleSize, this.resultPointCallback);\n return alignmentFinder.find();\n }\n }\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.util.List;*/\n /*import java.util.Map;*/\n /**\n * This implementation can detect and decode QR Codes in an image.\n *\n * @author Sean Owen\n */\n class QRCodeReader {\n constructor() {\n this.decoder = new Decoder$2();\n }\n getDecoder() {\n return this.decoder;\n }\n /**\n * Locates and decodes a QR code in an image.\n *\n * @return a representing: string the content encoded by the QR code\n * @throws NotFoundException if a QR code cannot be found\n * @throws FormatException if a QR code cannot be decoded\n * @throws ChecksumException if error correction fails\n */\n /*@Override*/\n // public decode(image: BinaryBitmap): Result /*throws NotFoundException, ChecksumException, FormatException */ {\n // return this.decode(image, null)\n // }\n /*@Override*/\n decode(image, hints) {\n let decoderResult;\n let points;\n if (hints !== undefined && hints !== null && undefined !== hints.get(DecodeHintType$1.PURE_BARCODE)) {\n const bits = QRCodeReader.extractPureBits(image.getBlackMatrix());\n decoderResult = this.decoder.decodeBitMatrix(bits, hints);\n points = QRCodeReader.NO_POINTS;\n }\n else {\n const detectorResult = new Detector$2(image.getBlackMatrix()).detect(hints);\n decoderResult = this.decoder.decodeBitMatrix(detectorResult.getBits(), hints);\n points = detectorResult.getPoints();\n }\n // If the code was mirrored: swap the bottom-left and the top-right points.\n if (decoderResult.getOther() instanceof QRCodeDecoderMetaData) {\n decoderResult.getOther().applyMirroredCorrection(points);\n }\n const result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), undefined, points, BarcodeFormat$1.QR_CODE, undefined);\n const byteSegments = decoderResult.getByteSegments();\n if (byteSegments !== null) {\n result.putMetadata(ResultMetadataType$1.BYTE_SEGMENTS, byteSegments);\n }\n const ecLevel = decoderResult.getECLevel();\n if (ecLevel !== null) {\n result.putMetadata(ResultMetadataType$1.ERROR_CORRECTION_LEVEL, ecLevel);\n }\n if (decoderResult.hasStructuredAppend()) {\n result.putMetadata(ResultMetadataType$1.STRUCTURED_APPEND_SEQUENCE, decoderResult.getStructuredAppendSequenceNumber());\n result.putMetadata(ResultMetadataType$1.STRUCTURED_APPEND_PARITY, decoderResult.getStructuredAppendParity());\n }\n return result;\n }\n /*@Override*/\n reset() {\n // do nothing\n }\n /**\n * This method detects a code in a \"pure\" image -- that is, pure monochrome image\n * which contains only an unrotated, unskewed, image of a code, with some white border\n * around it. This is a specialized method that works exceptionally fast in this special\n * case.\n *\n * @see com.google.zxing.datamatrix.DataMatrixReader#extractPureBits(BitMatrix)\n */\n static extractPureBits(image) {\n const leftTopBlack = image.getTopLeftOnBit();\n const rightBottomBlack = image.getBottomRightOnBit();\n if (leftTopBlack === null || rightBottomBlack === null) {\n throw new NotFoundException();\n }\n const moduleSize = this.moduleSize(leftTopBlack, image);\n let top = leftTopBlack[1];\n let bottom = rightBottomBlack[1];\n let left = leftTopBlack[0];\n let right = rightBottomBlack[0];\n // Sanity check!\n if (left >= right || top >= bottom) {\n throw new NotFoundException();\n }\n if (bottom - top !== right - left) {\n // Special case, where bottom-right module wasn't black so we found something else in the last row\n // Assume it's a square, so use height as the width\n right = left + (bottom - top);\n if (right >= image.getWidth()) {\n // Abort if that would not make sense -- off image\n throw new NotFoundException();\n }\n }\n const matrixWidth = Math.round((right - left + 1) / moduleSize);\n const matrixHeight = Math.round((bottom - top + 1) / moduleSize);\n if (matrixWidth <= 0 || matrixHeight <= 0) {\n throw new NotFoundException();\n }\n if (matrixHeight !== matrixWidth) {\n // Only possibly decode square regions\n throw new NotFoundException();\n }\n // Push in the \"border\" by half the module width so that we start\n // sampling in the middle of the module. Just in case the image is a\n // little off, this will help recover.\n const nudge = /*(int) */ Math.floor(moduleSize / 2.0);\n top += nudge;\n left += nudge;\n // But careful that this does not sample off the edge\n // \"right\" is the farthest-right valid pixel location -- right+1 is not necessarily\n // This is positive by how much the inner x loop below would be too large\n const nudgedTooFarRight = left + /*(int) */ Math.floor((matrixWidth - 1) * moduleSize) - right;\n if (nudgedTooFarRight > 0) {\n if (nudgedTooFarRight > nudge) {\n // Neither way fits; abort\n throw new NotFoundException();\n }\n left -= nudgedTooFarRight;\n }\n // See logic above\n const nudgedTooFarDown = top + /*(int) */ Math.floor((matrixHeight - 1) * moduleSize) - bottom;\n if (nudgedTooFarDown > 0) {\n if (nudgedTooFarDown > nudge) {\n // Neither way fits; abort\n throw new NotFoundException();\n }\n top -= nudgedTooFarDown;\n }\n // Now just read off the bits\n const bits = new BitMatrix(matrixWidth, matrixHeight);\n for (let y = 0; y < matrixHeight; y++) {\n const iOffset = top + /*(int) */ Math.floor(y * moduleSize);\n for (let x = 0; x < matrixWidth; x++) {\n if (image.get(left + /*(int) */ Math.floor(x * moduleSize), iOffset)) {\n bits.set(x, y);\n }\n }\n }\n return bits;\n }\n static moduleSize(leftTopBlack, image) {\n const height = image.getHeight();\n const width = image.getWidth();\n let x = leftTopBlack[0];\n let y = leftTopBlack[1];\n let inBlack = true;\n let transitions = 0;\n while (x < width && y < height) {\n if (inBlack !== image.get(x, y)) {\n if (++transitions === 5) {\n break;\n }\n inBlack = !inBlack;\n }\n x++;\n y++;\n }\n if (x === width || y === height) {\n throw new NotFoundException();\n }\n return (x - leftTopBlack[0]) / 7.0;\n }\n }\n QRCodeReader.NO_POINTS = new Array();\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\n /*public final*/ class PDF417Common {\n PDF417Common() {\n }\n /**\n * @param moduleBitCount values to sum\n * @return sum of values\n * @deprecated call {@link MathUtils#sum(int[])}\n */\n // @Deprecated\n static getBitCountSum(moduleBitCount) {\n return MathUtils.sum(moduleBitCount);\n }\n static toIntArray(list) {\n if (list == null || !list.length) {\n return PDF417Common.EMPTY_INT_ARRAY;\n }\n const result = new Int32Array(list.length);\n let i = 0;\n for (const integer of list) {\n result[i++] = integer;\n }\n return result;\n }\n /**\n * @param symbol encoded symbol to translate to a codeword\n * @return the codeword corresponding to the symbol.\n */\n static getCodeword(symbol /*int*/) {\n const i = Arrays.binarySearch(PDF417Common.SYMBOL_TABLE, symbol & 0x3FFFF);\n if (i < 0) {\n return -1;\n }\n return (PDF417Common.CODEWORD_TABLE[i] - 1) % PDF417Common.NUMBER_OF_CODEWORDS;\n }\n }\n PDF417Common.NUMBER_OF_CODEWORDS = 929;\n // Maximum Codewords (Data + Error).\n PDF417Common.MAX_CODEWORDS_IN_BARCODE = PDF417Common.NUMBER_OF_CODEWORDS - 1;\n PDF417Common.MIN_ROWS_IN_BARCODE = 3;\n PDF417Common.MAX_ROWS_IN_BARCODE = 90;\n // One left row indication column + max 30 data columns + one right row indicator column\n // public static /*final*/ MAX_CODEWORDS_IN_ROW: /*int*/ number = 32;\n PDF417Common.MODULES_IN_CODEWORD = 17;\n PDF417Common.MODULES_IN_STOP_PATTERN = 18;\n PDF417Common.BARS_IN_MODULE = 8;\n PDF417Common.EMPTY_INT_ARRAY = new Int32Array([]);\n /**\n * The sorted table of all possible symbols. Extracted from the PDF417\n * specification. The index of a symbol in this table corresponds to the\n * index into the codeword table.\n */\n PDF417Common.SYMBOL_TABLE = Int32Array.from([\n 0x1025e, 0x1027a, 0x1029e, 0x102bc, 0x102f2, 0x102f4, 0x1032e, 0x1034e, 0x1035c, 0x10396, 0x103a6, 0x103ac,\n 0x10422, 0x10428, 0x10436, 0x10442, 0x10444, 0x10448, 0x10450, 0x1045e, 0x10466, 0x1046c, 0x1047a, 0x10482,\n 0x1049e, 0x104a0, 0x104bc, 0x104c6, 0x104d8, 0x104ee, 0x104f2, 0x104f4, 0x10504, 0x10508, 0x10510, 0x1051e,\n 0x10520, 0x1053c, 0x10540, 0x10578, 0x10586, 0x1058c, 0x10598, 0x105b0, 0x105be, 0x105ce, 0x105dc, 0x105e2,\n 0x105e4, 0x105e8, 0x105f6, 0x1062e, 0x1064e, 0x1065c, 0x1068e, 0x1069c, 0x106b8, 0x106de, 0x106fa, 0x10716,\n 0x10726, 0x1072c, 0x10746, 0x1074c, 0x10758, 0x1076e, 0x10792, 0x10794, 0x107a2, 0x107a4, 0x107a8, 0x107b6,\n 0x10822, 0x10828, 0x10842, 0x10848, 0x10850, 0x1085e, 0x10866, 0x1086c, 0x1087a, 0x10882, 0x10884, 0x10890,\n 0x1089e, 0x108a0, 0x108bc, 0x108c6, 0x108cc, 0x108d8, 0x108ee, 0x108f2, 0x108f4, 0x10902, 0x10908, 0x1091e,\n 0x10920, 0x1093c, 0x10940, 0x10978, 0x10986, 0x10998, 0x109b0, 0x109be, 0x109ce, 0x109dc, 0x109e2, 0x109e4,\n 0x109e8, 0x109f6, 0x10a08, 0x10a10, 0x10a1e, 0x10a20, 0x10a3c, 0x10a40, 0x10a78, 0x10af0, 0x10b06, 0x10b0c,\n 0x10b18, 0x10b30, 0x10b3e, 0x10b60, 0x10b7c, 0x10b8e, 0x10b9c, 0x10bb8, 0x10bc2, 0x10bc4, 0x10bc8, 0x10bd0,\n 0x10bde, 0x10be6, 0x10bec, 0x10c2e, 0x10c4e, 0x10c5c, 0x10c62, 0x10c64, 0x10c68, 0x10c76, 0x10c8e, 0x10c9c,\n 0x10cb8, 0x10cc2, 0x10cc4, 0x10cc8, 0x10cd0, 0x10cde, 0x10ce6, 0x10cec, 0x10cfa, 0x10d0e, 0x10d1c, 0x10d38,\n 0x10d70, 0x10d7e, 0x10d82, 0x10d84, 0x10d88, 0x10d90, 0x10d9e, 0x10da0, 0x10dbc, 0x10dc6, 0x10dcc, 0x10dd8,\n 0x10dee, 0x10df2, 0x10df4, 0x10e16, 0x10e26, 0x10e2c, 0x10e46, 0x10e58, 0x10e6e, 0x10e86, 0x10e8c, 0x10e98,\n 0x10eb0, 0x10ebe, 0x10ece, 0x10edc, 0x10f0a, 0x10f12, 0x10f14, 0x10f22, 0x10f28, 0x10f36, 0x10f42, 0x10f44,\n 0x10f48, 0x10f50, 0x10f5e, 0x10f66, 0x10f6c, 0x10fb2, 0x10fb4, 0x11022, 0x11028, 0x11042, 0x11048, 0x11050,\n 0x1105e, 0x1107a, 0x11082, 0x11084, 0x11090, 0x1109e, 0x110a0, 0x110bc, 0x110c6, 0x110cc, 0x110d8, 0x110ee,\n 0x110f2, 0x110f4, 0x11102, 0x1111e, 0x11120, 0x1113c, 0x11140, 0x11178, 0x11186, 0x11198, 0x111b0, 0x111be,\n 0x111ce, 0x111dc, 0x111e2, 0x111e4, 0x111e8, 0x111f6, 0x11208, 0x1121e, 0x11220, 0x11278, 0x112f0, 0x1130c,\n 0x11330, 0x1133e, 0x11360, 0x1137c, 0x1138e, 0x1139c, 0x113b8, 0x113c2, 0x113c8, 0x113d0, 0x113de, 0x113e6,\n 0x113ec, 0x11408, 0x11410, 0x1141e, 0x11420, 0x1143c, 0x11440, 0x11478, 0x114f0, 0x115e0, 0x1160c, 0x11618,\n 0x11630, 0x1163e, 0x11660, 0x1167c, 0x116c0, 0x116f8, 0x1171c, 0x11738, 0x11770, 0x1177e, 0x11782, 0x11784,\n 0x11788, 0x11790, 0x1179e, 0x117a0, 0x117bc, 0x117c6, 0x117cc, 0x117d8, 0x117ee, 0x1182e, 0x11834, 0x1184e,\n 0x1185c, 0x11862, 0x11864, 0x11868, 0x11876, 0x1188e, 0x1189c, 0x118b8, 0x118c2, 0x118c8, 0x118d0, 0x118de,\n 0x118e6, 0x118ec, 0x118fa, 0x1190e, 0x1191c, 0x11938, 0x11970, 0x1197e, 0x11982, 0x11984, 0x11990, 0x1199e,\n 0x119a0, 0x119bc, 0x119c6, 0x119cc, 0x119d8, 0x119ee, 0x119f2, 0x119f4, 0x11a0e, 0x11a1c, 0x11a38, 0x11a70,\n 0x11a7e, 0x11ae0, 0x11afc, 0x11b08, 0x11b10, 0x11b1e, 0x11b20, 0x11b3c, 0x11b40, 0x11b78, 0x11b8c, 0x11b98,\n 0x11bb0, 0x11bbe, 0x11bce, 0x11bdc, 0x11be2, 0x11be4, 0x11be8, 0x11bf6, 0x11c16, 0x11c26, 0x11c2c, 0x11c46,\n 0x11c4c, 0x11c58, 0x11c6e, 0x11c86, 0x11c98, 0x11cb0, 0x11cbe, 0x11cce, 0x11cdc, 0x11ce2, 0x11ce4, 0x11ce8,\n 0x11cf6, 0x11d06, 0x11d0c, 0x11d18, 0x11d30, 0x11d3e, 0x11d60, 0x11d7c, 0x11d8e, 0x11d9c, 0x11db8, 0x11dc4,\n 0x11dc8, 0x11dd0, 0x11dde, 0x11de6, 0x11dec, 0x11dfa, 0x11e0a, 0x11e12, 0x11e14, 0x11e22, 0x11e24, 0x11e28,\n 0x11e36, 0x11e42, 0x11e44, 0x11e50, 0x11e5e, 0x11e66, 0x11e6c, 0x11e82, 0x11e84, 0x11e88, 0x11e90, 0x11e9e,\n 0x11ea0, 0x11ebc, 0x11ec6, 0x11ecc, 0x11ed8, 0x11eee, 0x11f1a, 0x11f2e, 0x11f32, 0x11f34, 0x11f4e, 0x11f5c,\n 0x11f62, 0x11f64, 0x11f68, 0x11f76, 0x12048, 0x1205e, 0x12082, 0x12084, 0x12090, 0x1209e, 0x120a0, 0x120bc,\n 0x120d8, 0x120f2, 0x120f4, 0x12108, 0x1211e, 0x12120, 0x1213c, 0x12140, 0x12178, 0x12186, 0x12198, 0x121b0,\n 0x121be, 0x121e2, 0x121e4, 0x121e8, 0x121f6, 0x12204, 0x12210, 0x1221e, 0x12220, 0x12278, 0x122f0, 0x12306,\n 0x1230c, 0x12330, 0x1233e, 0x12360, 0x1237c, 0x1238e, 0x1239c, 0x123b8, 0x123c2, 0x123c8, 0x123d0, 0x123e6,\n 0x123ec, 0x1241e, 0x12420, 0x1243c, 0x124f0, 0x125e0, 0x12618, 0x1263e, 0x12660, 0x1267c, 0x126c0, 0x126f8,\n 0x12738, 0x12770, 0x1277e, 0x12782, 0x12784, 0x12790, 0x1279e, 0x127a0, 0x127bc, 0x127c6, 0x127cc, 0x127d8,\n 0x127ee, 0x12820, 0x1283c, 0x12840, 0x12878, 0x128f0, 0x129e0, 0x12bc0, 0x12c18, 0x12c30, 0x12c3e, 0x12c60,\n 0x12c7c, 0x12cc0, 0x12cf8, 0x12df0, 0x12e1c, 0x12e38, 0x12e70, 0x12e7e, 0x12ee0, 0x12efc, 0x12f04, 0x12f08,\n 0x12f10, 0x12f20, 0x12f3c, 0x12f40, 0x12f78, 0x12f86, 0x12f8c, 0x12f98, 0x12fb0, 0x12fbe, 0x12fce, 0x12fdc,\n 0x1302e, 0x1304e, 0x1305c, 0x13062, 0x13068, 0x1308e, 0x1309c, 0x130b8, 0x130c2, 0x130c8, 0x130d0, 0x130de,\n 0x130ec, 0x130fa, 0x1310e, 0x13138, 0x13170, 0x1317e, 0x13182, 0x13184, 0x13190, 0x1319e, 0x131a0, 0x131bc,\n 0x131c6, 0x131cc, 0x131d8, 0x131f2, 0x131f4, 0x1320e, 0x1321c, 0x13270, 0x1327e, 0x132e0, 0x132fc, 0x13308,\n 0x1331e, 0x13320, 0x1333c, 0x13340, 0x13378, 0x13386, 0x13398, 0x133b0, 0x133be, 0x133ce, 0x133dc, 0x133e2,\n 0x133e4, 0x133e8, 0x133f6, 0x1340e, 0x1341c, 0x13438, 0x13470, 0x1347e, 0x134e0, 0x134fc, 0x135c0, 0x135f8,\n 0x13608, 0x13610, 0x1361e, 0x13620, 0x1363c, 0x13640, 0x13678, 0x136f0, 0x1370c, 0x13718, 0x13730, 0x1373e,\n 0x13760, 0x1377c, 0x1379c, 0x137b8, 0x137c2, 0x137c4, 0x137c8, 0x137d0, 0x137de, 0x137e6, 0x137ec, 0x13816,\n 0x13826, 0x1382c, 0x13846, 0x1384c, 0x13858, 0x1386e, 0x13874, 0x13886, 0x13898, 0x138b0, 0x138be, 0x138ce,\n 0x138dc, 0x138e2, 0x138e4, 0x138e8, 0x13906, 0x1390c, 0x13930, 0x1393e, 0x13960, 0x1397c, 0x1398e, 0x1399c,\n 0x139b8, 0x139c8, 0x139d0, 0x139de, 0x139e6, 0x139ec, 0x139fa, 0x13a06, 0x13a0c, 0x13a18, 0x13a30, 0x13a3e,\n 0x13a60, 0x13a7c, 0x13ac0, 0x13af8, 0x13b0e, 0x13b1c, 0x13b38, 0x13b70, 0x13b7e, 0x13b88, 0x13b90, 0x13b9e,\n 0x13ba0, 0x13bbc, 0x13bcc, 0x13bd8, 0x13bee, 0x13bf2, 0x13bf4, 0x13c12, 0x13c14, 0x13c22, 0x13c24, 0x13c28,\n 0x13c36, 0x13c42, 0x13c48, 0x13c50, 0x13c5e, 0x13c66, 0x13c6c, 0x13c82, 0x13c84, 0x13c90, 0x13c9e, 0x13ca0,\n 0x13cbc, 0x13cc6, 0x13ccc, 0x13cd8, 0x13cee, 0x13d02, 0x13d04, 0x13d08, 0x13d10, 0x13d1e, 0x13d20, 0x13d3c,\n 0x13d40, 0x13d78, 0x13d86, 0x13d8c, 0x13d98, 0x13db0, 0x13dbe, 0x13dce, 0x13ddc, 0x13de4, 0x13de8, 0x13df6,\n 0x13e1a, 0x13e2e, 0x13e32, 0x13e34, 0x13e4e, 0x13e5c, 0x13e62, 0x13e64, 0x13e68, 0x13e76, 0x13e8e, 0x13e9c,\n 0x13eb8, 0x13ec2, 0x13ec4, 0x13ec8, 0x13ed0, 0x13ede, 0x13ee6, 0x13eec, 0x13f26, 0x13f2c, 0x13f3a, 0x13f46,\n 0x13f4c, 0x13f58, 0x13f6e, 0x13f72, 0x13f74, 0x14082, 0x1409e, 0x140a0, 0x140bc, 0x14104, 0x14108, 0x14110,\n 0x1411e, 0x14120, 0x1413c, 0x14140, 0x14178, 0x1418c, 0x14198, 0x141b0, 0x141be, 0x141e2, 0x141e4, 0x141e8,\n 0x14208, 0x14210, 0x1421e, 0x14220, 0x1423c, 0x14240, 0x14278, 0x142f0, 0x14306, 0x1430c, 0x14318, 0x14330,\n 0x1433e, 0x14360, 0x1437c, 0x1438e, 0x143c2, 0x143c4, 0x143c8, 0x143d0, 0x143e6, 0x143ec, 0x14408, 0x14410,\n 0x1441e, 0x14420, 0x1443c, 0x14440, 0x14478, 0x144f0, 0x145e0, 0x1460c, 0x14618, 0x14630, 0x1463e, 0x14660,\n 0x1467c, 0x146c0, 0x146f8, 0x1471c, 0x14738, 0x14770, 0x1477e, 0x14782, 0x14784, 0x14788, 0x14790, 0x147a0,\n 0x147bc, 0x147c6, 0x147cc, 0x147d8, 0x147ee, 0x14810, 0x14820, 0x1483c, 0x14840, 0x14878, 0x148f0, 0x149e0,\n 0x14bc0, 0x14c30, 0x14c3e, 0x14c60, 0x14c7c, 0x14cc0, 0x14cf8, 0x14df0, 0x14e38, 0x14e70, 0x14e7e, 0x14ee0,\n 0x14efc, 0x14f04, 0x14f08, 0x14f10, 0x14f1e, 0x14f20, 0x14f3c, 0x14f40, 0x14f78, 0x14f86, 0x14f8c, 0x14f98,\n 0x14fb0, 0x14fce, 0x14fdc, 0x15020, 0x15040, 0x15078, 0x150f0, 0x151e0, 0x153c0, 0x15860, 0x1587c, 0x158c0,\n 0x158f8, 0x159f0, 0x15be0, 0x15c70, 0x15c7e, 0x15ce0, 0x15cfc, 0x15dc0, 0x15df8, 0x15e08, 0x15e10, 0x15e20,\n 0x15e40, 0x15e78, 0x15ef0, 0x15f0c, 0x15f18, 0x15f30, 0x15f60, 0x15f7c, 0x15f8e, 0x15f9c, 0x15fb8, 0x1604e,\n 0x1605c, 0x1608e, 0x1609c, 0x160b8, 0x160c2, 0x160c4, 0x160c8, 0x160de, 0x1610e, 0x1611c, 0x16138, 0x16170,\n 0x1617e, 0x16184, 0x16188, 0x16190, 0x1619e, 0x161a0, 0x161bc, 0x161c6, 0x161cc, 0x161d8, 0x161f2, 0x161f4,\n 0x1620e, 0x1621c, 0x16238, 0x16270, 0x1627e, 0x162e0, 0x162fc, 0x16304, 0x16308, 0x16310, 0x1631e, 0x16320,\n 0x1633c, 0x16340, 0x16378, 0x16386, 0x1638c, 0x16398, 0x163b0, 0x163be, 0x163ce, 0x163dc, 0x163e2, 0x163e4,\n 0x163e8, 0x163f6, 0x1640e, 0x1641c, 0x16438, 0x16470, 0x1647e, 0x164e0, 0x164fc, 0x165c0, 0x165f8, 0x16610,\n 0x1661e, 0x16620, 0x1663c, 0x16640, 0x16678, 0x166f0, 0x16718, 0x16730, 0x1673e, 0x16760, 0x1677c, 0x1678e,\n 0x1679c, 0x167b8, 0x167c2, 0x167c4, 0x167c8, 0x167d0, 0x167de, 0x167e6, 0x167ec, 0x1681c, 0x16838, 0x16870,\n 0x168e0, 0x168fc, 0x169c0, 0x169f8, 0x16bf0, 0x16c10, 0x16c1e, 0x16c20, 0x16c3c, 0x16c40, 0x16c78, 0x16cf0,\n 0x16de0, 0x16e18, 0x16e30, 0x16e3e, 0x16e60, 0x16e7c, 0x16ec0, 0x16ef8, 0x16f1c, 0x16f38, 0x16f70, 0x16f7e,\n 0x16f84, 0x16f88, 0x16f90, 0x16f9e, 0x16fa0, 0x16fbc, 0x16fc6, 0x16fcc, 0x16fd8, 0x17026, 0x1702c, 0x17046,\n 0x1704c, 0x17058, 0x1706e, 0x17086, 0x1708c, 0x17098, 0x170b0, 0x170be, 0x170ce, 0x170dc, 0x170e8, 0x17106,\n 0x1710c, 0x17118, 0x17130, 0x1713e, 0x17160, 0x1717c, 0x1718e, 0x1719c, 0x171b8, 0x171c2, 0x171c4, 0x171c8,\n 0x171d0, 0x171de, 0x171e6, 0x171ec, 0x171fa, 0x17206, 0x1720c, 0x17218, 0x17230, 0x1723e, 0x17260, 0x1727c,\n 0x172c0, 0x172f8, 0x1730e, 0x1731c, 0x17338, 0x17370, 0x1737e, 0x17388, 0x17390, 0x1739e, 0x173a0, 0x173bc,\n 0x173cc, 0x173d8, 0x173ee, 0x173f2, 0x173f4, 0x1740c, 0x17418, 0x17430, 0x1743e, 0x17460, 0x1747c, 0x174c0,\n 0x174f8, 0x175f0, 0x1760e, 0x1761c, 0x17638, 0x17670, 0x1767e, 0x176e0, 0x176fc, 0x17708, 0x17710, 0x1771e,\n 0x17720, 0x1773c, 0x17740, 0x17778, 0x17798, 0x177b0, 0x177be, 0x177dc, 0x177e2, 0x177e4, 0x177e8, 0x17822,\n 0x17824, 0x17828, 0x17836, 0x17842, 0x17844, 0x17848, 0x17850, 0x1785e, 0x17866, 0x1786c, 0x17882, 0x17884,\n 0x17888, 0x17890, 0x1789e, 0x178a0, 0x178bc, 0x178c6, 0x178cc, 0x178d8, 0x178ee, 0x178f2, 0x178f4, 0x17902,\n 0x17904, 0x17908, 0x17910, 0x1791e, 0x17920, 0x1793c, 0x17940, 0x17978, 0x17986, 0x1798c, 0x17998, 0x179b0,\n 0x179be, 0x179ce, 0x179dc, 0x179e2, 0x179e4, 0x179e8, 0x179f6, 0x17a04, 0x17a08, 0x17a10, 0x17a1e, 0x17a20,\n 0x17a3c, 0x17a40, 0x17a78, 0x17af0, 0x17b06, 0x17b0c, 0x17b18, 0x17b30, 0x17b3e, 0x17b60, 0x17b7c, 0x17b8e,\n 0x17b9c, 0x17bb8, 0x17bc4, 0x17bc8, 0x17bd0, 0x17bde, 0x17be6, 0x17bec, 0x17c2e, 0x17c32, 0x17c34, 0x17c4e,\n 0x17c5c, 0x17c62, 0x17c64, 0x17c68, 0x17c76, 0x17c8e, 0x17c9c, 0x17cb8, 0x17cc2, 0x17cc4, 0x17cc8, 0x17cd0,\n 0x17cde, 0x17ce6, 0x17cec, 0x17d0e, 0x17d1c, 0x17d38, 0x17d70, 0x17d82, 0x17d84, 0x17d88, 0x17d90, 0x17d9e,\n 0x17da0, 0x17dbc, 0x17dc6, 0x17dcc, 0x17dd8, 0x17dee, 0x17e26, 0x17e2c, 0x17e3a, 0x17e46, 0x17e4c, 0x17e58,\n 0x17e6e, 0x17e72, 0x17e74, 0x17e86, 0x17e8c, 0x17e98, 0x17eb0, 0x17ece, 0x17edc, 0x17ee2, 0x17ee4, 0x17ee8,\n 0x17ef6, 0x1813a, 0x18172, 0x18174, 0x18216, 0x18226, 0x1823a, 0x1824c, 0x18258, 0x1826e, 0x18272, 0x18274,\n 0x18298, 0x182be, 0x182e2, 0x182e4, 0x182e8, 0x182f6, 0x1835e, 0x1837a, 0x183ae, 0x183d6, 0x18416, 0x18426,\n 0x1842c, 0x1843a, 0x18446, 0x18458, 0x1846e, 0x18472, 0x18474, 0x18486, 0x184b0, 0x184be, 0x184ce, 0x184dc,\n 0x184e2, 0x184e4, 0x184e8, 0x184f6, 0x18506, 0x1850c, 0x18518, 0x18530, 0x1853e, 0x18560, 0x1857c, 0x1858e,\n 0x1859c, 0x185b8, 0x185c2, 0x185c4, 0x185c8, 0x185d0, 0x185de, 0x185e6, 0x185ec, 0x185fa, 0x18612, 0x18614,\n 0x18622, 0x18628, 0x18636, 0x18642, 0x18650, 0x1865e, 0x1867a, 0x18682, 0x18684, 0x18688, 0x18690, 0x1869e,\n 0x186a0, 0x186bc, 0x186c6, 0x186cc, 0x186d8, 0x186ee, 0x186f2, 0x186f4, 0x1872e, 0x1874e, 0x1875c, 0x18796,\n 0x187a6, 0x187ac, 0x187d2, 0x187d4, 0x18826, 0x1882c, 0x1883a, 0x18846, 0x1884c, 0x18858, 0x1886e, 0x18872,\n 0x18874, 0x18886, 0x18898, 0x188b0, 0x188be, 0x188ce, 0x188dc, 0x188e2, 0x188e4, 0x188e8, 0x188f6, 0x1890c,\n 0x18930, 0x1893e, 0x18960, 0x1897c, 0x1898e, 0x189b8, 0x189c2, 0x189c8, 0x189d0, 0x189de, 0x189e6, 0x189ec,\n 0x189fa, 0x18a18, 0x18a30, 0x18a3e, 0x18a60, 0x18a7c, 0x18ac0, 0x18af8, 0x18b1c, 0x18b38, 0x18b70, 0x18b7e,\n 0x18b82, 0x18b84, 0x18b88, 0x18b90, 0x18b9e, 0x18ba0, 0x18bbc, 0x18bc6, 0x18bcc, 0x18bd8, 0x18bee, 0x18bf2,\n 0x18bf4, 0x18c22, 0x18c24, 0x18c28, 0x18c36, 0x18c42, 0x18c48, 0x18c50, 0x18c5e, 0x18c66, 0x18c7a, 0x18c82,\n 0x18c84, 0x18c90, 0x18c9e, 0x18ca0, 0x18cbc, 0x18ccc, 0x18cf2, 0x18cf4, 0x18d04, 0x18d08, 0x18d10, 0x18d1e,\n 0x18d20, 0x18d3c, 0x18d40, 0x18d78, 0x18d86, 0x18d98, 0x18dce, 0x18de2, 0x18de4, 0x18de8, 0x18e2e, 0x18e32,\n 0x18e34, 0x18e4e, 0x18e5c, 0x18e62, 0x18e64, 0x18e68, 0x18e8e, 0x18e9c, 0x18eb8, 0x18ec2, 0x18ec4, 0x18ec8,\n 0x18ed0, 0x18efa, 0x18f16, 0x18f26, 0x18f2c, 0x18f46, 0x18f4c, 0x18f58, 0x18f6e, 0x18f8a, 0x18f92, 0x18f94,\n 0x18fa2, 0x18fa4, 0x18fa8, 0x18fb6, 0x1902c, 0x1903a, 0x19046, 0x1904c, 0x19058, 0x19072, 0x19074, 0x19086,\n 0x19098, 0x190b0, 0x190be, 0x190ce, 0x190dc, 0x190e2, 0x190e8, 0x190f6, 0x19106, 0x1910c, 0x19130, 0x1913e,\n 0x19160, 0x1917c, 0x1918e, 0x1919c, 0x191b8, 0x191c2, 0x191c8, 0x191d0, 0x191de, 0x191e6, 0x191ec, 0x191fa,\n 0x19218, 0x1923e, 0x19260, 0x1927c, 0x192c0, 0x192f8, 0x19338, 0x19370, 0x1937e, 0x19382, 0x19384, 0x19390,\n 0x1939e, 0x193a0, 0x193bc, 0x193c6, 0x193cc, 0x193d8, 0x193ee, 0x193f2, 0x193f4, 0x19430, 0x1943e, 0x19460,\n 0x1947c, 0x194c0, 0x194f8, 0x195f0, 0x19638, 0x19670, 0x1967e, 0x196e0, 0x196fc, 0x19702, 0x19704, 0x19708,\n 0x19710, 0x19720, 0x1973c, 0x19740, 0x19778, 0x19786, 0x1978c, 0x19798, 0x197b0, 0x197be, 0x197ce, 0x197dc,\n 0x197e2, 0x197e4, 0x197e8, 0x19822, 0x19824, 0x19842, 0x19848, 0x19850, 0x1985e, 0x19866, 0x1987a, 0x19882,\n 0x19884, 0x19890, 0x1989e, 0x198a0, 0x198bc, 0x198cc, 0x198f2, 0x198f4, 0x19902, 0x19908, 0x1991e, 0x19920,\n 0x1993c, 0x19940, 0x19978, 0x19986, 0x19998, 0x199ce, 0x199e2, 0x199e4, 0x199e8, 0x19a08, 0x19a10, 0x19a1e,\n 0x19a20, 0x19a3c, 0x19a40, 0x19a78, 0x19af0, 0x19b18, 0x19b3e, 0x19b60, 0x19b9c, 0x19bc2, 0x19bc4, 0x19bc8,\n 0x19bd0, 0x19be6, 0x19c2e, 0x19c34, 0x19c4e, 0x19c5c, 0x19c62, 0x19c64, 0x19c68, 0x19c8e, 0x19c9c, 0x19cb8,\n 0x19cc2, 0x19cc8, 0x19cd0, 0x19ce6, 0x19cfa, 0x19d0e, 0x19d1c, 0x19d38, 0x19d70, 0x19d7e, 0x19d82, 0x19d84,\n 0x19d88, 0x19d90, 0x19da0, 0x19dcc, 0x19df2, 0x19df4, 0x19e16, 0x19e26, 0x19e2c, 0x19e46, 0x19e4c, 0x19e58,\n 0x19e74, 0x19e86, 0x19e8c, 0x19e98, 0x19eb0, 0x19ebe, 0x19ece, 0x19ee2, 0x19ee4, 0x19ee8, 0x19f0a, 0x19f12,\n 0x19f14, 0x19f22, 0x19f24, 0x19f28, 0x19f42, 0x19f44, 0x19f48, 0x19f50, 0x19f5e, 0x19f6c, 0x19f9a, 0x19fae,\n 0x19fb2, 0x19fb4, 0x1a046, 0x1a04c, 0x1a072, 0x1a074, 0x1a086, 0x1a08c, 0x1a098, 0x1a0b0, 0x1a0be, 0x1a0e2,\n 0x1a0e4, 0x1a0e8, 0x1a0f6, 0x1a106, 0x1a10c, 0x1a118, 0x1a130, 0x1a13e, 0x1a160, 0x1a17c, 0x1a18e, 0x1a19c,\n 0x1a1b8, 0x1a1c2, 0x1a1c4, 0x1a1c8, 0x1a1d0, 0x1a1de, 0x1a1e6, 0x1a1ec, 0x1a218, 0x1a230, 0x1a23e, 0x1a260,\n 0x1a27c, 0x1a2c0, 0x1a2f8, 0x1a31c, 0x1a338, 0x1a370, 0x1a37e, 0x1a382, 0x1a384, 0x1a388, 0x1a390, 0x1a39e,\n 0x1a3a0, 0x1a3bc, 0x1a3c6, 0x1a3cc, 0x1a3d8, 0x1a3ee, 0x1a3f2, 0x1a3f4, 0x1a418, 0x1a430, 0x1a43e, 0x1a460,\n 0x1a47c, 0x1a4c0, 0x1a4f8, 0x1a5f0, 0x1a61c, 0x1a638, 0x1a670, 0x1a67e, 0x1a6e0, 0x1a6fc, 0x1a702, 0x1a704,\n 0x1a708, 0x1a710, 0x1a71e, 0x1a720, 0x1a73c, 0x1a740, 0x1a778, 0x1a786, 0x1a78c, 0x1a798, 0x1a7b0, 0x1a7be,\n 0x1a7ce, 0x1a7dc, 0x1a7e2, 0x1a7e4, 0x1a7e8, 0x1a830, 0x1a860, 0x1a87c, 0x1a8c0, 0x1a8f8, 0x1a9f0, 0x1abe0,\n 0x1ac70, 0x1ac7e, 0x1ace0, 0x1acfc, 0x1adc0, 0x1adf8, 0x1ae04, 0x1ae08, 0x1ae10, 0x1ae20, 0x1ae3c, 0x1ae40,\n 0x1ae78, 0x1aef0, 0x1af06, 0x1af0c, 0x1af18, 0x1af30, 0x1af3e, 0x1af60, 0x1af7c, 0x1af8e, 0x1af9c, 0x1afb8,\n 0x1afc4, 0x1afc8, 0x1afd0, 0x1afde, 0x1b042, 0x1b05e, 0x1b07a, 0x1b082, 0x1b084, 0x1b088, 0x1b090, 0x1b09e,\n 0x1b0a0, 0x1b0bc, 0x1b0cc, 0x1b0f2, 0x1b0f4, 0x1b102, 0x1b104, 0x1b108, 0x1b110, 0x1b11e, 0x1b120, 0x1b13c,\n 0x1b140, 0x1b178, 0x1b186, 0x1b198, 0x1b1ce, 0x1b1e2, 0x1b1e4, 0x1b1e8, 0x1b204, 0x1b208, 0x1b210, 0x1b21e,\n 0x1b220, 0x1b23c, 0x1b240, 0x1b278, 0x1b2f0, 0x1b30c, 0x1b33e, 0x1b360, 0x1b39c, 0x1b3c2, 0x1b3c4, 0x1b3c8,\n 0x1b3d0, 0x1b3e6, 0x1b410, 0x1b41e, 0x1b420, 0x1b43c, 0x1b440, 0x1b478, 0x1b4f0, 0x1b5e0, 0x1b618, 0x1b660,\n 0x1b67c, 0x1b6c0, 0x1b738, 0x1b782, 0x1b784, 0x1b788, 0x1b790, 0x1b79e, 0x1b7a0, 0x1b7cc, 0x1b82e, 0x1b84e,\n 0x1b85c, 0x1b88e, 0x1b89c, 0x1b8b8, 0x1b8c2, 0x1b8c4, 0x1b8c8, 0x1b8d0, 0x1b8e6, 0x1b8fa, 0x1b90e, 0x1b91c,\n 0x1b938, 0x1b970, 0x1b97e, 0x1b982, 0x1b984, 0x1b988, 0x1b990, 0x1b99e, 0x1b9a0, 0x1b9cc, 0x1b9f2, 0x1b9f4,\n 0x1ba0e, 0x1ba1c, 0x1ba38, 0x1ba70, 0x1ba7e, 0x1bae0, 0x1bafc, 0x1bb08, 0x1bb10, 0x1bb20, 0x1bb3c, 0x1bb40,\n 0x1bb98, 0x1bbce, 0x1bbe2, 0x1bbe4, 0x1bbe8, 0x1bc16, 0x1bc26, 0x1bc2c, 0x1bc46, 0x1bc4c, 0x1bc58, 0x1bc72,\n 0x1bc74, 0x1bc86, 0x1bc8c, 0x1bc98, 0x1bcb0, 0x1bcbe, 0x1bcce, 0x1bce2, 0x1bce4, 0x1bce8, 0x1bd06, 0x1bd0c,\n 0x1bd18, 0x1bd30, 0x1bd3e, 0x1bd60, 0x1bd7c, 0x1bd9c, 0x1bdc2, 0x1bdc4, 0x1bdc8, 0x1bdd0, 0x1bde6, 0x1bdfa,\n 0x1be12, 0x1be14, 0x1be22, 0x1be24, 0x1be28, 0x1be42, 0x1be44, 0x1be48, 0x1be50, 0x1be5e, 0x1be66, 0x1be82,\n 0x1be84, 0x1be88, 0x1be90, 0x1be9e, 0x1bea0, 0x1bebc, 0x1becc, 0x1bef4, 0x1bf1a, 0x1bf2e, 0x1bf32, 0x1bf34,\n 0x1bf4e, 0x1bf5c, 0x1bf62, 0x1bf64, 0x1bf68, 0x1c09a, 0x1c0b2, 0x1c0b4, 0x1c11a, 0x1c132, 0x1c134, 0x1c162,\n 0x1c164, 0x1c168, 0x1c176, 0x1c1ba, 0x1c21a, 0x1c232, 0x1c234, 0x1c24e, 0x1c25c, 0x1c262, 0x1c264, 0x1c268,\n 0x1c276, 0x1c28e, 0x1c2c2, 0x1c2c4, 0x1c2c8, 0x1c2d0, 0x1c2de, 0x1c2e6, 0x1c2ec, 0x1c2fa, 0x1c316, 0x1c326,\n 0x1c33a, 0x1c346, 0x1c34c, 0x1c372, 0x1c374, 0x1c41a, 0x1c42e, 0x1c432, 0x1c434, 0x1c44e, 0x1c45c, 0x1c462,\n 0x1c464, 0x1c468, 0x1c476, 0x1c48e, 0x1c49c, 0x1c4b8, 0x1c4c2, 0x1c4c8, 0x1c4d0, 0x1c4de, 0x1c4e6, 0x1c4ec,\n 0x1c4fa, 0x1c51c, 0x1c538, 0x1c570, 0x1c57e, 0x1c582, 0x1c584, 0x1c588, 0x1c590, 0x1c59e, 0x1c5a0, 0x1c5bc,\n 0x1c5c6, 0x1c5cc, 0x1c5d8, 0x1c5ee, 0x1c5f2, 0x1c5f4, 0x1c616, 0x1c626, 0x1c62c, 0x1c63a, 0x1c646, 0x1c64c,\n 0x1c658, 0x1c66e, 0x1c672, 0x1c674, 0x1c686, 0x1c68c, 0x1c698, 0x1c6b0, 0x1c6be, 0x1c6ce, 0x1c6dc, 0x1c6e2,\n 0x1c6e4, 0x1c6e8, 0x1c712, 0x1c714, 0x1c722, 0x1c728, 0x1c736, 0x1c742, 0x1c744, 0x1c748, 0x1c750, 0x1c75e,\n 0x1c766, 0x1c76c, 0x1c77a, 0x1c7ae, 0x1c7d6, 0x1c7ea, 0x1c81a, 0x1c82e, 0x1c832, 0x1c834, 0x1c84e, 0x1c85c,\n 0x1c862, 0x1c864, 0x1c868, 0x1c876, 0x1c88e, 0x1c89c, 0x1c8b8, 0x1c8c2, 0x1c8c8, 0x1c8d0, 0x1c8de, 0x1c8e6,\n 0x1c8ec, 0x1c8fa, 0x1c90e, 0x1c938, 0x1c970, 0x1c97e, 0x1c982, 0x1c984, 0x1c990, 0x1c99e, 0x1c9a0, 0x1c9bc,\n 0x1c9c6, 0x1c9cc, 0x1c9d8, 0x1c9ee, 0x1c9f2, 0x1c9f4, 0x1ca38, 0x1ca70, 0x1ca7e, 0x1cae0, 0x1cafc, 0x1cb02,\n 0x1cb04, 0x1cb08, 0x1cb10, 0x1cb20, 0x1cb3c, 0x1cb40, 0x1cb78, 0x1cb86, 0x1cb8c, 0x1cb98, 0x1cbb0, 0x1cbbe,\n 0x1cbce, 0x1cbdc, 0x1cbe2, 0x1cbe4, 0x1cbe8, 0x1cbf6, 0x1cc16, 0x1cc26, 0x1cc2c, 0x1cc3a, 0x1cc46, 0x1cc58,\n 0x1cc72, 0x1cc74, 0x1cc86, 0x1ccb0, 0x1ccbe, 0x1ccce, 0x1cce2, 0x1cce4, 0x1cce8, 0x1cd06, 0x1cd0c, 0x1cd18,\n 0x1cd30, 0x1cd3e, 0x1cd60, 0x1cd7c, 0x1cd9c, 0x1cdc2, 0x1cdc4, 0x1cdc8, 0x1cdd0, 0x1cdde, 0x1cde6, 0x1cdfa,\n 0x1ce22, 0x1ce28, 0x1ce42, 0x1ce50, 0x1ce5e, 0x1ce66, 0x1ce7a, 0x1ce82, 0x1ce84, 0x1ce88, 0x1ce90, 0x1ce9e,\n 0x1cea0, 0x1cebc, 0x1cecc, 0x1cef2, 0x1cef4, 0x1cf2e, 0x1cf32, 0x1cf34, 0x1cf4e, 0x1cf5c, 0x1cf62, 0x1cf64,\n 0x1cf68, 0x1cf96, 0x1cfa6, 0x1cfac, 0x1cfca, 0x1cfd2, 0x1cfd4, 0x1d02e, 0x1d032, 0x1d034, 0x1d04e, 0x1d05c,\n 0x1d062, 0x1d064, 0x1d068, 0x1d076, 0x1d08e, 0x1d09c, 0x1d0b8, 0x1d0c2, 0x1d0c4, 0x1d0c8, 0x1d0d0, 0x1d0de,\n 0x1d0e6, 0x1d0ec, 0x1d0fa, 0x1d11c, 0x1d138, 0x1d170, 0x1d17e, 0x1d182, 0x1d184, 0x1d188, 0x1d190, 0x1d19e,\n 0x1d1a0, 0x1d1bc, 0x1d1c6, 0x1d1cc, 0x1d1d8, 0x1d1ee, 0x1d1f2, 0x1d1f4, 0x1d21c, 0x1d238, 0x1d270, 0x1d27e,\n 0x1d2e0, 0x1d2fc, 0x1d302, 0x1d304, 0x1d308, 0x1d310, 0x1d31e, 0x1d320, 0x1d33c, 0x1d340, 0x1d378, 0x1d386,\n 0x1d38c, 0x1d398, 0x1d3b0, 0x1d3be, 0x1d3ce, 0x1d3dc, 0x1d3e2, 0x1d3e4, 0x1d3e8, 0x1d3f6, 0x1d470, 0x1d47e,\n 0x1d4e0, 0x1d4fc, 0x1d5c0, 0x1d5f8, 0x1d604, 0x1d608, 0x1d610, 0x1d620, 0x1d640, 0x1d678, 0x1d6f0, 0x1d706,\n 0x1d70c, 0x1d718, 0x1d730, 0x1d73e, 0x1d760, 0x1d77c, 0x1d78e, 0x1d79c, 0x1d7b8, 0x1d7c2, 0x1d7c4, 0x1d7c8,\n 0x1d7d0, 0x1d7de, 0x1d7e6, 0x1d7ec, 0x1d826, 0x1d82c, 0x1d83a, 0x1d846, 0x1d84c, 0x1d858, 0x1d872, 0x1d874,\n 0x1d886, 0x1d88c, 0x1d898, 0x1d8b0, 0x1d8be, 0x1d8ce, 0x1d8e2, 0x1d8e4, 0x1d8e8, 0x1d8f6, 0x1d90c, 0x1d918,\n 0x1d930, 0x1d93e, 0x1d960, 0x1d97c, 0x1d99c, 0x1d9c2, 0x1d9c4, 0x1d9c8, 0x1d9d0, 0x1d9e6, 0x1d9fa, 0x1da0c,\n 0x1da18, 0x1da30, 0x1da3e, 0x1da60, 0x1da7c, 0x1dac0, 0x1daf8, 0x1db38, 0x1db82, 0x1db84, 0x1db88, 0x1db90,\n 0x1db9e, 0x1dba0, 0x1dbcc, 0x1dbf2, 0x1dbf4, 0x1dc22, 0x1dc42, 0x1dc44, 0x1dc48, 0x1dc50, 0x1dc5e, 0x1dc66,\n 0x1dc7a, 0x1dc82, 0x1dc84, 0x1dc88, 0x1dc90, 0x1dc9e, 0x1dca0, 0x1dcbc, 0x1dccc, 0x1dcf2, 0x1dcf4, 0x1dd04,\n 0x1dd08, 0x1dd10, 0x1dd1e, 0x1dd20, 0x1dd3c, 0x1dd40, 0x1dd78, 0x1dd86, 0x1dd98, 0x1ddce, 0x1dde2, 0x1dde4,\n 0x1dde8, 0x1de2e, 0x1de32, 0x1de34, 0x1de4e, 0x1de5c, 0x1de62, 0x1de64, 0x1de68, 0x1de8e, 0x1de9c, 0x1deb8,\n 0x1dec2, 0x1dec4, 0x1dec8, 0x1ded0, 0x1dee6, 0x1defa, 0x1df16, 0x1df26, 0x1df2c, 0x1df46, 0x1df4c, 0x1df58,\n 0x1df72, 0x1df74, 0x1df8a, 0x1df92, 0x1df94, 0x1dfa2, 0x1dfa4, 0x1dfa8, 0x1e08a, 0x1e092, 0x1e094, 0x1e0a2,\n 0x1e0a4, 0x1e0a8, 0x1e0b6, 0x1e0da, 0x1e10a, 0x1e112, 0x1e114, 0x1e122, 0x1e124, 0x1e128, 0x1e136, 0x1e142,\n 0x1e144, 0x1e148, 0x1e150, 0x1e166, 0x1e16c, 0x1e17a, 0x1e19a, 0x1e1b2, 0x1e1b4, 0x1e20a, 0x1e212, 0x1e214,\n 0x1e222, 0x1e224, 0x1e228, 0x1e236, 0x1e242, 0x1e248, 0x1e250, 0x1e25e, 0x1e266, 0x1e26c, 0x1e27a, 0x1e282,\n 0x1e284, 0x1e288, 0x1e290, 0x1e2a0, 0x1e2bc, 0x1e2c6, 0x1e2cc, 0x1e2d8, 0x1e2ee, 0x1e2f2, 0x1e2f4, 0x1e31a,\n 0x1e332, 0x1e334, 0x1e35c, 0x1e362, 0x1e364, 0x1e368, 0x1e3ba, 0x1e40a, 0x1e412, 0x1e414, 0x1e422, 0x1e428,\n 0x1e436, 0x1e442, 0x1e448, 0x1e450, 0x1e45e, 0x1e466, 0x1e46c, 0x1e47a, 0x1e482, 0x1e484, 0x1e490, 0x1e49e,\n 0x1e4a0, 0x1e4bc, 0x1e4c6, 0x1e4cc, 0x1e4d8, 0x1e4ee, 0x1e4f2, 0x1e4f4, 0x1e502, 0x1e504, 0x1e508, 0x1e510,\n 0x1e51e, 0x1e520, 0x1e53c, 0x1e540, 0x1e578, 0x1e586, 0x1e58c, 0x1e598, 0x1e5b0, 0x1e5be, 0x1e5ce, 0x1e5dc,\n 0x1e5e2, 0x1e5e4, 0x1e5e8, 0x1e5f6, 0x1e61a, 0x1e62e, 0x1e632, 0x1e634, 0x1e64e, 0x1e65c, 0x1e662, 0x1e668,\n 0x1e68e, 0x1e69c, 0x1e6b8, 0x1e6c2, 0x1e6c4, 0x1e6c8, 0x1e6d0, 0x1e6e6, 0x1e6fa, 0x1e716, 0x1e726, 0x1e72c,\n 0x1e73a, 0x1e746, 0x1e74c, 0x1e758, 0x1e772, 0x1e774, 0x1e792, 0x1e794, 0x1e7a2, 0x1e7a4, 0x1e7a8, 0x1e7b6,\n 0x1e812, 0x1e814, 0x1e822, 0x1e824, 0x1e828, 0x1e836, 0x1e842, 0x1e844, 0x1e848, 0x1e850, 0x1e85e, 0x1e866,\n 0x1e86c, 0x1e87a, 0x1e882, 0x1e884, 0x1e888, 0x1e890, 0x1e89e, 0x1e8a0, 0x1e8bc, 0x1e8c6, 0x1e8cc, 0x1e8d8,\n 0x1e8ee, 0x1e8f2, 0x1e8f4, 0x1e902, 0x1e904, 0x1e908, 0x1e910, 0x1e920, 0x1e93c, 0x1e940, 0x1e978, 0x1e986,\n 0x1e98c, 0x1e998, 0x1e9b0, 0x1e9be, 0x1e9ce, 0x1e9dc, 0x1e9e2, 0x1e9e4, 0x1e9e8, 0x1e9f6, 0x1ea04, 0x1ea08,\n 0x1ea10, 0x1ea20, 0x1ea40, 0x1ea78, 0x1eaf0, 0x1eb06, 0x1eb0c, 0x1eb18, 0x1eb30, 0x1eb3e, 0x1eb60, 0x1eb7c,\n 0x1eb8e, 0x1eb9c, 0x1ebb8, 0x1ebc2, 0x1ebc4, 0x1ebc8, 0x1ebd0, 0x1ebde, 0x1ebe6, 0x1ebec, 0x1ec1a, 0x1ec2e,\n 0x1ec32, 0x1ec34, 0x1ec4e, 0x1ec5c, 0x1ec62, 0x1ec64, 0x1ec68, 0x1ec8e, 0x1ec9c, 0x1ecb8, 0x1ecc2, 0x1ecc4,\n 0x1ecc8, 0x1ecd0, 0x1ece6, 0x1ecfa, 0x1ed0e, 0x1ed1c, 0x1ed38, 0x1ed70, 0x1ed7e, 0x1ed82, 0x1ed84, 0x1ed88,\n 0x1ed90, 0x1ed9e, 0x1eda0, 0x1edcc, 0x1edf2, 0x1edf4, 0x1ee16, 0x1ee26, 0x1ee2c, 0x1ee3a, 0x1ee46, 0x1ee4c,\n 0x1ee58, 0x1ee6e, 0x1ee72, 0x1ee74, 0x1ee86, 0x1ee8c, 0x1ee98, 0x1eeb0, 0x1eebe, 0x1eece, 0x1eedc, 0x1eee2,\n 0x1eee4, 0x1eee8, 0x1ef12, 0x1ef22, 0x1ef24, 0x1ef28, 0x1ef36, 0x1ef42, 0x1ef44, 0x1ef48, 0x1ef50, 0x1ef5e,\n 0x1ef66, 0x1ef6c, 0x1ef7a, 0x1efae, 0x1efb2, 0x1efb4, 0x1efd6, 0x1f096, 0x1f0a6, 0x1f0ac, 0x1f0ba, 0x1f0ca,\n 0x1f0d2, 0x1f0d4, 0x1f116, 0x1f126, 0x1f12c, 0x1f13a, 0x1f146, 0x1f14c, 0x1f158, 0x1f16e, 0x1f172, 0x1f174,\n 0x1f18a, 0x1f192, 0x1f194, 0x1f1a2, 0x1f1a4, 0x1f1a8, 0x1f1da, 0x1f216, 0x1f226, 0x1f22c, 0x1f23a, 0x1f246,\n 0x1f258, 0x1f26e, 0x1f272, 0x1f274, 0x1f286, 0x1f28c, 0x1f298, 0x1f2b0, 0x1f2be, 0x1f2ce, 0x1f2dc, 0x1f2e2,\n 0x1f2e4, 0x1f2e8, 0x1f2f6, 0x1f30a, 0x1f312, 0x1f314, 0x1f322, 0x1f328, 0x1f342, 0x1f344, 0x1f348, 0x1f350,\n 0x1f35e, 0x1f366, 0x1f37a, 0x1f39a, 0x1f3ae, 0x1f3b2, 0x1f3b4, 0x1f416, 0x1f426, 0x1f42c, 0x1f43a, 0x1f446,\n 0x1f44c, 0x1f458, 0x1f46e, 0x1f472, 0x1f474, 0x1f486, 0x1f48c, 0x1f498, 0x1f4b0, 0x1f4be, 0x1f4ce, 0x1f4dc,\n 0x1f4e2, 0x1f4e4, 0x1f4e8, 0x1f4f6, 0x1f506, 0x1f50c, 0x1f518, 0x1f530, 0x1f53e, 0x1f560, 0x1f57c, 0x1f58e,\n 0x1f59c, 0x1f5b8, 0x1f5c2, 0x1f5c4, 0x1f5c8, 0x1f5d0, 0x1f5de, 0x1f5e6, 0x1f5ec, 0x1f5fa, 0x1f60a, 0x1f612,\n 0x1f614, 0x1f622, 0x1f624, 0x1f628, 0x1f636, 0x1f642, 0x1f644, 0x1f648, 0x1f650, 0x1f65e, 0x1f666, 0x1f67a,\n 0x1f682, 0x1f684, 0x1f688, 0x1f690, 0x1f69e, 0x1f6a0, 0x1f6bc, 0x1f6cc, 0x1f6f2, 0x1f6f4, 0x1f71a, 0x1f72e,\n 0x1f732, 0x1f734, 0x1f74e, 0x1f75c, 0x1f762, 0x1f764, 0x1f768, 0x1f776, 0x1f796, 0x1f7a6, 0x1f7ac, 0x1f7ba,\n 0x1f7d2, 0x1f7d4, 0x1f89a, 0x1f8ae, 0x1f8b2, 0x1f8b4, 0x1f8d6, 0x1f8ea, 0x1f91a, 0x1f92e, 0x1f932, 0x1f934,\n 0x1f94e, 0x1f95c, 0x1f962, 0x1f964, 0x1f968, 0x1f976, 0x1f996, 0x1f9a6, 0x1f9ac, 0x1f9ba, 0x1f9ca, 0x1f9d2,\n 0x1f9d4, 0x1fa1a, 0x1fa2e, 0x1fa32, 0x1fa34, 0x1fa4e, 0x1fa5c, 0x1fa62, 0x1fa64, 0x1fa68, 0x1fa76, 0x1fa8e,\n 0x1fa9c, 0x1fab8, 0x1fac2, 0x1fac4, 0x1fac8, 0x1fad0, 0x1fade, 0x1fae6, 0x1faec, 0x1fb16, 0x1fb26, 0x1fb2c,\n 0x1fb3a, 0x1fb46, 0x1fb4c, 0x1fb58, 0x1fb6e, 0x1fb72, 0x1fb74, 0x1fb8a, 0x1fb92, 0x1fb94, 0x1fba2, 0x1fba4,\n 0x1fba8, 0x1fbb6, 0x1fbda\n ]);\n /**\n * This table contains to codewords for all symbols.\n */\n PDF417Common.CODEWORD_TABLE = Int32Array.from([\n 2627, 1819, 2622, 2621, 1813, 1812, 2729, 2724, 2723, 2779, 2774, 2773, 902, 896, 908, 868, 865, 861, 859, 2511,\n 873, 871, 1780, 835, 2493, 825, 2491, 842, 837, 844, 1764, 1762, 811, 810, 809, 2483, 807, 2482, 806, 2480, 815,\n 814, 813, 812, 2484, 817, 816, 1745, 1744, 1742, 1746, 2655, 2637, 2635, 2626, 2625, 2623, 2628, 1820, 2752,\n 2739, 2737, 2728, 2727, 2725, 2730, 2785, 2783, 2778, 2777, 2775, 2780, 787, 781, 747, 739, 736, 2413, 754, 752,\n 1719, 692, 689, 681, 2371, 678, 2369, 700, 697, 694, 703, 1688, 1686, 642, 638, 2343, 631, 2341, 627, 2338, 651,\n 646, 643, 2345, 654, 652, 1652, 1650, 1647, 1654, 601, 599, 2322, 596, 2321, 594, 2319, 2317, 611, 610, 608, 606,\n 2324, 603, 2323, 615, 614, 612, 1617, 1616, 1614, 1612, 616, 1619, 1618, 2575, 2538, 2536, 905, 901, 898, 909,\n 2509, 2507, 2504, 870, 867, 864, 860, 2512, 875, 872, 1781, 2490, 2489, 2487, 2485, 1748, 836, 834, 832, 830,\n 2494, 827, 2492, 843, 841, 839, 845, 1765, 1763, 2701, 2676, 2674, 2653, 2648, 2656, 2634, 2633, 2631, 2629,\n 1821, 2638, 2636, 2770, 2763, 2761, 2750, 2745, 2753, 2736, 2735, 2733, 2731, 1848, 2740, 2738, 2786, 2784, 591,\n 588, 576, 569, 566, 2296, 1590, 537, 534, 526, 2276, 522, 2274, 545, 542, 539, 548, 1572, 1570, 481, 2245, 466,\n 2242, 462, 2239, 492, 485, 482, 2249, 496, 494, 1534, 1531, 1528, 1538, 413, 2196, 406, 2191, 2188, 425, 419,\n 2202, 415, 2199, 432, 430, 427, 1472, 1467, 1464, 433, 1476, 1474, 368, 367, 2160, 365, 2159, 362, 2157, 2155,\n 2152, 378, 377, 375, 2166, 372, 2165, 369, 2162, 383, 381, 379, 2168, 1419, 1418, 1416, 1414, 385, 1411, 384,\n 1423, 1422, 1420, 1424, 2461, 802, 2441, 2439, 790, 786, 783, 794, 2409, 2406, 2403, 750, 742, 738, 2414, 756,\n 753, 1720, 2367, 2365, 2362, 2359, 1663, 693, 691, 684, 2373, 680, 2370, 702, 699, 696, 704, 1690, 1687, 2337,\n 2336, 2334, 2332, 1624, 2329, 1622, 640, 637, 2344, 634, 2342, 630, 2340, 650, 648, 645, 2346, 655, 653, 1653,\n 1651, 1649, 1655, 2612, 2597, 2595, 2571, 2568, 2565, 2576, 2534, 2529, 2526, 1787, 2540, 2537, 907, 904, 900,\n 910, 2503, 2502, 2500, 2498, 1768, 2495, 1767, 2510, 2508, 2506, 869, 866, 863, 2513, 876, 874, 1782, 2720, 2713,\n 2711, 2697, 2694, 2691, 2702, 2672, 2670, 2664, 1828, 2678, 2675, 2647, 2646, 2644, 2642, 1823, 2639, 1822, 2654,\n 2652, 2650, 2657, 2771, 1855, 2765, 2762, 1850, 1849, 2751, 2749, 2747, 2754, 353, 2148, 344, 342, 336, 2142,\n 332, 2140, 345, 1375, 1373, 306, 2130, 299, 2128, 295, 2125, 319, 314, 311, 2132, 1354, 1352, 1349, 1356, 262,\n 257, 2101, 253, 2096, 2093, 274, 273, 267, 2107, 263, 2104, 280, 278, 275, 1316, 1311, 1308, 1320, 1318, 2052,\n 202, 2050, 2044, 2040, 219, 2063, 212, 2060, 208, 2055, 224, 221, 2066, 1260, 1258, 1252, 231, 1248, 229, 1266,\n 1264, 1261, 1268, 155, 1998, 153, 1996, 1994, 1991, 1988, 165, 164, 2007, 162, 2006, 159, 2003, 2000, 172, 171,\n 169, 2012, 166, 2010, 1186, 1184, 1182, 1179, 175, 1176, 173, 1192, 1191, 1189, 1187, 176, 1194, 1193, 2313,\n 2307, 2305, 592, 589, 2294, 2292, 2289, 578, 572, 568, 2297, 580, 1591, 2272, 2267, 2264, 1547, 538, 536, 529,\n 2278, 525, 2275, 547, 544, 541, 1574, 1571, 2237, 2235, 2229, 1493, 2225, 1489, 478, 2247, 470, 2244, 465, 2241,\n 493, 488, 484, 2250, 498, 495, 1536, 1533, 1530, 1539, 2187, 2186, 2184, 2182, 1432, 2179, 1430, 2176, 1427, 414,\n 412, 2197, 409, 2195, 405, 2193, 2190, 426, 424, 421, 2203, 418, 2201, 431, 429, 1473, 1471, 1469, 1466, 434,\n 1477, 1475, 2478, 2472, 2470, 2459, 2457, 2454, 2462, 803, 2437, 2432, 2429, 1726, 2443, 2440, 792, 789, 785,\n 2401, 2399, 2393, 1702, 2389, 1699, 2411, 2408, 2405, 745, 741, 2415, 758, 755, 1721, 2358, 2357, 2355, 2353,\n 1661, 2350, 1660, 2347, 1657, 2368, 2366, 2364, 2361, 1666, 690, 687, 2374, 683, 2372, 701, 698, 705, 1691, 1689,\n 2619, 2617, 2610, 2608, 2605, 2613, 2593, 2588, 2585, 1803, 2599, 2596, 2563, 2561, 2555, 1797, 2551, 1795, 2573,\n 2570, 2567, 2577, 2525, 2524, 2522, 2520, 1786, 2517, 1785, 2514, 1783, 2535, 2533, 2531, 2528, 1788, 2541, 2539,\n 906, 903, 911, 2721, 1844, 2715, 2712, 1838, 1836, 2699, 2696, 2693, 2703, 1827, 1826, 1824, 2673, 2671, 2669,\n 2666, 1829, 2679, 2677, 1858, 1857, 2772, 1854, 1853, 1851, 1856, 2766, 2764, 143, 1987, 139, 1986, 135, 133,\n 131, 1984, 128, 1983, 125, 1981, 138, 137, 136, 1985, 1133, 1132, 1130, 112, 110, 1974, 107, 1973, 104, 1971,\n 1969, 122, 121, 119, 117, 1977, 114, 1976, 124, 1115, 1114, 1112, 1110, 1117, 1116, 84, 83, 1953, 81, 1952, 78,\n 1950, 1948, 1945, 94, 93, 91, 1959, 88, 1958, 85, 1955, 99, 97, 95, 1961, 1086, 1085, 1083, 1081, 1078, 100,\n 1090, 1089, 1087, 1091, 49, 47, 1917, 44, 1915, 1913, 1910, 1907, 59, 1926, 56, 1925, 53, 1922, 1919, 66, 64,\n 1931, 61, 1929, 1042, 1040, 1038, 71, 1035, 70, 1032, 68, 1048, 1047, 1045, 1043, 1050, 1049, 12, 10, 1869, 1867,\n 1864, 1861, 21, 1880, 19, 1877, 1874, 1871, 28, 1888, 25, 1886, 22, 1883, 982, 980, 977, 974, 32, 30, 991, 989,\n 987, 984, 34, 995, 994, 992, 2151, 2150, 2147, 2146, 2144, 356, 355, 354, 2149, 2139, 2138, 2136, 2134, 1359,\n 343, 341, 338, 2143, 335, 2141, 348, 347, 346, 1376, 1374, 2124, 2123, 2121, 2119, 1326, 2116, 1324, 310, 308,\n 305, 2131, 302, 2129, 298, 2127, 320, 318, 316, 313, 2133, 322, 321, 1355, 1353, 1351, 1357, 2092, 2091, 2089,\n 2087, 1276, 2084, 1274, 2081, 1271, 259, 2102, 256, 2100, 252, 2098, 2095, 272, 269, 2108, 266, 2106, 281, 279,\n 277, 1317, 1315, 1313, 1310, 282, 1321, 1319, 2039, 2037, 2035, 2032, 1203, 2029, 1200, 1197, 207, 2053, 205,\n 2051, 201, 2049, 2046, 2043, 220, 218, 2064, 215, 2062, 211, 2059, 228, 226, 223, 2069, 1259, 1257, 1254, 232,\n 1251, 230, 1267, 1265, 1263, 2316, 2315, 2312, 2311, 2309, 2314, 2304, 2303, 2301, 2299, 1593, 2308, 2306, 590,\n 2288, 2287, 2285, 2283, 1578, 2280, 1577, 2295, 2293, 2291, 579, 577, 574, 571, 2298, 582, 581, 1592, 2263, 2262,\n 2260, 2258, 1545, 2255, 1544, 2252, 1541, 2273, 2271, 2269, 2266, 1550, 535, 532, 2279, 528, 2277, 546, 543, 549,\n 1575, 1573, 2224, 2222, 2220, 1486, 2217, 1485, 2214, 1482, 1479, 2238, 2236, 2234, 2231, 1496, 2228, 1492, 480,\n 477, 2248, 473, 2246, 469, 2243, 490, 487, 2251, 497, 1537, 1535, 1532, 2477, 2476, 2474, 2479, 2469, 2468, 2466,\n 2464, 1730, 2473, 2471, 2453, 2452, 2450, 2448, 1729, 2445, 1728, 2460, 2458, 2456, 2463, 805, 804, 2428, 2427,\n 2425, 2423, 1725, 2420, 1724, 2417, 1722, 2438, 2436, 2434, 2431, 1727, 2444, 2442, 793, 791, 788, 795, 2388,\n 2386, 2384, 1697, 2381, 1696, 2378, 1694, 1692, 2402, 2400, 2398, 2395, 1703, 2392, 1701, 2412, 2410, 2407, 751,\n 748, 744, 2416, 759, 757, 1807, 2620, 2618, 1806, 1805, 2611, 2609, 2607, 2614, 1802, 1801, 1799, 2594, 2592,\n 2590, 2587, 1804, 2600, 2598, 1794, 1793, 1791, 1789, 2564, 2562, 2560, 2557, 1798, 2554, 1796, 2574, 2572, 2569,\n 2578, 1847, 1846, 2722, 1843, 1842, 1840, 1845, 2716, 2714, 1835, 1834, 1832, 1830, 1839, 1837, 2700, 2698, 2695,\n 2704, 1817, 1811, 1810, 897, 862, 1777, 829, 826, 838, 1760, 1758, 808, 2481, 1741, 1740, 1738, 1743, 2624, 1818,\n 2726, 2776, 782, 740, 737, 1715, 686, 679, 695, 1682, 1680, 639, 628, 2339, 647, 644, 1645, 1643, 1640, 1648,\n 602, 600, 597, 595, 2320, 593, 2318, 609, 607, 604, 1611, 1610, 1608, 1606, 613, 1615, 1613, 2328, 926, 924, 892,\n 886, 899, 857, 850, 2505, 1778, 824, 823, 821, 819, 2488, 818, 2486, 833, 831, 828, 840, 1761, 1759, 2649, 2632,\n 2630, 2746, 2734, 2732, 2782, 2781, 570, 567, 1587, 531, 527, 523, 540, 1566, 1564, 476, 467, 463, 2240, 486,\n 483, 1524, 1521, 1518, 1529, 411, 403, 2192, 399, 2189, 423, 416, 1462, 1457, 1454, 428, 1468, 1465, 2210, 366,\n 363, 2158, 360, 2156, 357, 2153, 376, 373, 370, 2163, 1410, 1409, 1407, 1405, 382, 1402, 380, 1417, 1415, 1412,\n 1421, 2175, 2174, 777, 774, 771, 784, 732, 725, 722, 2404, 743, 1716, 676, 674, 668, 2363, 665, 2360, 685, 1684,\n 1681, 626, 624, 622, 2335, 620, 2333, 617, 2330, 641, 635, 649, 1646, 1644, 1642, 2566, 928, 925, 2530, 2527,\n 894, 891, 888, 2501, 2499, 2496, 858, 856, 854, 851, 1779, 2692, 2668, 2665, 2645, 2643, 2640, 2651, 2768, 2759,\n 2757, 2744, 2743, 2741, 2748, 352, 1382, 340, 337, 333, 1371, 1369, 307, 300, 296, 2126, 315, 312, 1347, 1342,\n 1350, 261, 258, 250, 2097, 246, 2094, 271, 268, 264, 1306, 1301, 1298, 276, 1312, 1309, 2115, 203, 2048, 195,\n 2045, 191, 2041, 213, 209, 2056, 1246, 1244, 1238, 225, 1234, 222, 1256, 1253, 1249, 1262, 2080, 2079, 154, 1997,\n 150, 1995, 147, 1992, 1989, 163, 160, 2004, 156, 2001, 1175, 1174, 1172, 1170, 1167, 170, 1164, 167, 1185, 1183,\n 1180, 1177, 174, 1190, 1188, 2025, 2024, 2022, 587, 586, 564, 559, 556, 2290, 573, 1588, 520, 518, 512, 2268,\n 508, 2265, 530, 1568, 1565, 461, 457, 2233, 450, 2230, 446, 2226, 479, 471, 489, 1526, 1523, 1520, 397, 395,\n 2185, 392, 2183, 389, 2180, 2177, 410, 2194, 402, 422, 1463, 1461, 1459, 1456, 1470, 2455, 799, 2433, 2430, 779,\n 776, 773, 2397, 2394, 2390, 734, 728, 724, 746, 1717, 2356, 2354, 2351, 2348, 1658, 677, 675, 673, 670, 667, 688,\n 1685, 1683, 2606, 2589, 2586, 2559, 2556, 2552, 927, 2523, 2521, 2518, 2515, 1784, 2532, 895, 893, 890, 2718,\n 2709, 2707, 2689, 2687, 2684, 2663, 2662, 2660, 2658, 1825, 2667, 2769, 1852, 2760, 2758, 142, 141, 1139, 1138,\n 134, 132, 129, 126, 1982, 1129, 1128, 1126, 1131, 113, 111, 108, 105, 1972, 101, 1970, 120, 118, 115, 1109, 1108,\n 1106, 1104, 123, 1113, 1111, 82, 79, 1951, 75, 1949, 72, 1946, 92, 89, 86, 1956, 1077, 1076, 1074, 1072, 98,\n 1069, 96, 1084, 1082, 1079, 1088, 1968, 1967, 48, 45, 1916, 42, 1914, 39, 1911, 1908, 60, 57, 54, 1923, 50, 1920,\n 1031, 1030, 1028, 1026, 67, 1023, 65, 1020, 62, 1041, 1039, 1036, 1033, 69, 1046, 1044, 1944, 1943, 1941, 11, 9,\n 1868, 7, 1865, 1862, 1859, 20, 1878, 16, 1875, 13, 1872, 970, 968, 966, 963, 29, 960, 26, 23, 983, 981, 978, 975,\n 33, 971, 31, 990, 988, 985, 1906, 1904, 1902, 993, 351, 2145, 1383, 331, 330, 328, 326, 2137, 323, 2135, 339,\n 1372, 1370, 294, 293, 291, 289, 2122, 286, 2120, 283, 2117, 309, 303, 317, 1348, 1346, 1344, 245, 244, 242, 2090,\n 239, 2088, 236, 2085, 2082, 260, 2099, 249, 270, 1307, 1305, 1303, 1300, 1314, 189, 2038, 186, 2036, 183, 2033,\n 2030, 2026, 206, 198, 2047, 194, 216, 1247, 1245, 1243, 1240, 227, 1237, 1255, 2310, 2302, 2300, 2286, 2284,\n 2281, 565, 563, 561, 558, 575, 1589, 2261, 2259, 2256, 2253, 1542, 521, 519, 517, 514, 2270, 511, 533, 1569,\n 1567, 2223, 2221, 2218, 2215, 1483, 2211, 1480, 459, 456, 453, 2232, 449, 474, 491, 1527, 1525, 1522, 2475, 2467,\n 2465, 2451, 2449, 2446, 801, 800, 2426, 2424, 2421, 2418, 1723, 2435, 780, 778, 775, 2387, 2385, 2382, 2379,\n 1695, 2375, 1693, 2396, 735, 733, 730, 727, 749, 1718, 2616, 2615, 2604, 2603, 2601, 2584, 2583, 2581, 2579,\n 1800, 2591, 2550, 2549, 2547, 2545, 1792, 2542, 1790, 2558, 929, 2719, 1841, 2710, 2708, 1833, 1831, 2690, 2688,\n 2686, 1815, 1809, 1808, 1774, 1756, 1754, 1737, 1736, 1734, 1739, 1816, 1711, 1676, 1674, 633, 629, 1638, 1636,\n 1633, 1641, 598, 1605, 1604, 1602, 1600, 605, 1609, 1607, 2327, 887, 853, 1775, 822, 820, 1757, 1755, 1584, 524,\n 1560, 1558, 468, 464, 1514, 1511, 1508, 1519, 408, 404, 400, 1452, 1447, 1444, 417, 1458, 1455, 2208, 364, 361,\n 358, 2154, 1401, 1400, 1398, 1396, 374, 1393, 371, 1408, 1406, 1403, 1413, 2173, 2172, 772, 726, 723, 1712, 672,\n 669, 666, 682, 1678, 1675, 625, 623, 621, 618, 2331, 636, 632, 1639, 1637, 1635, 920, 918, 884, 880, 889, 849,\n 848, 847, 846, 2497, 855, 852, 1776, 2641, 2742, 2787, 1380, 334, 1367, 1365, 301, 297, 1340, 1338, 1335, 1343,\n 255, 251, 247, 1296, 1291, 1288, 265, 1302, 1299, 2113, 204, 196, 192, 2042, 1232, 1230, 1224, 214, 1220, 210,\n 1242, 1239, 1235, 1250, 2077, 2075, 151, 148, 1993, 144, 1990, 1163, 1162, 1160, 1158, 1155, 161, 1152, 157,\n 1173, 1171, 1168, 1165, 168, 1181, 1178, 2021, 2020, 2018, 2023, 585, 560, 557, 1585, 516, 509, 1562, 1559, 458,\n 447, 2227, 472, 1516, 1513, 1510, 398, 396, 393, 390, 2181, 386, 2178, 407, 1453, 1451, 1449, 1446, 420, 1460,\n 2209, 769, 764, 720, 712, 2391, 729, 1713, 664, 663, 661, 659, 2352, 656, 2349, 671, 1679, 1677, 2553, 922, 919,\n 2519, 2516, 885, 883, 881, 2685, 2661, 2659, 2767, 2756, 2755, 140, 1137, 1136, 130, 127, 1125, 1124, 1122, 1127,\n 109, 106, 102, 1103, 1102, 1100, 1098, 116, 1107, 1105, 1980, 80, 76, 73, 1947, 1068, 1067, 1065, 1063, 90, 1060,\n 87, 1075, 1073, 1070, 1080, 1966, 1965, 46, 43, 40, 1912, 36, 1909, 1019, 1018, 1016, 1014, 58, 1011, 55, 1008,\n 51, 1029, 1027, 1024, 1021, 63, 1037, 1034, 1940, 1939, 1937, 1942, 8, 1866, 4, 1863, 1, 1860, 956, 954, 952,\n 949, 946, 17, 14, 969, 967, 964, 961, 27, 957, 24, 979, 976, 972, 1901, 1900, 1898, 1896, 986, 1905, 1903, 350,\n 349, 1381, 329, 327, 324, 1368, 1366, 292, 290, 287, 284, 2118, 304, 1341, 1339, 1337, 1345, 243, 240, 237, 2086,\n 233, 2083, 254, 1297, 1295, 1293, 1290, 1304, 2114, 190, 187, 184, 2034, 180, 2031, 177, 2027, 199, 1233, 1231,\n 1229, 1226, 217, 1223, 1241, 2078, 2076, 584, 555, 554, 552, 550, 2282, 562, 1586, 507, 506, 504, 502, 2257, 499,\n 2254, 515, 1563, 1561, 445, 443, 441, 2219, 438, 2216, 435, 2212, 460, 454, 475, 1517, 1515, 1512, 2447, 798,\n 797, 2422, 2419, 770, 768, 766, 2383, 2380, 2376, 721, 719, 717, 714, 731, 1714, 2602, 2582, 2580, 2548, 2546,\n 2543, 923, 921, 2717, 2706, 2705, 2683, 2682, 2680, 1771, 1752, 1750, 1733, 1732, 1731, 1735, 1814, 1707, 1670,\n 1668, 1631, 1629, 1626, 1634, 1599, 1598, 1596, 1594, 1603, 1601, 2326, 1772, 1753, 1751, 1581, 1554, 1552, 1504,\n 1501, 1498, 1509, 1442, 1437, 1434, 401, 1448, 1445, 2206, 1392, 1391, 1389, 1387, 1384, 359, 1399, 1397, 1394,\n 1404, 2171, 2170, 1708, 1672, 1669, 619, 1632, 1630, 1628, 1773, 1378, 1363, 1361, 1333, 1328, 1336, 1286, 1281,\n 1278, 248, 1292, 1289, 2111, 1218, 1216, 1210, 197, 1206, 193, 1228, 1225, 1221, 1236, 2073, 2071, 1151, 1150,\n 1148, 1146, 152, 1143, 149, 1140, 145, 1161, 1159, 1156, 1153, 158, 1169, 1166, 2017, 2016, 2014, 2019, 1582,\n 510, 1556, 1553, 452, 448, 1506, 1500, 394, 391, 387, 1443, 1441, 1439, 1436, 1450, 2207, 765, 716, 713, 1709,\n 662, 660, 657, 1673, 1671, 916, 914, 879, 878, 877, 882, 1135, 1134, 1121, 1120, 1118, 1123, 1097, 1096, 1094,\n 1092, 103, 1101, 1099, 1979, 1059, 1058, 1056, 1054, 77, 1051, 74, 1066, 1064, 1061, 1071, 1964, 1963, 1007,\n 1006, 1004, 1002, 999, 41, 996, 37, 1017, 1015, 1012, 1009, 52, 1025, 1022, 1936, 1935, 1933, 1938, 942, 940,\n 938, 935, 932, 5, 2, 955, 953, 950, 947, 18, 943, 15, 965, 962, 958, 1895, 1894, 1892, 1890, 973, 1899, 1897,\n 1379, 325, 1364, 1362, 288, 285, 1334, 1332, 1330, 241, 238, 234, 1287, 1285, 1283, 1280, 1294, 2112, 188, 185,\n 181, 178, 2028, 1219, 1217, 1215, 1212, 200, 1209, 1227, 2074, 2072, 583, 553, 551, 1583, 505, 503, 500, 513,\n 1557, 1555, 444, 442, 439, 436, 2213, 455, 451, 1507, 1505, 1502, 796, 763, 762, 760, 767, 711, 710, 708, 706,\n 2377, 718, 715, 1710, 2544, 917, 915, 2681, 1627, 1597, 1595, 2325, 1769, 1749, 1747, 1499, 1438, 1435, 2204,\n 1390, 1388, 1385, 1395, 2169, 2167, 1704, 1665, 1662, 1625, 1623, 1620, 1770, 1329, 1282, 1279, 2109, 1214, 1207,\n 1222, 2068, 2065, 1149, 1147, 1144, 1141, 146, 1157, 1154, 2013, 2011, 2008, 2015, 1579, 1549, 1546, 1495, 1487,\n 1433, 1431, 1428, 1425, 388, 1440, 2205, 1705, 658, 1667, 1664, 1119, 1095, 1093, 1978, 1057, 1055, 1052, 1062,\n 1962, 1960, 1005, 1003, 1000, 997, 38, 1013, 1010, 1932, 1930, 1927, 1934, 941, 939, 936, 933, 6, 930, 3, 951,\n 948, 944, 1889, 1887, 1884, 1881, 959, 1893, 1891, 35, 1377, 1360, 1358, 1327, 1325, 1322, 1331, 1277, 1275,\n 1272, 1269, 235, 1284, 2110, 1205, 1204, 1201, 1198, 182, 1195, 179, 1213, 2070, 2067, 1580, 501, 1551, 1548,\n 440, 437, 1497, 1494, 1490, 1503, 761, 709, 707, 1706, 913, 912, 2198, 1386, 2164, 2161, 1621, 1766, 2103, 1208,\n 2058, 2054, 1145, 1142, 2005, 2002, 1999, 2009, 1488, 1429, 1426, 2200, 1698, 1659, 1656, 1975, 1053, 1957, 1954,\n 1001, 998, 1924, 1921, 1918, 1928, 937, 934, 931, 1879, 1876, 1873, 1870, 945, 1885, 1882, 1323, 1273, 1270,\n 2105, 1202, 1199, 1196, 1211, 2061, 2057, 1576, 1543, 1540, 1484, 1481, 1478, 1491, 1700\n ]);\n\n /*\n * Copyright 2007 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // import java.util.List;\n /**\n * @author Guenther Grau\n */\n /*public final*/ class PDF417DetectorResult {\n constructor(bits, points) {\n this.bits = bits;\n this.points = points;\n }\n getBits() {\n return this.bits;\n }\n getPoints() {\n return this.points;\n }\n }\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // import java.util.ArrayList;\n // import java.util.Arrays;\n // import java.util.List;\n // import java.util.Map;\n /**\n *

Encapsulates logic that can detect a PDF417 Code in an image, even if the\n * PDF417 Code is rotated or skewed, or partially obscured.

\n *\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Guenther Grau\n */\n /*public*/ /*final*/ class Detector$3 {\n /**\n *

Detects a PDF417 Code in an image. Only checks 0 and 180 degree rotations.

\n *\n * @param image barcode image to decode\n * @param hints optional hints to detector\n * @param multiple if true, then the image is searched for multiple codes. If false, then at most one code will\n * be found and returned\n * @return {@link PDF417DetectorResult} encapsulating results of detecting a PDF417 code\n * @throws NotFoundException if no PDF417 Code can be found\n */\n static detectMultiple(image, hints, multiple) {\n // TODO detection improvement, tryHarder could try several different luminance thresholds/blackpoints or even\n // different binarizers\n // boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);\n let bitMatrix = image.getBlackMatrix();\n let barcodeCoordinates = Detector$3.detect(multiple, bitMatrix);\n if (!barcodeCoordinates.length) {\n bitMatrix = bitMatrix.clone();\n bitMatrix.rotate180();\n barcodeCoordinates = Detector$3.detect(multiple, bitMatrix);\n }\n return new PDF417DetectorResult(bitMatrix, barcodeCoordinates);\n }\n /**\n * Detects PDF417 codes in an image. Only checks 0 degree rotation\n * @param multiple if true, then the image is searched for multiple codes. If false, then at most one code will\n * be found and returned\n * @param bitMatrix bit matrix to detect barcodes in\n * @return List of ResultPoint arrays containing the coordinates of found barcodes\n */\n static detect(multiple, bitMatrix) {\n const barcodeCoordinates = new Array();\n let row = 0;\n let column = 0;\n let foundBarcodeInRow = false;\n while (row < bitMatrix.getHeight()) {\n const vertices = Detector$3.findVertices(bitMatrix, row, column);\n if (vertices[0] == null && vertices[3] == null) {\n if (!foundBarcodeInRow) {\n // we didn't find any barcode so that's the end of searching\n break;\n }\n // we didn't find a barcode starting at the given column and row. Try again from the first column and slightly\n // below the lowest barcode we found so far.\n foundBarcodeInRow = false;\n column = 0;\n for (const barcodeCoordinate of barcodeCoordinates) {\n if (barcodeCoordinate[1] != null) {\n row = Math.trunc(Math.max(row, barcodeCoordinate[1].getY()));\n }\n if (barcodeCoordinate[3] != null) {\n row = Math.max(row, Math.trunc(barcodeCoordinate[3].getY()));\n }\n }\n row += Detector$3.ROW_STEP;\n continue;\n }\n foundBarcodeInRow = true;\n barcodeCoordinates.push(vertices);\n if (!multiple) {\n break;\n }\n // if we didn't find a right row indicator column, then continue the search for the next barcode after the\n // start pattern of the barcode just found.\n if (vertices[2] != null) {\n column = Math.trunc(vertices[2].getX());\n row = Math.trunc(vertices[2].getY());\n }\n else {\n column = Math.trunc(vertices[4].getX());\n row = Math.trunc(vertices[4].getY());\n }\n }\n return barcodeCoordinates;\n }\n /**\n * Locate the vertices and the codewords area of a black blob using the Start\n * and Stop patterns as locators.\n *\n * @param matrix the scanned barcode image.\n * @return an array containing the vertices:\n * vertices[0] x, y top left barcode\n * vertices[1] x, y bottom left barcode\n * vertices[2] x, y top right barcode\n * vertices[3] x, y bottom right barcode\n * vertices[4] x, y top left codeword area\n * vertices[5] x, y bottom left codeword area\n * vertices[6] x, y top right codeword area\n * vertices[7] x, y bottom right codeword area\n */\n static findVertices(matrix, startRow, startColumn) {\n const height = matrix.getHeight();\n const width = matrix.getWidth();\n // const result = new ResultPoint[8];\n const result = new Array(8);\n Detector$3.copyToResult(result, Detector$3.findRowsWithPattern(matrix, height, width, startRow, startColumn, Detector$3.START_PATTERN), Detector$3.INDEXES_START_PATTERN);\n if (result[4] != null) {\n startColumn = Math.trunc(result[4].getX());\n startRow = Math.trunc(result[4].getY());\n }\n Detector$3.copyToResult(result, Detector$3.findRowsWithPattern(matrix, height, width, startRow, startColumn, Detector$3.STOP_PATTERN), Detector$3.INDEXES_STOP_PATTERN);\n return result;\n }\n static copyToResult(result, tmpResult, destinationIndexes) {\n for (let i = 0; i < destinationIndexes.length; i++) {\n result[destinationIndexes[i]] = tmpResult[i];\n }\n }\n static findRowsWithPattern(matrix, height, width, startRow, startColumn, pattern) {\n // const result = new ResultPoint[4];\n const result = new Array(4);\n let found = false;\n const counters = new Int32Array(pattern.length);\n for (; startRow < height; startRow += Detector$3.ROW_STEP) {\n let loc = Detector$3.findGuardPattern(matrix, startColumn, startRow, width, false, pattern, counters);\n if (loc != null) {\n while (startRow > 0) {\n const previousRowLoc = Detector$3.findGuardPattern(matrix, startColumn, --startRow, width, false, pattern, counters);\n if (previousRowLoc != null) {\n loc = previousRowLoc;\n }\n else {\n startRow++;\n break;\n }\n }\n result[0] = new ResultPoint(loc[0], startRow);\n result[1] = new ResultPoint(loc[1], startRow);\n found = true;\n break;\n }\n }\n let stopRow = startRow + 1;\n // Last row of the current symbol that contains pattern\n if (found) {\n let skippedRowCount = 0;\n let previousRowLoc = Int32Array.from([Math.trunc(result[0].getX()), Math.trunc(result[1].getX())]);\n for (; stopRow < height; stopRow++) {\n const loc = Detector$3.findGuardPattern(matrix, previousRowLoc[0], stopRow, width, false, pattern, counters);\n // a found pattern is only considered to belong to the same barcode if the start and end positions\n // don't differ too much. Pattern drift should be not bigger than two for consecutive rows. With\n // a higher number of skipped rows drift could be larger. To keep it simple for now, we allow a slightly\n // larger drift and don't check for skipped rows.\n if (loc != null &&\n Math.abs(previousRowLoc[0] - loc[0]) < Detector$3.MAX_PATTERN_DRIFT &&\n Math.abs(previousRowLoc[1] - loc[1]) < Detector$3.MAX_PATTERN_DRIFT) {\n previousRowLoc = loc;\n skippedRowCount = 0;\n }\n else {\n if (skippedRowCount > Detector$3.SKIPPED_ROW_COUNT_MAX) {\n break;\n }\n else {\n skippedRowCount++;\n }\n }\n }\n stopRow -= skippedRowCount + 1;\n result[2] = new ResultPoint(previousRowLoc[0], stopRow);\n result[3] = new ResultPoint(previousRowLoc[1], stopRow);\n }\n if (stopRow - startRow < Detector$3.BARCODE_MIN_HEIGHT) {\n Arrays.fill(result, null);\n }\n return result;\n }\n /**\n * @param matrix row of black/white values to search\n * @param column x position to start search\n * @param row y position to start search\n * @param width the number of pixels to search on this row\n * @param pattern pattern of counts of number of black and white pixels that are\n * being searched for as a pattern\n * @param counters array of counters, as long as pattern, to re-use\n * @return start/end horizontal offset of guard pattern, as an array of two ints.\n */\n static findGuardPattern(matrix, column, row, width, whiteFirst, pattern, counters) {\n Arrays.fillWithin(counters, 0, counters.length, 0);\n let patternStart = column;\n let pixelDrift = 0;\n // if there are black pixels left of the current pixel shift to the left, but only for MAX_PIXEL_DRIFT pixels\n while (matrix.get(patternStart, row) && patternStart > 0 && pixelDrift++ < Detector$3.MAX_PIXEL_DRIFT) {\n patternStart--;\n }\n let x = patternStart;\n let counterPosition = 0;\n let patternLength = pattern.length;\n for (let isWhite = whiteFirst; x < width; x++) {\n let pixel = matrix.get(x, row);\n if (pixel !== isWhite) {\n counters[counterPosition]++;\n }\n else {\n if (counterPosition === patternLength - 1) {\n if (Detector$3.patternMatchVariance(counters, pattern, Detector$3.MAX_INDIVIDUAL_VARIANCE) < Detector$3.MAX_AVG_VARIANCE) {\n return new Int32Array([patternStart, x]);\n }\n patternStart += counters[0] + counters[1];\n System.arraycopy(counters, 2, counters, 0, counterPosition - 1);\n counters[counterPosition - 1] = 0;\n counters[counterPosition] = 0;\n counterPosition--;\n }\n else {\n counterPosition++;\n }\n counters[counterPosition] = 1;\n isWhite = !isWhite;\n }\n }\n if (counterPosition === patternLength - 1 &&\n Detector$3.patternMatchVariance(counters, pattern, Detector$3.MAX_INDIVIDUAL_VARIANCE) < Detector$3.MAX_AVG_VARIANCE) {\n return new Int32Array([patternStart, x - 1]);\n }\n return null;\n }\n /**\n * Determines how closely a set of observed counts of runs of black/white\n * values matches a given target pattern. This is reported as the ratio of\n * the total variance from the expected pattern proportions across all\n * pattern elements, to the length of the pattern.\n *\n * @param counters observed counters\n * @param pattern expected pattern\n * @param maxIndividualVariance The most any counter can differ before we give up\n * @return ratio of total variance between counters and pattern compared to total pattern size\n */\n static patternMatchVariance(counters, pattern, maxIndividualVariance) {\n let numCounters = counters.length;\n let total = 0;\n let patternLength = 0;\n for (let i = 0; i < numCounters; i++) {\n total += counters[i];\n patternLength += pattern[i];\n }\n if (total < patternLength) {\n // If we don't even have one pixel per unit of bar width, assume this\n // is too small to reliably match, so fail:\n return /*Float.POSITIVE_INFINITY*/ Infinity;\n }\n // We're going to fake floating-point math in integers. We just need to use more bits.\n // Scale up patternLength so that intermediate values below like scaledCounter will have\n // more \"significant digits\".\n let unitBarWidth = total / patternLength;\n maxIndividualVariance *= unitBarWidth;\n let totalVariance = 0.0;\n for (let x = 0; x < numCounters; x++) {\n let counter = counters[x];\n let scaledPattern = pattern[x] * unitBarWidth;\n let variance = counter > scaledPattern ? counter - scaledPattern : scaledPattern - counter;\n if (variance > maxIndividualVariance) {\n return /*Float.POSITIVE_INFINITY*/ Infinity;\n }\n totalVariance += variance;\n }\n return totalVariance / total;\n }\n }\n Detector$3.INDEXES_START_PATTERN = Int32Array.from([0, 4, 1, 5]);\n Detector$3.INDEXES_STOP_PATTERN = Int32Array.from([6, 2, 7, 3]);\n Detector$3.MAX_AVG_VARIANCE = 0.42;\n Detector$3.MAX_INDIVIDUAL_VARIANCE = 0.8;\n // B S B S B S B S Bar/Space pattern\n // 11111111 0 1 0 1 0 1 000\n Detector$3.START_PATTERN = Int32Array.from([8, 1, 1, 1, 1, 1, 1, 3]);\n // 1111111 0 1 000 1 0 1 00 1\n Detector$3.STOP_PATTERN = Int32Array.from([7, 1, 1, 3, 1, 1, 1, 2, 1]);\n Detector$3.MAX_PIXEL_DRIFT = 3;\n Detector$3.MAX_PATTERN_DRIFT = 5;\n // if we set the value too low, then we don't detect the correct height of the bar if the start patterns are damaged.\n // if we set the value too high, then we might detect the start pattern from a neighbor barcode.\n Detector$3.SKIPPED_ROW_COUNT_MAX = 25;\n // A PDF471 barcode should have at least 3 rows, with each row being >= 3 times the module width. Therefore it should be at least\n // 9 pixels tall. To be conservative, we use about half the size to ensure we don't miss it.\n Detector$3.ROW_STEP = 5;\n Detector$3.BARCODE_MIN_HEIGHT = 10;\n\n /*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGFPoly\n */\n /*final*/ class ModulusPoly {\n constructor(field, coefficients) {\n if (coefficients.length === 0) {\n throw new IllegalArgumentException();\n }\n this.field = field;\n let coefficientsLength = /*int*/ coefficients.length;\n if (coefficientsLength > 1 && coefficients[0] === 0) {\n // Leading term must be non-zero for anything except the constant polynomial \"0\"\n let firstNonZero = /*int*/ 1;\n while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {\n firstNonZero++;\n }\n if (firstNonZero === coefficientsLength) {\n this.coefficients = new Int32Array([0]);\n }\n else {\n this.coefficients = new Int32Array(coefficientsLength - firstNonZero);\n System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);\n }\n }\n else {\n this.coefficients = coefficients;\n }\n }\n getCoefficients() {\n return this.coefficients;\n }\n /**\n * @return degree of this polynomial\n */\n getDegree() {\n return this.coefficients.length - 1;\n }\n /**\n * @return true iff this polynomial is the monomial \"0\"\n */\n isZero() {\n return this.coefficients[0] === 0;\n }\n /**\n * @return coefficient of x^degree term in this polynomial\n */\n getCoefficient(degree) {\n return this.coefficients[this.coefficients.length - 1 - degree];\n }\n /**\n * @return evaluation of this polynomial at a given point\n */\n evaluateAt(a) {\n if (a === 0) {\n // Just return the x^0 coefficient\n return this.getCoefficient(0);\n }\n if (a === 1) {\n // Just the sum of the coefficients\n let sum = /*int*/ 0;\n for (let coefficient /*int*/ of this.coefficients) {\n sum = this.field.add(sum, coefficient);\n }\n return sum;\n }\n let result = /*int*/ this.coefficients[0];\n let size = /*int*/ this.coefficients.length;\n for (let i /*int*/ = 1; i < size; i++) {\n result = this.field.add(this.field.multiply(a, result), this.coefficients[i]);\n }\n return result;\n }\n add(other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero()) {\n return other;\n }\n if (other.isZero()) {\n return this;\n }\n let smallerCoefficients = this.coefficients;\n let largerCoefficients = other.coefficients;\n if (smallerCoefficients.length > largerCoefficients.length) {\n let temp = smallerCoefficients;\n smallerCoefficients = largerCoefficients;\n largerCoefficients = temp;\n }\n let sumDiff = new Int32Array(largerCoefficients.length);\n let lengthDiff = /*int*/ largerCoefficients.length - smallerCoefficients.length;\n // Copy high-order terms only found in higher-degree polynomial's coefficients\n System.arraycopy(largerCoefficients, 0, sumDiff, 0, lengthDiff);\n for (let i /*int*/ = lengthDiff; i < largerCoefficients.length; i++) {\n sumDiff[i] = this.field.add(smallerCoefficients[i - lengthDiff], largerCoefficients[i]);\n }\n return new ModulusPoly(this.field, sumDiff);\n }\n subtract(other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (other.isZero()) {\n return this;\n }\n return this.add(other.negative());\n }\n multiply(other) {\n if (other instanceof ModulusPoly) {\n return this.multiplyOther(other);\n }\n return this.multiplyScalar(other);\n }\n multiplyOther(other) {\n if (!this.field.equals(other.field)) {\n throw new IllegalArgumentException('ModulusPolys do not have same ModulusGF field');\n }\n if (this.isZero() || other.isZero()) {\n // return this.field.getZero();\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n let aCoefficients = this.coefficients;\n let aLength = /*int*/ aCoefficients.length;\n let bCoefficients = other.coefficients;\n let bLength = /*int*/ bCoefficients.length;\n let product = new Int32Array(aLength + bLength - 1);\n for (let i /*int*/ = 0; i < aLength; i++) {\n let aCoeff = /*int*/ aCoefficients[i];\n for (let j /*int*/ = 0; j < bLength; j++) {\n product[i + j] = this.field.add(product[i + j], this.field.multiply(aCoeff, bCoefficients[j]));\n }\n }\n return new ModulusPoly(this.field, product);\n }\n negative() {\n let size = /*int*/ this.coefficients.length;\n let negativeCoefficients = new Int32Array(size);\n for (let i /*int*/ = 0; i < size; i++) {\n negativeCoefficients[i] = this.field.subtract(0, this.coefficients[i]);\n }\n return new ModulusPoly(this.field, negativeCoefficients);\n }\n multiplyScalar(scalar) {\n if (scalar === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n if (scalar === 1) {\n return this;\n }\n let size = /*int*/ this.coefficients.length;\n let product = new Int32Array(size);\n for (let i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], scalar);\n }\n return new ModulusPoly(this.field, product);\n }\n multiplyByMonomial(degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return new ModulusPoly(this.field, new Int32Array([0]));\n }\n let size = /*int*/ this.coefficients.length;\n let product = new Int32Array(size + degree);\n for (let i /*int*/ = 0; i < size; i++) {\n product[i] = this.field.multiply(this.coefficients[i], coefficient);\n }\n return new ModulusPoly(this.field, product);\n }\n /*\n ModulusPoly[] divide(other: ModulusPoly) {\n if (!field.equals(other.field)) {\n throw new IllegalArgumentException(\"ModulusPolys do not have same ModulusGF field\");\n }\n if (other.isZero()) {\n throw new IllegalArgumentException(\"Divide by 0\");\n }\n \n let quotient: ModulusPoly = field.getZero();\n let remainder: ModulusPoly = this;\n \n let denominatorLeadingTerm: /*int/ number = other.getCoefficient(other.getDegree());\n let inverseDenominatorLeadingTerm: /*int/ number = field.inverse(denominatorLeadingTerm);\n \n while (remainder.getDegree() >= other.getDegree() && !remainder.isZero()) {\n let degreeDifference: /*int/ number = remainder.getDegree() - other.getDegree();\n let scale: /*int/ number = field.multiply(remainder.getCoefficient(remainder.getDegree()), inverseDenominatorLeadingTerm);\n let term: ModulusPoly = other.multiplyByMonomial(degreeDifference, scale);\n let iterationQuotient: ModulusPoly = field.buildMonomial(degreeDifference, scale);\n quotient = quotient.add(iterationQuotient);\n remainder = remainder.subtract(term);\n }\n \n return new ModulusPoly[] { quotient, remainder };\n }\n */\n // @Override\n toString() {\n let result = new StringBuilder( /*8 * this.getDegree()*/); // dynamic string size in JS\n for (let degree /*int*/ = this.getDegree(); degree >= 0; degree--) {\n let coefficient = /*int*/ this.getCoefficient(degree);\n if (coefficient !== 0) {\n if (coefficient < 0) {\n result.append(' - ');\n coefficient = -coefficient;\n }\n else {\n if (result.length() > 0) {\n result.append(' + ');\n }\n }\n if (degree === 0 || coefficient !== 1) {\n result.append(coefficient);\n }\n if (degree !== 0) {\n if (degree === 1) {\n result.append('x');\n }\n else {\n result.append('x^');\n result.append(degree);\n }\n }\n }\n }\n return result.toString();\n }\n }\n\n class ModulusBase {\n add(a, b) {\n return (a + b) % this.modulus;\n }\n subtract(a, b) {\n return (this.modulus + a - b) % this.modulus;\n }\n exp(a) {\n return this.expTable[a];\n }\n log(a) {\n if (a === 0) {\n throw new IllegalArgumentException();\n }\n return this.logTable[a];\n }\n inverse(a) {\n if (a === 0) {\n throw new ArithmeticException();\n }\n return this.expTable[this.modulus - this.logTable[a] - 1];\n }\n multiply(a, b) {\n if (a === 0 || b === 0) {\n return 0;\n }\n return this.expTable[(this.logTable[a] + this.logTable[b]) % (this.modulus - 1)];\n }\n getSize() {\n return this.modulus;\n }\n equals(o) {\n return o === this;\n }\n }\n\n /*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

A field based on powers of a generator integer, modulo some modulus.

\n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.GenericGF\n */\n /*public final*/ class ModulusGF extends ModulusBase {\n // private /*final*/ modulus: /*int*/ number;\n constructor(modulus, generator) {\n super();\n this.modulus = modulus;\n this.expTable = new Int32Array(modulus);\n this.logTable = new Int32Array(modulus);\n let x = /*int*/ 1;\n for (let i /*int*/ = 0; i < modulus; i++) {\n this.expTable[i] = x;\n x = (x * generator) % modulus;\n }\n for (let i /*int*/ = 0; i < modulus - 1; i++) {\n this.logTable[this.expTable[i]] = i;\n }\n // logTable[0] == 0 but this should never be used\n this.zero = new ModulusPoly(this, new Int32Array([0]));\n this.one = new ModulusPoly(this, new Int32Array([1]));\n }\n getZero() {\n return this.zero;\n }\n getOne() {\n return this.one;\n }\n buildMonomial(degree, coefficient) {\n if (degree < 0) {\n throw new IllegalArgumentException();\n }\n if (coefficient === 0) {\n return this.zero;\n }\n let coefficients = new Int32Array(degree + 1);\n coefficients[0] = coefficient;\n return new ModulusPoly(this, coefficients);\n }\n }\n ModulusGF.PDF417_GF = new ModulusGF(PDF417Common.NUMBER_OF_CODEWORDS, 3);\n\n /*\n * Copyright 2012 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

PDF417 error correction implementation.

\n *\n *

This example\n * is quite useful in understanding the algorithm.

\n *\n * @author Sean Owen\n * @see com.google.zxing.common.reedsolomon.ReedSolomonDecoder\n */\n /*public final*/ class ErrorCorrection {\n constructor() {\n this.field = ModulusGF.PDF417_GF;\n }\n /**\n * @param received received codewords\n * @param numECCodewords number of those codewords used for EC\n * @param erasures location of erasures\n * @return number of errors\n * @throws ChecksumException if errors cannot be corrected, maybe because of too many errors\n */\n decode(received, numECCodewords, erasures) {\n let poly = new ModulusPoly(this.field, received);\n let S = new Int32Array(numECCodewords);\n let error = false;\n for (let i /*int*/ = numECCodewords; i > 0; i--) {\n let evaluation = poly.evaluateAt(this.field.exp(i));\n S[numECCodewords - i] = evaluation;\n if (evaluation !== 0) {\n error = true;\n }\n }\n if (!error) {\n return 0;\n }\n let knownErrors = this.field.getOne();\n if (erasures != null) {\n for (const erasure of erasures) {\n let b = this.field.exp(received.length - 1 - erasure);\n // Add (1 - bx) term:\n let term = new ModulusPoly(this.field, new Int32Array([this.field.subtract(0, b), 1]));\n knownErrors = knownErrors.multiply(term);\n }\n }\n let syndrome = new ModulusPoly(this.field, S);\n // syndrome = syndrome.multiply(knownErrors);\n let sigmaOmega = this.runEuclideanAlgorithm(this.field.buildMonomial(numECCodewords, 1), syndrome, numECCodewords);\n let sigma = sigmaOmega[0];\n let omega = sigmaOmega[1];\n // sigma = sigma.multiply(knownErrors);\n let errorLocations = this.findErrorLocations(sigma);\n let errorMagnitudes = this.findErrorMagnitudes(omega, sigma, errorLocations);\n for (let i /*int*/ = 0; i < errorLocations.length; i++) {\n let position = received.length - 1 - this.field.log(errorLocations[i]);\n if (position < 0) {\n throw ChecksumException.getChecksumInstance();\n }\n received[position] = this.field.subtract(received[position], errorMagnitudes[i]);\n }\n return errorLocations.length;\n }\n /**\n *\n * @param ModulusPoly\n * @param a\n * @param ModulusPoly\n * @param b\n * @param int\n * @param R\n * @throws ChecksumException\n */\n runEuclideanAlgorithm(a, b, R) {\n // Assume a's degree is >= b's\n if (a.getDegree() < b.getDegree()) {\n let temp = a;\n a = b;\n b = temp;\n }\n let rLast = a;\n let r = b;\n let tLast = this.field.getZero();\n let t = this.field.getOne();\n // Run Euclidean algorithm until r's degree is less than R/2\n while (r.getDegree() >= Math.round(R / 2)) {\n let rLastLast = rLast;\n let tLastLast = tLast;\n rLast = r;\n tLast = t;\n // Divide rLastLast by rLast, with quotient in q and remainder in r\n if (rLast.isZero()) {\n // Oops, Euclidean algorithm already terminated?\n throw ChecksumException.getChecksumInstance();\n }\n r = rLastLast;\n let q = this.field.getZero();\n let denominatorLeadingTerm = rLast.getCoefficient(rLast.getDegree());\n let dltInverse = this.field.inverse(denominatorLeadingTerm);\n while (r.getDegree() >= rLast.getDegree() && !r.isZero()) {\n let degreeDiff = r.getDegree() - rLast.getDegree();\n let scale = this.field.multiply(r.getCoefficient(r.getDegree()), dltInverse);\n q = q.add(this.field.buildMonomial(degreeDiff, scale));\n r = r.subtract(rLast.multiplyByMonomial(degreeDiff, scale));\n }\n t = q.multiply(tLast).subtract(tLastLast).negative();\n }\n let sigmaTildeAtZero = t.getCoefficient(0);\n if (sigmaTildeAtZero === 0) {\n throw ChecksumException.getChecksumInstance();\n }\n let inverse = this.field.inverse(sigmaTildeAtZero);\n let sigma = t.multiply(inverse);\n let omega = r.multiply(inverse);\n return [sigma, omega];\n }\n /**\n *\n * @param errorLocator\n * @throws ChecksumException\n */\n findErrorLocations(errorLocator) {\n // This is a direct application of Chien's search\n let numErrors = errorLocator.getDegree();\n let result = new Int32Array(numErrors);\n let e = 0;\n for (let i /*int*/ = 1; i < this.field.getSize() && e < numErrors; i++) {\n if (errorLocator.evaluateAt(i) === 0) {\n result[e] = this.field.inverse(i);\n e++;\n }\n }\n if (e !== numErrors) {\n throw ChecksumException.getChecksumInstance();\n }\n return result;\n }\n findErrorMagnitudes(errorEvaluator, errorLocator, errorLocations) {\n let errorLocatorDegree = errorLocator.getDegree();\n let formalDerivativeCoefficients = new Int32Array(errorLocatorDegree);\n for (let i /*int*/ = 1; i <= errorLocatorDegree; i++) {\n formalDerivativeCoefficients[errorLocatorDegree - i] =\n this.field.multiply(i, errorLocator.getCoefficient(i));\n }\n let formalDerivative = new ModulusPoly(this.field, formalDerivativeCoefficients);\n // This is directly applying Forney's Formula\n let s = errorLocations.length;\n let result = new Int32Array(s);\n for (let i /*int*/ = 0; i < s; i++) {\n let xiInverse = this.field.inverse(errorLocations[i]);\n let numerator = this.field.subtract(0, errorEvaluator.evaluateAt(xiInverse));\n let denominator = this.field.inverse(formalDerivative.evaluateAt(xiInverse));\n result[i] = this.field.multiply(numerator, denominator);\n }\n return result;\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Guenther Grau\n */\n /*final*/ class BoundingBox {\n constructor(image, topLeft, bottomLeft, topRight, bottomRight) {\n if (image instanceof BoundingBox) {\n this.constructor_2(image);\n }\n else {\n this.constructor_1(image, topLeft, bottomLeft, topRight, bottomRight);\n }\n }\n /**\n *\n * @param image\n * @param topLeft\n * @param bottomLeft\n * @param topRight\n * @param bottomRight\n *\n * @throws NotFoundException\n */\n constructor_1(image, topLeft, bottomLeft, topRight, bottomRight) {\n const leftUnspecified = topLeft == null || bottomLeft == null;\n const rightUnspecified = topRight == null || bottomRight == null;\n if (leftUnspecified && rightUnspecified) {\n throw new NotFoundException();\n }\n if (leftUnspecified) {\n topLeft = new ResultPoint(0, topRight.getY());\n bottomLeft = new ResultPoint(0, bottomRight.getY());\n }\n else if (rightUnspecified) {\n topRight = new ResultPoint(image.getWidth() - 1, topLeft.getY());\n bottomRight = new ResultPoint(image.getWidth() - 1, bottomLeft.getY());\n }\n this.image = image;\n this.topLeft = topLeft;\n this.bottomLeft = bottomLeft;\n this.topRight = topRight;\n this.bottomRight = bottomRight;\n this.minX = Math.trunc(Math.min(topLeft.getX(), bottomLeft.getX()));\n this.maxX = Math.trunc(Math.max(topRight.getX(), bottomRight.getX()));\n this.minY = Math.trunc(Math.min(topLeft.getY(), topRight.getY()));\n this.maxY = Math.trunc(Math.max(bottomLeft.getY(), bottomRight.getY()));\n }\n constructor_2(boundingBox) {\n this.image = boundingBox.image;\n this.topLeft = boundingBox.getTopLeft();\n this.bottomLeft = boundingBox.getBottomLeft();\n this.topRight = boundingBox.getTopRight();\n this.bottomRight = boundingBox.getBottomRight();\n this.minX = boundingBox.getMinX();\n this.maxX = boundingBox.getMaxX();\n this.minY = boundingBox.getMinY();\n this.maxY = boundingBox.getMaxY();\n }\n /**\n * @throws NotFoundException\n */\n static merge(leftBox, rightBox) {\n if (leftBox == null) {\n return rightBox;\n }\n if (rightBox == null) {\n return leftBox;\n }\n return new BoundingBox(leftBox.image, leftBox.topLeft, leftBox.bottomLeft, rightBox.topRight, rightBox.bottomRight);\n }\n /**\n * @throws NotFoundException\n */\n addMissingRows(missingStartRows, missingEndRows, isLeft) {\n let newTopLeft = this.topLeft;\n let newBottomLeft = this.bottomLeft;\n let newTopRight = this.topRight;\n let newBottomRight = this.bottomRight;\n if (missingStartRows > 0) {\n let top = isLeft ? this.topLeft : this.topRight;\n let newMinY = Math.trunc(top.getY() - missingStartRows);\n if (newMinY < 0) {\n newMinY = 0;\n }\n let newTop = new ResultPoint(top.getX(), newMinY);\n if (isLeft) {\n newTopLeft = newTop;\n }\n else {\n newTopRight = newTop;\n }\n }\n if (missingEndRows > 0) {\n let bottom = isLeft ? this.bottomLeft : this.bottomRight;\n let newMaxY = Math.trunc(bottom.getY() + missingEndRows);\n if (newMaxY >= this.image.getHeight()) {\n newMaxY = this.image.getHeight() - 1;\n }\n let newBottom = new ResultPoint(bottom.getX(), newMaxY);\n if (isLeft) {\n newBottomLeft = newBottom;\n }\n else {\n newBottomRight = newBottom;\n }\n }\n return new BoundingBox(this.image, newTopLeft, newBottomLeft, newTopRight, newBottomRight);\n }\n getMinX() {\n return this.minX;\n }\n getMaxX() {\n return this.maxX;\n }\n getMinY() {\n return this.minY;\n }\n getMaxY() {\n return this.maxY;\n }\n getTopLeft() {\n return this.topLeft;\n }\n getTopRight() {\n return this.topRight;\n }\n getBottomLeft() {\n return this.bottomLeft;\n }\n getBottomRight() {\n return this.bottomRight;\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // package com.google.zxing.pdf417.decoder;\n /**\n * @author Guenther Grau\n */\n /*final*/ class BarcodeMetadata {\n constructor(columnCount, rowCountUpperPart, rowCountLowerPart, errorCorrectionLevel) {\n this.columnCount = columnCount;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.rowCountUpperPart = rowCountUpperPart;\n this.rowCountLowerPart = rowCountLowerPart;\n this.rowCount = rowCountUpperPart + rowCountLowerPart;\n }\n getColumnCount() {\n return this.columnCount;\n }\n getErrorCorrectionLevel() {\n return this.errorCorrectionLevel;\n }\n getRowCount() {\n return this.rowCount;\n }\n getRowCountUpperPart() {\n return this.rowCountUpperPart;\n }\n getRowCountLowerPart() {\n return this.rowCountLowerPart;\n }\n }\n\n /**\n * Java Formatter class polyfill that works in the JS way.\n */\n class Formatter {\n constructor() {\n this.buffer = '';\n }\n /**\n *\n * @see https://stackoverflow.com/a/13439711/4367683\n *\n * @param str\n * @param arr\n */\n static form(str, arr) {\n let i = -1;\n function callback(exp, p0, p1, p2, p3, p4) {\n if (exp === '%%')\n return '%';\n if (arr[++i] === undefined)\n return undefined;\n exp = p2 ? parseInt(p2.substr(1)) : undefined;\n let base = p3 ? parseInt(p3.substr(1)) : undefined;\n let val;\n switch (p4) {\n case 's':\n val = arr[i];\n break;\n case 'c':\n val = arr[i][0];\n break;\n case 'f':\n val = parseFloat(arr[i]).toFixed(exp);\n break;\n case 'p':\n val = parseFloat(arr[i]).toPrecision(exp);\n break;\n case 'e':\n val = parseFloat(arr[i]).toExponential(exp);\n break;\n case 'x':\n val = parseInt(arr[i]).toString(base ? base : 16);\n break;\n case 'd':\n val = parseFloat(parseInt(arr[i], base ? base : 10).toPrecision(exp)).toFixed(0);\n break;\n }\n val = typeof val === 'object' ? JSON.stringify(val) : (+val).toString(base);\n let size = parseInt(p1); /* padding size */\n let ch = p1 && (p1[0] + '') === '0' ? '0' : ' '; /* isnull? */\n while (val.length < size)\n val = p0 !== undefined ? val + ch : ch + val; /* isminus? */\n return val;\n }\n let regex = /%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;\n return str.replace(regex, callback);\n }\n /**\n *\n * @param append The new string to append.\n * @param args Argumets values to be formated.\n */\n format(append, ...args) {\n this.buffer += Formatter.form(append, args);\n }\n /**\n * Returns the Formatter string value.\n */\n toString() {\n return this.buffer;\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Guenther Grau\n */\n class DetectionResultColumn {\n constructor(boundingBox) {\n this.boundingBox = new BoundingBox(boundingBox);\n // this.codewords = new Codeword[boundingBox.getMaxY() - boundingBox.getMinY() + 1];\n this.codewords = new Array(boundingBox.getMaxY() - boundingBox.getMinY() + 1);\n }\n /*final*/ getCodewordNearby(imageRow) {\n let codeword = this.getCodeword(imageRow);\n if (codeword != null) {\n return codeword;\n }\n for (let i = 1; i < DetectionResultColumn.MAX_NEARBY_DISTANCE; i++) {\n let nearImageRow = this.imageRowToCodewordIndex(imageRow) - i;\n if (nearImageRow >= 0) {\n codeword = this.codewords[nearImageRow];\n if (codeword != null) {\n return codeword;\n }\n }\n nearImageRow = this.imageRowToCodewordIndex(imageRow) + i;\n if (nearImageRow < this.codewords.length) {\n codeword = this.codewords[nearImageRow];\n if (codeword != null) {\n return codeword;\n }\n }\n }\n return null;\n }\n /*final int*/ imageRowToCodewordIndex(imageRow) {\n return imageRow - this.boundingBox.getMinY();\n }\n /*final void*/ setCodeword(imageRow, codeword) {\n this.codewords[this.imageRowToCodewordIndex(imageRow)] = codeword;\n }\n /*final*/ getCodeword(imageRow) {\n return this.codewords[this.imageRowToCodewordIndex(imageRow)];\n }\n /*final*/ getBoundingBox() {\n return this.boundingBox;\n }\n /*final*/ getCodewords() {\n return this.codewords;\n }\n // @Override\n toString() {\n const formatter = new Formatter();\n let row = 0;\n for (const codeword of this.codewords) {\n if (codeword == null) {\n formatter.format('%3d: | %n', row++);\n continue;\n }\n formatter.format('%3d: %3d|%3d%n', row++, codeword.getRowNumber(), codeword.getValue());\n }\n return formatter.toString();\n }\n }\n DetectionResultColumn.MAX_NEARBY_DISTANCE = 5;\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // import java.util.ArrayList;\n // import java.util.Collection;\n // import java.util.HashMap;\n // import java.util.Map;\n // import java.util.Map.Entry;\n /**\n * @author Guenther Grau\n */\n /*final*/ class BarcodeValue {\n constructor() {\n this.values = new Map();\n }\n /**\n * Add an occurrence of a value\n */\n setValue(value) {\n value = Math.trunc(value);\n let confidence = this.values.get(value);\n if (confidence == null) {\n confidence = 0;\n }\n confidence++;\n this.values.set(value, confidence);\n }\n /**\n * Determines the maximum occurrence of a set value and returns all values which were set with this occurrence.\n * @return an array of int, containing the values with the highest occurrence, or null, if no value was set\n */\n getValue() {\n let maxConfidence = -1;\n let result = new Array();\n for (const [key, value] of this.values.entries()) {\n const entry = {\n getKey: () => key,\n getValue: () => value,\n };\n if (entry.getValue() > maxConfidence) {\n maxConfidence = entry.getValue();\n result = [];\n result.push(entry.getKey());\n }\n else if (entry.getValue() === maxConfidence) {\n result.push(entry.getKey());\n }\n }\n return PDF417Common.toIntArray(result);\n }\n getConfidence(value) {\n return this.values.get(value);\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Guenther Grau\n */\n /*final*/ class DetectionResultRowIndicatorColumn extends DetectionResultColumn {\n constructor(boundingBox, isLeft) {\n super(boundingBox);\n this._isLeft = isLeft;\n }\n setRowNumbers() {\n for (let codeword /*Codeword*/ of this.getCodewords()) {\n if (codeword != null) {\n codeword.setRowNumberAsRowIndicatorColumn();\n }\n }\n }\n // TODO implement properly\n // TODO maybe we should add missing codewords to store the correct row number to make\n // finding row numbers for other columns easier\n // use row height count to make detection of invalid row numbers more reliable\n adjustCompleteIndicatorColumnRowNumbers(barcodeMetadata) {\n let codewords = this.getCodewords();\n this.setRowNumbers();\n this.removeIncorrectCodewords(codewords, barcodeMetadata);\n let boundingBox = this.getBoundingBox();\n let top = this._isLeft ? boundingBox.getTopLeft() : boundingBox.getTopRight();\n let bottom = this._isLeft ? boundingBox.getBottomLeft() : boundingBox.getBottomRight();\n let firstRow = this.imageRowToCodewordIndex(Math.trunc(top.getY()));\n let lastRow = this.imageRowToCodewordIndex(Math.trunc(bottom.getY()));\n // We need to be careful using the average row height. Barcode could be skewed so that we have smaller and\n // taller rows\n // float averageRowHeight = (lastRow - firstRow) / /*(float)*/ barcodeMetadata.getRowCount();\n let barcodeRow = -1;\n let maxRowHeight = 1;\n let currentRowHeight = 0;\n for (let codewordsRow /*int*/ = firstRow; codewordsRow < lastRow; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n let codeword = codewords[codewordsRow];\n // float expectedRowNumber = (codewordsRow - firstRow) / averageRowHeight;\n // if (Math.abs(codeword.getRowNumber() - expectedRowNumber) > 2) {\n // SimpleLog.log(LEVEL.WARNING,\n // \"Removing codeword, rowNumberSkew too high, codeword[\" + codewordsRow + \"]: Expected Row: \" +\n // expectedRowNumber + \", RealRow: \" + codeword.getRowNumber() + \", value: \" + codeword.getValue());\n // codewords[codewordsRow] = null;\n // }\n let rowDifference = codeword.getRowNumber() - barcodeRow;\n // TODO improve handling with case where first row indicator doesn't start with 0\n if (rowDifference === 0) {\n currentRowHeight++;\n }\n else if (rowDifference === 1) {\n maxRowHeight = Math.max(maxRowHeight, currentRowHeight);\n currentRowHeight = 1;\n barcodeRow = codeword.getRowNumber();\n }\n else if (rowDifference < 0 ||\n codeword.getRowNumber() >= barcodeMetadata.getRowCount() ||\n rowDifference > codewordsRow) {\n codewords[codewordsRow] = null;\n }\n else {\n let checkedRows;\n if (maxRowHeight > 2) {\n checkedRows = (maxRowHeight - 2) * rowDifference;\n }\n else {\n checkedRows = rowDifference;\n }\n let closePreviousCodewordFound = checkedRows >= codewordsRow;\n for (let i /*int*/ = 1; i <= checkedRows && !closePreviousCodewordFound; i++) {\n // there must be (height * rowDifference) number of codewords missing. For now we assume height = 1.\n // This should hopefully get rid of most problems already.\n closePreviousCodewordFound = codewords[codewordsRow - i] != null;\n }\n if (closePreviousCodewordFound) {\n codewords[codewordsRow] = null;\n }\n else {\n barcodeRow = codeword.getRowNumber();\n currentRowHeight = 1;\n }\n }\n }\n // return (int) (averageRowHeight + 0.5);\n }\n getRowHeights() {\n let barcodeMetadata = this.getBarcodeMetadata();\n if (barcodeMetadata == null) {\n return null;\n }\n this.adjustIncompleteIndicatorColumnRowNumbers(barcodeMetadata);\n let result = new Int32Array(barcodeMetadata.getRowCount());\n for (let codeword /*Codeword*/ of this.getCodewords()) {\n if (codeword != null) {\n let rowNumber = codeword.getRowNumber();\n if (rowNumber >= result.length) {\n // We have more rows than the barcode metadata allows for, ignore them.\n continue;\n }\n result[rowNumber]++;\n } // else throw exception?\n }\n return result;\n }\n // TODO maybe we should add missing codewords to store the correct row number to make\n // finding row numbers for other columns easier\n // use row height count to make detection of invalid row numbers more reliable\n adjustIncompleteIndicatorColumnRowNumbers(barcodeMetadata) {\n let boundingBox = this.getBoundingBox();\n let top = this._isLeft ? boundingBox.getTopLeft() : boundingBox.getTopRight();\n let bottom = this._isLeft ? boundingBox.getBottomLeft() : boundingBox.getBottomRight();\n let firstRow = this.imageRowToCodewordIndex(Math.trunc(top.getY()));\n let lastRow = this.imageRowToCodewordIndex(Math.trunc(bottom.getY()));\n // float averageRowHeight = (lastRow - firstRow) / /*(float)*/ barcodeMetadata.getRowCount();\n let codewords = this.getCodewords();\n let barcodeRow = -1;\n for (let codewordsRow /*int*/ = firstRow; codewordsRow < lastRow; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n let codeword = codewords[codewordsRow];\n codeword.setRowNumberAsRowIndicatorColumn();\n let rowDifference = codeword.getRowNumber() - barcodeRow;\n // TODO improve handling with case where first row indicator doesn't start with 0\n if (rowDifference === 0) ;\n else if (rowDifference === 1) {\n barcodeRow = codeword.getRowNumber();\n }\n else if (codeword.getRowNumber() >= barcodeMetadata.getRowCount()) {\n codewords[codewordsRow] = null;\n }\n else {\n barcodeRow = codeword.getRowNumber();\n }\n }\n // return (int) (averageRowHeight + 0.5);\n }\n getBarcodeMetadata() {\n let codewords = this.getCodewords();\n let barcodeColumnCount = new BarcodeValue();\n let barcodeRowCountUpperPart = new BarcodeValue();\n let barcodeRowCountLowerPart = new BarcodeValue();\n let barcodeECLevel = new BarcodeValue();\n for (let codeword /*Codeword*/ of codewords) {\n if (codeword == null) {\n continue;\n }\n codeword.setRowNumberAsRowIndicatorColumn();\n let rowIndicatorValue = codeword.getValue() % 30;\n let codewordRowNumber = codeword.getRowNumber();\n if (!this._isLeft) {\n codewordRowNumber += 2;\n }\n switch (codewordRowNumber % 3) {\n case 0:\n barcodeRowCountUpperPart.setValue(rowIndicatorValue * 3 + 1);\n break;\n case 1:\n barcodeECLevel.setValue(rowIndicatorValue / 3);\n barcodeRowCountLowerPart.setValue(rowIndicatorValue % 3);\n break;\n case 2:\n barcodeColumnCount.setValue(rowIndicatorValue + 1);\n break;\n }\n }\n // Maybe we should check if we have ambiguous values?\n if ((barcodeColumnCount.getValue().length === 0) ||\n (barcodeRowCountUpperPart.getValue().length === 0) ||\n (barcodeRowCountLowerPart.getValue().length === 0) ||\n (barcodeECLevel.getValue().length === 0) ||\n barcodeColumnCount.getValue()[0] < 1 ||\n barcodeRowCountUpperPart.getValue()[0] + barcodeRowCountLowerPart.getValue()[0] < PDF417Common.MIN_ROWS_IN_BARCODE ||\n barcodeRowCountUpperPart.getValue()[0] + barcodeRowCountLowerPart.getValue()[0] > PDF417Common.MAX_ROWS_IN_BARCODE) {\n return null;\n }\n let barcodeMetadata = new BarcodeMetadata(barcodeColumnCount.getValue()[0], barcodeRowCountUpperPart.getValue()[0], barcodeRowCountLowerPart.getValue()[0], barcodeECLevel.getValue()[0]);\n this.removeIncorrectCodewords(codewords, barcodeMetadata);\n return barcodeMetadata;\n }\n removeIncorrectCodewords(codewords, barcodeMetadata) {\n // Remove codewords which do not match the metadata\n // TODO Maybe we should keep the incorrect codewords for the start and end positions?\n for (let codewordRow /*int*/ = 0; codewordRow < codewords.length; codewordRow++) {\n let codeword = codewords[codewordRow];\n if (codewords[codewordRow] == null) {\n continue;\n }\n let rowIndicatorValue = codeword.getValue() % 30;\n let codewordRowNumber = codeword.getRowNumber();\n if (codewordRowNumber > barcodeMetadata.getRowCount()) {\n codewords[codewordRow] = null;\n continue;\n }\n if (!this._isLeft) {\n codewordRowNumber += 2;\n }\n switch (codewordRowNumber % 3) {\n case 0:\n if (rowIndicatorValue * 3 + 1 !== barcodeMetadata.getRowCountUpperPart()) {\n codewords[codewordRow] = null;\n }\n break;\n case 1:\n if (Math.trunc(rowIndicatorValue / 3) !== barcodeMetadata.getErrorCorrectionLevel() ||\n rowIndicatorValue % 3 !== barcodeMetadata.getRowCountLowerPart()) {\n codewords[codewordRow] = null;\n }\n break;\n case 2:\n if (rowIndicatorValue + 1 !== barcodeMetadata.getColumnCount()) {\n codewords[codewordRow] = null;\n }\n break;\n }\n }\n }\n isLeft() {\n return this._isLeft;\n }\n // @Override\n toString() {\n return 'IsLeft: ' + this._isLeft + '\\n' + super.toString();\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Guenther Grau\n */\n /*final*/ class DetectionResult {\n constructor(barcodeMetadata, boundingBox) {\n /*final*/ this.ADJUST_ROW_NUMBER_SKIP = 2;\n this.barcodeMetadata = barcodeMetadata;\n this.barcodeColumnCount = barcodeMetadata.getColumnCount();\n this.boundingBox = boundingBox;\n // this.detectionResultColumns = new DetectionResultColumn[this.barcodeColumnCount + 2];\n this.detectionResultColumns = new Array(this.barcodeColumnCount + 2);\n }\n getDetectionResultColumns() {\n this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]);\n this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount + 1]);\n let unadjustedCodewordCount = PDF417Common.MAX_CODEWORDS_IN_BARCODE;\n let previousUnadjustedCount;\n do {\n previousUnadjustedCount = unadjustedCodewordCount;\n unadjustedCodewordCount = this.adjustRowNumbersAndGetCount();\n } while (unadjustedCodewordCount > 0 && unadjustedCodewordCount < previousUnadjustedCount);\n return this.detectionResultColumns;\n }\n adjustIndicatorColumnRowNumbers(detectionResultColumn) {\n if (detectionResultColumn != null) {\n detectionResultColumn\n .adjustCompleteIndicatorColumnRowNumbers(this.barcodeMetadata);\n }\n }\n // TODO ensure that no detected codewords with unknown row number are left\n // we should be able to estimate the row height and use it as a hint for the row number\n // we should also fill the rows top to bottom and bottom to top\n /**\n * @return number of codewords which don't have a valid row number. Note that the count is not accurate as codewords\n * will be counted several times. It just serves as an indicator to see when we can stop adjusting row numbers\n */\n adjustRowNumbersAndGetCount() {\n let unadjustedCount = this.adjustRowNumbersByRow();\n if (unadjustedCount === 0) {\n return 0;\n }\n for (let barcodeColumn /*int*/ = 1; barcodeColumn < this.barcodeColumnCount + 1; barcodeColumn++) {\n let codewords = this.detectionResultColumns[barcodeColumn].getCodewords();\n for (let codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n if (!codewords[codewordsRow].hasValidRowNumber()) {\n this.adjustRowNumbers(barcodeColumn, codewordsRow, codewords);\n }\n }\n }\n return unadjustedCount;\n }\n adjustRowNumbersByRow() {\n this.adjustRowNumbersFromBothRI();\n // TODO we should only do full row adjustments if row numbers of left and right row indicator column match.\n // Maybe it's even better to calculated the height (rows: d) and divide it by the number of barcode\n // rows. This, together with the LRI and RRI row numbers should allow us to get a good estimate where a row\n // number starts and ends.\n let unadjustedCount = this.adjustRowNumbersFromLRI();\n return unadjustedCount + this.adjustRowNumbersFromRRI();\n }\n adjustRowNumbersFromBothRI() {\n if (this.detectionResultColumns[0] == null || this.detectionResultColumns[this.barcodeColumnCount + 1] == null) {\n return;\n }\n let LRIcodewords = this.detectionResultColumns[0].getCodewords();\n let RRIcodewords = this.detectionResultColumns[this.barcodeColumnCount + 1].getCodewords();\n for (let codewordsRow /*int*/ = 0; codewordsRow < LRIcodewords.length; codewordsRow++) {\n if (LRIcodewords[codewordsRow] != null &&\n RRIcodewords[codewordsRow] != null &&\n LRIcodewords[codewordsRow].getRowNumber() === RRIcodewords[codewordsRow].getRowNumber()) {\n for (let barcodeColumn /*int*/ = 1; barcodeColumn <= this.barcodeColumnCount; barcodeColumn++) {\n let codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword == null) {\n continue;\n }\n codeword.setRowNumber(LRIcodewords[codewordsRow].getRowNumber());\n if (!codeword.hasValidRowNumber()) {\n this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow] = null;\n }\n }\n }\n }\n }\n adjustRowNumbersFromRRI() {\n if (this.detectionResultColumns[this.barcodeColumnCount + 1] == null) {\n return 0;\n }\n let unadjustedCount = 0;\n let codewords = this.detectionResultColumns[this.barcodeColumnCount + 1].getCodewords();\n for (let codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n let rowIndicatorRowNumber = codewords[codewordsRow].getRowNumber();\n let invalidRowCounts = 0;\n for (let barcodeColumn /*int*/ = this.barcodeColumnCount + 1; barcodeColumn > 0 && invalidRowCounts < this.ADJUST_ROW_NUMBER_SKIP; barcodeColumn--) {\n let codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword != null) {\n invalidRowCounts = DetectionResult.adjustRowNumberIfValid(rowIndicatorRowNumber, invalidRowCounts, codeword);\n if (!codeword.hasValidRowNumber()) {\n unadjustedCount++;\n }\n }\n }\n }\n return unadjustedCount;\n }\n adjustRowNumbersFromLRI() {\n if (this.detectionResultColumns[0] == null) {\n return 0;\n }\n let unadjustedCount = 0;\n let codewords = this.detectionResultColumns[0].getCodewords();\n for (let codewordsRow /*int*/ = 0; codewordsRow < codewords.length; codewordsRow++) {\n if (codewords[codewordsRow] == null) {\n continue;\n }\n let rowIndicatorRowNumber = codewords[codewordsRow].getRowNumber();\n let invalidRowCounts = 0;\n for (let barcodeColumn /*int*/ = 1; barcodeColumn < this.barcodeColumnCount + 1 && invalidRowCounts < this.ADJUST_ROW_NUMBER_SKIP; barcodeColumn++) {\n let codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword != null) {\n invalidRowCounts = DetectionResult.adjustRowNumberIfValid(rowIndicatorRowNumber, invalidRowCounts, codeword);\n if (!codeword.hasValidRowNumber()) {\n unadjustedCount++;\n }\n }\n }\n }\n return unadjustedCount;\n }\n static adjustRowNumberIfValid(rowIndicatorRowNumber, invalidRowCounts, codeword) {\n if (codeword == null) {\n return invalidRowCounts;\n }\n if (!codeword.hasValidRowNumber()) {\n if (codeword.isValidRowNumber(rowIndicatorRowNumber)) {\n codeword.setRowNumber(rowIndicatorRowNumber);\n invalidRowCounts = 0;\n }\n else {\n ++invalidRowCounts;\n }\n }\n return invalidRowCounts;\n }\n adjustRowNumbers(barcodeColumn, codewordsRow, codewords) {\n let codeword = codewords[codewordsRow];\n let previousColumnCodewords = this.detectionResultColumns[barcodeColumn - 1].getCodewords();\n let nextColumnCodewords = previousColumnCodewords;\n if (this.detectionResultColumns[barcodeColumn + 1] != null) {\n nextColumnCodewords = this.detectionResultColumns[barcodeColumn + 1].getCodewords();\n }\n // let otherCodewords: Codeword[] = new Codeword[14];\n let otherCodewords = new Array(14);\n otherCodewords[2] = previousColumnCodewords[codewordsRow];\n otherCodewords[3] = nextColumnCodewords[codewordsRow];\n if (codewordsRow > 0) {\n otherCodewords[0] = codewords[codewordsRow - 1];\n otherCodewords[4] = previousColumnCodewords[codewordsRow - 1];\n otherCodewords[5] = nextColumnCodewords[codewordsRow - 1];\n }\n if (codewordsRow > 1) {\n otherCodewords[8] = codewords[codewordsRow - 2];\n otherCodewords[10] = previousColumnCodewords[codewordsRow - 2];\n otherCodewords[11] = nextColumnCodewords[codewordsRow - 2];\n }\n if (codewordsRow < codewords.length - 1) {\n otherCodewords[1] = codewords[codewordsRow + 1];\n otherCodewords[6] = previousColumnCodewords[codewordsRow + 1];\n otherCodewords[7] = nextColumnCodewords[codewordsRow + 1];\n }\n if (codewordsRow < codewords.length - 2) {\n otherCodewords[9] = codewords[codewordsRow + 2];\n otherCodewords[12] = previousColumnCodewords[codewordsRow + 2];\n otherCodewords[13] = nextColumnCodewords[codewordsRow + 2];\n }\n for (let otherCodeword of otherCodewords) {\n if (DetectionResult.adjustRowNumber(codeword, otherCodeword)) {\n return;\n }\n }\n }\n /**\n * @return true, if row number was adjusted, false otherwise\n */\n static adjustRowNumber(codeword, otherCodeword) {\n if (otherCodeword == null) {\n return false;\n }\n if (otherCodeword.hasValidRowNumber() && otherCodeword.getBucket() === codeword.getBucket()) {\n codeword.setRowNumber(otherCodeword.getRowNumber());\n return true;\n }\n return false;\n }\n getBarcodeColumnCount() {\n return this.barcodeColumnCount;\n }\n getBarcodeRowCount() {\n return this.barcodeMetadata.getRowCount();\n }\n getBarcodeECLevel() {\n return this.barcodeMetadata.getErrorCorrectionLevel();\n }\n setBoundingBox(boundingBox) {\n this.boundingBox = boundingBox;\n }\n getBoundingBox() {\n return this.boundingBox;\n }\n setDetectionResultColumn(barcodeColumn, detectionResultColumn) {\n this.detectionResultColumns[barcodeColumn] = detectionResultColumn;\n }\n getDetectionResultColumn(barcodeColumn) {\n return this.detectionResultColumns[barcodeColumn];\n }\n // @Override\n toString() {\n let rowIndicatorColumn = this.detectionResultColumns[0];\n if (rowIndicatorColumn == null) {\n rowIndicatorColumn = this.detectionResultColumns[this.barcodeColumnCount + 1];\n }\n // try (\n let formatter = new Formatter();\n // ) {\n for (let codewordsRow /*int*/ = 0; codewordsRow < rowIndicatorColumn.getCodewords().length; codewordsRow++) {\n formatter.format('CW %3d:', codewordsRow);\n for (let barcodeColumn /*int*/ = 0; barcodeColumn < this.barcodeColumnCount + 2; barcodeColumn++) {\n if (this.detectionResultColumns[barcodeColumn] == null) {\n formatter.format(' | ');\n continue;\n }\n let codeword = this.detectionResultColumns[barcodeColumn].getCodewords()[codewordsRow];\n if (codeword == null) {\n formatter.format(' | ');\n continue;\n }\n formatter.format(' %3d|%3d', codeword.getRowNumber(), codeword.getValue());\n }\n formatter.format('%n');\n }\n return formatter.toString();\n // }\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // package com.google.zxing.pdf417.decoder;\n /**\n * @author Guenther Grau\n */\n /*final*/ class Codeword {\n constructor(startX, endX, bucket, value) {\n this.rowNumber = Codeword.BARCODE_ROW_UNKNOWN;\n this.startX = Math.trunc(startX);\n this.endX = Math.trunc(endX);\n this.bucket = Math.trunc(bucket);\n this.value = Math.trunc(value);\n }\n hasValidRowNumber() {\n return this.isValidRowNumber(this.rowNumber);\n }\n isValidRowNumber(rowNumber) {\n return rowNumber !== Codeword.BARCODE_ROW_UNKNOWN && this.bucket === (rowNumber % 3) * 3;\n }\n setRowNumberAsRowIndicatorColumn() {\n this.rowNumber = Math.trunc((Math.trunc(this.value / 30)) * 3 + Math.trunc(this.bucket / 3));\n }\n getWidth() {\n return this.endX - this.startX;\n }\n getStartX() {\n return this.startX;\n }\n getEndX() {\n return this.endX;\n }\n getBucket() {\n return this.bucket;\n }\n getValue() {\n return this.value;\n }\n getRowNumber() {\n return this.rowNumber;\n }\n setRowNumber(rowNumber) {\n this.rowNumber = rowNumber;\n }\n // @Override\n toString() {\n return this.rowNumber + '|' + this.value;\n }\n }\n Codeword.BARCODE_ROW_UNKNOWN = -1;\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Guenther Grau\n * @author creatale GmbH (christoph.schulz@creatale.de)\n */\n /*final*/ class PDF417CodewordDecoder {\n /* @note\n * this action have to be performed before first use of class\n * - static constructor\n * working with 32bit float (based from Java logic)\n */\n static initialize() {\n // Pre-computes the symbol ratio table.\n for ( /*int*/let i = 0; i < PDF417Common.SYMBOL_TABLE.length; i++) {\n let currentSymbol = PDF417Common.SYMBOL_TABLE[i];\n let currentBit = currentSymbol & 0x1;\n for ( /*int*/let j = 0; j < PDF417Common.BARS_IN_MODULE; j++) {\n let size = 0.0;\n while ((currentSymbol & 0x1) === currentBit) {\n size += 1.0;\n currentSymbol >>= 1;\n }\n currentBit = currentSymbol & 0x1;\n if (!PDF417CodewordDecoder.RATIOS_TABLE[i]) {\n PDF417CodewordDecoder.RATIOS_TABLE[i] = new Array(PDF417Common.BARS_IN_MODULE);\n }\n PDF417CodewordDecoder.RATIOS_TABLE[i][PDF417Common.BARS_IN_MODULE - j - 1] = Math.fround(size / PDF417Common.MODULES_IN_CODEWORD);\n }\n }\n this.bSymbolTableReady = true;\n }\n static getDecodedValue(moduleBitCount) {\n let decodedValue = PDF417CodewordDecoder.getDecodedCodewordValue(PDF417CodewordDecoder.sampleBitCounts(moduleBitCount));\n if (decodedValue !== -1) {\n return decodedValue;\n }\n return PDF417CodewordDecoder.getClosestDecodedValue(moduleBitCount);\n }\n static sampleBitCounts(moduleBitCount) {\n let bitCountSum = MathUtils.sum(moduleBitCount);\n let result = new Int32Array(PDF417Common.BARS_IN_MODULE);\n let bitCountIndex = 0;\n let sumPreviousBits = 0;\n for ( /*int*/let i = 0; i < PDF417Common.MODULES_IN_CODEWORD; i++) {\n let sampleIndex = bitCountSum / (2 * PDF417Common.MODULES_IN_CODEWORD) +\n (i * bitCountSum) / PDF417Common.MODULES_IN_CODEWORD;\n if (sumPreviousBits + moduleBitCount[bitCountIndex] <= sampleIndex) {\n sumPreviousBits += moduleBitCount[bitCountIndex];\n bitCountIndex++;\n }\n result[bitCountIndex]++;\n }\n return result;\n }\n static getDecodedCodewordValue(moduleBitCount) {\n let decodedValue = PDF417CodewordDecoder.getBitValue(moduleBitCount);\n return PDF417Common.getCodeword(decodedValue) === -1 ? -1 : decodedValue;\n }\n static getBitValue(moduleBitCount) {\n let result = /*long*/ 0;\n for (let /*int*/ i = 0; i < moduleBitCount.length; i++) {\n for ( /*int*/let bit = 0; bit < moduleBitCount[i]; bit++) {\n result = (result << 1) | (i % 2 === 0 ? 1 : 0);\n }\n }\n return Math.trunc(result);\n }\n // working with 32bit float (as in Java)\n static getClosestDecodedValue(moduleBitCount) {\n let bitCountSum = MathUtils.sum(moduleBitCount);\n let bitCountRatios = new Array(PDF417Common.BARS_IN_MODULE);\n if (bitCountSum > 1) {\n for (let /*int*/ i = 0; i < bitCountRatios.length; i++) {\n bitCountRatios[i] = Math.fround(moduleBitCount[i] / bitCountSum);\n }\n }\n let bestMatchError = Float.MAX_VALUE;\n let bestMatch = -1;\n if (!this.bSymbolTableReady) {\n PDF417CodewordDecoder.initialize();\n }\n for ( /*int*/let j = 0; j < PDF417CodewordDecoder.RATIOS_TABLE.length; j++) {\n let error = 0.0;\n let ratioTableRow = PDF417CodewordDecoder.RATIOS_TABLE[j];\n for ( /*int*/let k = 0; k < PDF417Common.BARS_IN_MODULE; k++) {\n let diff = Math.fround(ratioTableRow[k] - bitCountRatios[k]);\n error += Math.fround(diff * diff);\n if (error >= bestMatchError) {\n break;\n }\n }\n if (error < bestMatchError) {\n bestMatchError = error;\n bestMatch = PDF417Common.SYMBOL_TABLE[j];\n }\n }\n return bestMatch;\n }\n }\n // flag that the table is ready for use\n PDF417CodewordDecoder.bSymbolTableReady = false;\n PDF417CodewordDecoder.RATIOS_TABLE = new Array(PDF417Common.SYMBOL_TABLE.length).map(x => x = new Array(PDF417Common.BARS_IN_MODULE));\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // package com.google.zxing.pdf417;\n /**\n * @author Guenther Grau\n */\n /*public final*/ class PDF417ResultMetadata {\n constructor() {\n this.segmentCount = -1;\n this.fileSize = -1;\n this.timestamp = -1;\n this.checksum = -1;\n }\n /**\n * The Segment ID represents the segment of the whole file distributed over different symbols.\n *\n * @return File segment index\n */\n getSegmentIndex() {\n return this.segmentIndex;\n }\n setSegmentIndex(segmentIndex) {\n this.segmentIndex = segmentIndex;\n }\n /**\n * Is the same for each related PDF417 symbol\n *\n * @return File ID\n */\n getFileId() {\n return this.fileId;\n }\n setFileId(fileId) {\n this.fileId = fileId;\n }\n /**\n * @return always null\n * @deprecated use dedicated already parsed fields\n */\n // @Deprecated\n getOptionalData() {\n return this.optionalData;\n }\n /**\n * @param optionalData old optional data format as int array\n * @deprecated parse and use new fields\n */\n // @Deprecated\n setOptionalData(optionalData) {\n this.optionalData = optionalData;\n }\n /**\n * @return true if it is the last segment\n */\n isLastSegment() {\n return this.lastSegment;\n }\n setLastSegment(lastSegment) {\n this.lastSegment = lastSegment;\n }\n /**\n * @return count of segments, -1 if not set\n */\n getSegmentCount() {\n return this.segmentCount;\n }\n setSegmentCount(segmentCount /*int*/) {\n this.segmentCount = segmentCount;\n }\n getSender() {\n return this.sender || null;\n }\n setSender(sender) {\n this.sender = sender;\n }\n getAddressee() {\n return this.addressee || null;\n }\n setAddressee(addressee) {\n this.addressee = addressee;\n }\n /**\n * Filename of the encoded file\n *\n * @return filename\n */\n getFileName() {\n return this.fileName;\n }\n setFileName(fileName) {\n this.fileName = fileName;\n }\n /**\n * filesize in bytes of the encoded file\n *\n * @return filesize in bytes, -1 if not set\n */\n getFileSize() {\n return this.fileSize;\n }\n setFileSize(fileSize /*long*/) {\n this.fileSize = fileSize;\n }\n /**\n * 16-bit CRC checksum using CCITT-16\n *\n * @return crc checksum, -1 if not set\n */\n getChecksum() {\n return this.checksum;\n }\n setChecksum(checksum /*int*/) {\n this.checksum = checksum;\n }\n /**\n * unix epock timestamp, elapsed seconds since 1970-01-01\n *\n * @return elapsed seconds, -1 if not set\n */\n getTimestamp() {\n return this.timestamp;\n }\n setTimestamp(timestamp /*long*/) {\n this.timestamp = timestamp;\n }\n }\n\n /**\n * Ponyfill for Java's Long class.\n */\n class Long {\n /**\n * Parses a string to a number, since JS has no really Int64.\n *\n * @param num Numeric string.\n * @param radix Destination radix.\n */\n static parseLong(num, radix = undefined) {\n return parseInt(num, radix);\n }\n }\n\n /**\n * Custom Error class of type Exception.\n */\n class NullPointerException extends Exception {\n }\n NullPointerException.kind = 'NullPointerException';\n\n /*\n * Copyright (c) 1994, 2004, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n *\n * This code is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License version 2 only, as\n * published by the Free Software Foundation. Oracle designates this\n * particular file as subject to the \"Classpath\" exception as provided\n * by Oracle in the LICENSE file that accompanied this code.\n *\n * This code is distributed in the hope that it will be useful, but WITHOUT\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n * version 2 for more details (a copy is included in the LICENSE file that\n * accompanied this code).\n *\n * You should have received a copy of the GNU General Public License version\n * 2 along with this work; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.\n *\n * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA\n * or visit www.oracle.com if you need additional information or have any\n * questions.\n */\n // package java.io;\n /**\n * This abstract class is the superclass of all classes representing\n * an output stream of bytes. An output stream accepts output bytes\n * and sends them to some sink.\n *

\n * Applications that need to define a subclass of\n * OutputStream must always provide at least a method\n * that writes one byte of output.\n *\n * @author Arthur van Hoff\n * @see java.io.BufferedOutputStream\n * @see java.io.ByteArrayOutputStream\n * @see java.io.DataOutputStream\n * @see java.io.FilterOutputStream\n * @see java.io.InputStream\n * @see java.io.OutputStream#write(int)\n * @since JDK1.0\n */\n /*public*/ class OutputStream /*implements Closeable, Flushable*/ {\n /**\n * Writes b.length bytes from the specified byte array\n * to this output stream. The general contract for write(b)\n * is that it should have exactly the same effect as the call\n * write(b, 0, b.length).\n *\n * @param b the data.\n * @exception IOException if an I/O error occurs.\n * @see java.io.OutputStream#write(byte[], int, int)\n */\n writeBytes(b) {\n this.writeBytesOffset(b, 0, b.length);\n }\n /**\n * Writes len bytes from the specified byte array\n * starting at offset off to this output stream.\n * The general contract for write(b, off, len) is that\n * some of the bytes in the array b are written to the\n * output stream in order; element b[off] is the first\n * byte written and b[off+len-1] is the last byte written\n * by this operation.\n *

\n * The write method of OutputStream calls\n * the write method of one argument on each of the bytes to be\n * written out. Subclasses are encouraged to override this method and\n * provide a more efficient implementation.\n *

\n * If b is null, a\n * NullPointerException is thrown.\n *

\n * If off is negative, or len is negative, or\n * off+len is greater than the length of the array\n * b, then an IndexOutOfBoundsException is thrown.\n *\n * @param b the data.\n * @param off the start offset in the data.\n * @param len the number of bytes to write.\n * @exception IOException if an I/O error occurs. In particular,\n * an IOException is thrown if the output\n * stream is closed.\n */\n writeBytesOffset(b, off, len) {\n if (b == null) {\n throw new NullPointerException();\n }\n else if ((off < 0) || (off > b.length) || (len < 0) ||\n ((off + len) > b.length) || ((off + len) < 0)) {\n throw new IndexOutOfBoundsException();\n }\n else if (len === 0) {\n return;\n }\n for (let i = 0; i < len; i++) {\n this.write(b[off + i]);\n }\n }\n /**\n * Flushes this output stream and forces any buffered output bytes\n * to be written out. The general contract of flush is\n * that calling it is an indication that, if any bytes previously\n * written have been buffered by the implementation of the output\n * stream, such bytes should immediately be written to their\n * intended destination.\n *

\n * If the intended destination of this stream is an abstraction provided by\n * the underlying operating system, for example a file, then flushing the\n * stream guarantees only that bytes previously written to the stream are\n * passed to the operating system for writing; it does not guarantee that\n * they are actually written to a physical device such as a disk drive.\n *

\n * The flush method of OutputStream does nothing.\n *\n * @exception IOException if an I/O error occurs.\n */\n flush() {\n }\n /**\n * Closes this output stream and releases any system resources\n * associated with this stream. The general contract of close\n * is that it closes the output stream. A closed stream cannot perform\n * output operations and cannot be reopened.\n *

\n * The close method of OutputStream does nothing.\n *\n * @exception IOException if an I/O error occurs.\n */\n close() {\n }\n }\n\n /**\n * Custom Error class of type Exception.\n */\n class OutOfMemoryError extends Exception {\n }\n\n /*\n * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.\n * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.\n *\n * This code is free software; you can redistribute it and/or modify it\n * under the terms of the GNU General Public License version 2 only, as\n * published by the Free Software Foundation. Oracle designates this\n * particular file as subject to the \"Classpath\" exception as provided\n * by Oracle in the LICENSE file that accompanied this code.\n *\n * This code is distributed in the hope that it will be useful, but WITHOUT\n * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\n * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License\n * version 2 for more details (a copy is included in the LICENSE file that\n * accompanied this code).\n *\n * You should have received a copy of the GNU General Public License version\n * 2 along with this work; if not, write to the Free Software Foundation,\n * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.\n *\n * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA\n * or visit www.oracle.com if you need additional information or have any\n * questions.\n */\n /**\n * This class implements an output stream in which the data is\n * written into a byte array. The buffer automatically grows as data\n * is written to it.\n * The data can be retrieved using toByteArray() and\n * toString().\n *

\n * Closing a ByteArrayOutputStream has no effect. The methods in\n * this class can be called after the stream has been closed without\n * generating an IOException.\n *\n * @author Arthur van Hoff\n * @since JDK1.0\n */\n /*public*/ class ByteArrayOutputStream extends OutputStream {\n /**\n * Creates a new byte array output stream. The buffer capacity is\n * initially 32 bytes, though its size increases if necessary.\n */\n // public constructor() {\n // this(32);\n // }\n /**\n * Creates a new byte array output stream, with a buffer capacity of\n * the specified size, in bytes.\n *\n * @param size the initial size.\n * @exception IllegalArgumentException if size is negative.\n */\n constructor(size = 32) {\n super();\n /**\n * The number of valid bytes in the buffer.\n */\n this.count = 0;\n if (size < 0) {\n throw new IllegalArgumentException('Negative initial size: '\n + size);\n }\n this.buf = new Uint8Array(size);\n }\n /**\n * Increases the capacity if necessary to ensure that it can hold\n * at least the number of elements specified by the minimum\n * capacity argument.\n *\n * @param minCapacity the desired minimum capacity\n * @throws OutOfMemoryError if {@code minCapacity < 0}. This is\n * interpreted as a request for the unsatisfiably large capacity\n * {@code (long) Integer.MAX_VALUE + (minCapacity - Integer.MAX_VALUE)}.\n */\n ensureCapacity(minCapacity) {\n // overflow-conscious code\n if (minCapacity - this.buf.length > 0)\n this.grow(minCapacity);\n }\n /**\n * Increases the capacity to ensure that it can hold at least the\n * number of elements specified by the minimum capacity argument.\n *\n * @param minCapacity the desired minimum capacity\n */\n grow(minCapacity) {\n // overflow-conscious code\n let oldCapacity = this.buf.length;\n let newCapacity = oldCapacity << 1;\n if (newCapacity - minCapacity < 0)\n newCapacity = minCapacity;\n if (newCapacity < 0) {\n if (minCapacity < 0) // overflow\n throw new OutOfMemoryError();\n newCapacity = Integer.MAX_VALUE;\n }\n this.buf = Arrays.copyOfUint8Array(this.buf, newCapacity);\n }\n /**\n * Writes the specified byte to this byte array output stream.\n *\n * @param b the byte to be written.\n */\n write(b) {\n this.ensureCapacity(this.count + 1);\n this.buf[this.count] = /*(byte)*/ b;\n this.count += 1;\n }\n /**\n * Writes len bytes from the specified byte array\n * starting at offset off to this byte array output stream.\n *\n * @param b the data.\n * @param off the start offset in the data.\n * @param len the number of bytes to write.\n */\n writeBytesOffset(b, off, len) {\n if ((off < 0) || (off > b.length) || (len < 0) ||\n ((off + len) - b.length > 0)) {\n throw new IndexOutOfBoundsException();\n }\n this.ensureCapacity(this.count + len);\n System.arraycopy(b, off, this.buf, this.count, len);\n this.count += len;\n }\n /**\n * Writes the complete contents of this byte array output stream to\n * the specified output stream argument, as if by calling the output\n * stream's write method using out.write(buf, 0, count).\n *\n * @param out the output stream to which to write the data.\n * @exception IOException if an I/O error occurs.\n */\n writeTo(out) {\n out.writeBytesOffset(this.buf, 0, this.count);\n }\n /**\n * Resets the count field of this byte array output\n * stream to zero, so that all currently accumulated output in the\n * output stream is discarded. The output stream can be used again,\n * reusing the already allocated buffer space.\n *\n * @see java.io.ByteArrayInputStream#count\n */\n reset() {\n this.count = 0;\n }\n /**\n * Creates a newly allocated byte array. Its size is the current\n * size of this output stream and the valid contents of the buffer\n * have been copied into it.\n *\n * @return the current contents of this output stream, as a byte array.\n * @see java.io.ByteArrayOutputStream#size()\n */\n toByteArray() {\n return Arrays.copyOfUint8Array(this.buf, this.count);\n }\n /**\n * Returns the current size of the buffer.\n *\n * @return the value of the count field, which is the number\n * of valid bytes in this output stream.\n * @see java.io.ByteArrayOutputStream#count\n */\n size() {\n return this.count;\n }\n toString(param) {\n if (!param) {\n return this.toString_void();\n }\n if (typeof param === 'string') {\n return this.toString_string(param);\n }\n return this.toString_number(param);\n }\n /**\n * Converts the buffer's contents into a string decoding bytes using the\n * platform's default character set. The length of the new String\n * is a function of the character set, and hence may not be equal to the\n * size of the buffer.\n *\n *

This method always replaces malformed-input and unmappable-character\n * sequences with the default replacement string for the platform's\n * default character set. The {@linkplain java.nio.charset.CharsetDecoder}\n * class should be used when more control over the decoding process is\n * required.\n *\n * @return String decoded from the buffer's contents.\n * @since JDK1.1\n */\n toString_void() {\n return new String(this.buf /*, 0, this.count*/).toString();\n }\n /**\n * Converts the buffer's contents into a string by decoding the bytes using\n * the specified {@link java.nio.charset.Charset charsetName}. The length of\n * the new String is a function of the charset, and hence may not be\n * equal to the length of the byte array.\n *\n *

This method always replaces malformed-input and unmappable-character\n * sequences with this charset's default replacement string. The {@link\n * java.nio.charset.CharsetDecoder} class should be used when more control\n * over the decoding process is required.\n *\n * @param charsetName the name of a supported\n * {@linkplain java.nio.charset.Charset charset}\n * @return String decoded from the buffer's contents.\n * @exception UnsupportedEncodingException\n * If the named charset is not supported\n * @since JDK1.1\n */\n toString_string(charsetName) {\n return new String(this.buf /*, 0, this.count, charsetName*/).toString();\n }\n /**\n * Creates a newly allocated string. Its size is the current size of\n * the output stream and the valid contents of the buffer have been\n * copied into it. Each character c in the resulting string is\n * constructed from the corresponding element b in the byte\n * array such that:\n *

\n         *     c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))\n         * 
\n *\n * @deprecated This method does not properly convert bytes into characters.\n * As of JDK 1.1, the preferred way to do this is via the\n * toString(String enc) method, which takes an encoding-name\n * argument, or the toString() method, which uses the\n * platform's default character encoding.\n *\n * @param hibyte the high byte of each resulting Unicode character.\n * @return the current contents of the output stream, as a string.\n * @see java.io.ByteArrayOutputStream#size()\n * @see java.io.ByteArrayOutputStream#toString(String)\n * @see java.io.ByteArrayOutputStream#toString()\n */\n // @Deprecated\n toString_number(hibyte) {\n return new String(this.buf /*, hibyte, 0, this.count*/).toString();\n }\n /**\n * Closing a ByteArrayOutputStream has no effect. The methods in\n * this class can be called after the stream has been closed without\n * generating an IOException.\n *

\n *\n * @throws IOException\n */\n close() {\n }\n }\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*private*/ var Mode$2;\n (function (Mode) {\n Mode[Mode[\"ALPHA\"] = 0] = \"ALPHA\";\n Mode[Mode[\"LOWER\"] = 1] = \"LOWER\";\n Mode[Mode[\"MIXED\"] = 2] = \"MIXED\";\n Mode[Mode[\"PUNCT\"] = 3] = \"PUNCT\";\n Mode[Mode[\"ALPHA_SHIFT\"] = 4] = \"ALPHA_SHIFT\";\n Mode[Mode[\"PUNCT_SHIFT\"] = 5] = \"PUNCT_SHIFT\";\n })(Mode$2 || (Mode$2 = {}));\n /**\n * Indirectly access the global BigInt constructor, it\n * allows browsers that doesn't support BigInt to run\n * the library without breaking due to \"undefined BigInt\"\n * errors.\n */\n function getBigIntConstructor() {\n if (typeof window !== 'undefined') {\n return window['BigInt'] || null;\n }\n if (typeof global !== 'undefined') {\n return global['BigInt'] || null;\n }\n if (typeof self !== 'undefined') {\n return self['BigInt'] || null;\n }\n throw new Error('Can\\'t search globals for BigInt!');\n }\n /**\n * Used to store the BigInt constructor.\n */\n let BigInteger;\n /**\n * This function creates a bigint value. It allows browsers\n * that doesn't support BigInt to run the rest of the library\n * by not directly accessing the BigInt constructor.\n */\n function createBigInt(num) {\n if (typeof BigInteger === 'undefined') {\n BigInteger = getBigIntConstructor();\n }\n if (BigInteger === null) {\n throw new Error('BigInt is not supported!');\n }\n return BigInteger(num);\n }\n function getEXP900() {\n // in Java - array with length = 16\n let EXP900 = [];\n EXP900[0] = createBigInt(1);\n let nineHundred = createBigInt(900);\n EXP900[1] = nineHundred;\n // in Java - array with length = 16\n for (let i /*int*/ = 2; i < 16; i++) {\n EXP900[i] = EXP900[i - 1] * nineHundred;\n }\n return EXP900;\n }\n /**\n *

This class contains the methods for decoding the PDF417 codewords.

\n *\n * @author SITA Lab (kevin.osullivan@sita.aero)\n * @author Guenther Grau\n */\n /*final*/ class DecodedBitStreamParser$2 {\n // private DecodedBitStreamParser() {\n // }\n /**\n *\n * @param codewords\n * @param ecLevel\n *\n * @throws FormatException\n */\n static decode(codewords, ecLevel) {\n // pass encoding to result (will be used for decode symbols in byte mode)\n let result = new StringBuilder('');\n // let encoding: Charset = StandardCharsets.ISO_8859_1;\n let encoding = CharacterSetECI.ISO8859_1;\n /**\n * @note the next command is specific from this TypeScript library\n * because TS can't properly cast some values to char and\n * convert it to string later correctly due to encoding\n * differences from Java version. As reported here:\n * https://github.com/zxing-js/library/pull/264/files#r382831593\n */\n result.enableDecoding(encoding);\n // Get compaction mode\n let codeIndex = 1;\n let code = codewords[codeIndex++];\n let resultMetadata = new PDF417ResultMetadata();\n while (codeIndex < codewords[0]) {\n switch (code) {\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser$2.textCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH_6:\n codeIndex = DecodedBitStreamParser$2.byteCompaction(code, codewords, encoding, codeIndex, result);\n break;\n case DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ codewords[codeIndex++]);\n break;\n case DecodedBitStreamParser$2.NUMERIC_COMPACTION_MODE_LATCH:\n codeIndex = DecodedBitStreamParser$2.numericCompaction(codewords, codeIndex, result);\n break;\n case DecodedBitStreamParser$2.ECI_CHARSET:\n let charsetECI = CharacterSetECI.getCharacterSetECIByValue(codewords[codeIndex++]);\n // encoding = Charset.forName(charsetECI.getName());\n break;\n case DecodedBitStreamParser$2.ECI_GENERAL_PURPOSE:\n // Can't do anything with generic ECI; skip its 2 characters\n codeIndex += 2;\n break;\n case DecodedBitStreamParser$2.ECI_USER_DEFINED:\n // Can't do anything with user ECI; skip its 1 character\n codeIndex++;\n break;\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n codeIndex = DecodedBitStreamParser$2.decodeMacroBlock(codewords, codeIndex, resultMetadata);\n break;\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser$2.MACRO_PDF417_TERMINATOR:\n // Should not see these outside a macro block\n throw new FormatException();\n default:\n // Default to text compaction. During testing numerous barcodes\n // appeared to be missing the starting mode. In these cases defaulting\n // to text compaction seems to work.\n codeIndex--;\n codeIndex = DecodedBitStreamParser$2.textCompaction(codewords, codeIndex, result);\n break;\n }\n if (codeIndex < codewords.length) {\n code = codewords[codeIndex++];\n }\n else {\n throw FormatException.getFormatInstance();\n }\n }\n if (result.length() === 0) {\n throw FormatException.getFormatInstance();\n }\n let decoderResult = new DecoderResult(null, result.toString(), null, ecLevel);\n decoderResult.setOther(resultMetadata);\n return decoderResult;\n }\n /**\n *\n * @param int\n * @param param1\n * @param codewords\n * @param int\n * @param codeIndex\n * @param PDF417ResultMetadata\n * @param resultMetadata\n *\n * @throws FormatException\n */\n // @SuppressWarnings(\"deprecation\")\n static decodeMacroBlock(codewords, codeIndex, resultMetadata) {\n if (codeIndex + DecodedBitStreamParser$2.NUMBER_OF_SEQUENCE_CODEWORDS > codewords[0]) {\n // we must have at least two bytes left for the segment index\n throw FormatException.getFormatInstance();\n }\n let segmentIndexArray = new Int32Array(DecodedBitStreamParser$2.NUMBER_OF_SEQUENCE_CODEWORDS);\n for (let i /*int*/ = 0; i < DecodedBitStreamParser$2.NUMBER_OF_SEQUENCE_CODEWORDS; i++, codeIndex++) {\n segmentIndexArray[i] = codewords[codeIndex];\n }\n resultMetadata.setSegmentIndex(Integer.parseInt(DecodedBitStreamParser$2.decodeBase900toBase10(segmentIndexArray, DecodedBitStreamParser$2.NUMBER_OF_SEQUENCE_CODEWORDS)));\n let fileId = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.textCompaction(codewords, codeIndex, fileId);\n resultMetadata.setFileId(fileId.toString());\n let optionalFieldsStart = -1;\n if (codewords[codeIndex] === DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD) {\n optionalFieldsStart = codeIndex + 1;\n }\n while (codeIndex < codewords[0]) {\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n codeIndex++;\n switch (codewords[codeIndex]) {\n case DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:\n let fileName = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.textCompaction(codewords, codeIndex + 1, fileName);\n resultMetadata.setFileName(fileName.toString());\n break;\n case DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_SENDER:\n let sender = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.textCompaction(codewords, codeIndex + 1, sender);\n resultMetadata.setSender(sender.toString());\n break;\n case DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:\n let addressee = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.textCompaction(codewords, codeIndex + 1, addressee);\n resultMetadata.setAddressee(addressee.toString());\n break;\n case DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:\n let segmentCount = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.numericCompaction(codewords, codeIndex + 1, segmentCount);\n resultMetadata.setSegmentCount(Integer.parseInt(segmentCount.toString()));\n break;\n case DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:\n let timestamp = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.numericCompaction(codewords, codeIndex + 1, timestamp);\n resultMetadata.setTimestamp(Long.parseLong(timestamp.toString()));\n break;\n case DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:\n let checksum = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.numericCompaction(codewords, codeIndex + 1, checksum);\n resultMetadata.setChecksum(Integer.parseInt(checksum.toString()));\n break;\n case DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:\n let fileSize = new StringBuilder();\n codeIndex = DecodedBitStreamParser$2.numericCompaction(codewords, codeIndex + 1, fileSize);\n resultMetadata.setFileSize(Long.parseLong(fileSize.toString()));\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n break;\n case DecodedBitStreamParser$2.MACRO_PDF417_TERMINATOR:\n codeIndex++;\n resultMetadata.setLastSegment(true);\n break;\n default:\n throw FormatException.getFormatInstance();\n }\n }\n // copy optional fields to additional options\n if (optionalFieldsStart !== -1) {\n let optionalFieldsLength = codeIndex - optionalFieldsStart;\n if (resultMetadata.isLastSegment()) {\n // do not include terminator\n optionalFieldsLength--;\n }\n resultMetadata.setOptionalData(Arrays.copyOfRange(codewords, optionalFieldsStart, optionalFieldsStart + optionalFieldsLength));\n }\n return codeIndex;\n }\n /**\n * Text Compaction mode (see 5.4.1.5) permits all printable ASCII characters to be\n * encoded, i.e. values 32 - 126 inclusive in accordance with ISO/IEC 646 (IRV), as\n * well as selected control characters.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n static textCompaction(codewords, codeIndex, result) {\n // 2 character per codeword\n let textCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n // Used to hold the byte compaction value if there is a mode shift\n let byteCompactionData = new Int32Array((codewords[0] - codeIndex) * 2);\n let index = 0;\n let end = false;\n while ((codeIndex < codewords[0]) && !end) {\n let code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH) {\n textCompactionData[index] = code / 30;\n textCompactionData[index + 1] = code % 30;\n index += 2;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n // reinitialize text compaction mode to alpha sub mode\n textCompactionData[index++] = DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH;\n break;\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser$2.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser$2.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n case DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // The Mode Shift codeword 913 shall cause a temporary\n // switch from Text Compaction mode to Byte Compaction mode.\n // This switch shall be in effect for only the next codeword,\n // after which the mode shall revert to the prevailing sub-mode\n // of the Text Compaction mode. Codeword 913 is only available\n // in Text Compaction mode; its use is described in 5.4.2.4.\n textCompactionData[index] = DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE;\n code = codewords[codeIndex++];\n byteCompactionData[index] = code;\n index++;\n break;\n }\n }\n }\n DecodedBitStreamParser$2.decodeTextCompaction(textCompactionData, byteCompactionData, index, result);\n return codeIndex;\n }\n /**\n * The Text Compaction mode includes all the printable ASCII characters\n * (i.e. values from 32 to 126) and three ASCII control characters: HT or tab\n * (9: e), LF or line feed (10: e), and CR or carriage\n * return (13: e). The Text Compaction mode also includes various latch\n * and shift characters which are used exclusively within the mode. The Text\n * Compaction mode encodes up to 2 characters per codeword. The compaction rules\n * for converting data into PDF417 codewords are defined in 5.4.2.2. The sub-mode\n * switches are defined in 5.4.2.3.\n *\n * @param textCompactionData The text compaction data.\n * @param byteCompactionData The byte compaction data if there\n * was a mode shift.\n * @param length The size of the text compaction and byte compaction data.\n * @param result The decoded data is appended to the result.\n */\n static decodeTextCompaction(textCompactionData, byteCompactionData, length, result) {\n // Beginning from an initial state of the Alpha sub-mode\n // The default compaction mode for PDF417 in effect at the start of each symbol shall always be Text\n // Compaction mode Alpha sub-mode (alphabetic: uppercase). A latch codeword from another mode to the Text\n // Compaction mode shall always switch to the Text Compaction Alpha sub-mode.\n let subMode = Mode$2.ALPHA;\n let priorToShiftMode = Mode$2.ALPHA;\n let i = 0;\n while (i < length) {\n let subModeCh = textCompactionData[i];\n let ch = /*char*/ '';\n switch (subMode) {\n case Mode$2.ALPHA:\n // Alpha (alphabetic: uppercase)\n if (subModeCh < 26) {\n // Upper case Alpha Character\n // Note: 65 = 'A' ASCII -> there is byte code of symbol\n ch = /*(char)('A' + subModeCh) */ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser$2.LL:\n subMode = Mode$2.LOWER;\n break;\n case DecodedBitStreamParser$2.ML:\n subMode = Mode$2.MIXED;\n break;\n case DecodedBitStreamParser$2.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode$2.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode$2.ALPHA;\n break;\n }\n }\n break;\n case Mode$2.LOWER:\n // Lower (alphabetic: lowercase)\n if (subModeCh < 26) {\n ch = /*(char)('a' + subModeCh)*/ String.fromCharCode(97 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser$2.AS:\n // Shift to alpha\n priorToShiftMode = subMode;\n subMode = Mode$2.ALPHA_SHIFT;\n break;\n case DecodedBitStreamParser$2.ML:\n subMode = Mode$2.MIXED;\n break;\n case DecodedBitStreamParser$2.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode$2.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // TODO Does this need to use the current character encoding? See other occurrences below\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode$2.ALPHA;\n break;\n }\n }\n break;\n case Mode$2.MIXED:\n // Mixed (punctuation: e)\n if (subModeCh < DecodedBitStreamParser$2.PL) {\n ch = DecodedBitStreamParser$2.MIXED_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser$2.PL:\n subMode = Mode$2.PUNCT;\n break;\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser$2.LL:\n subMode = Mode$2.LOWER;\n break;\n case DecodedBitStreamParser$2.AL:\n subMode = Mode$2.ALPHA;\n break;\n case DecodedBitStreamParser$2.PS:\n // Shift to punctuation\n priorToShiftMode = subMode;\n subMode = Mode$2.PUNCT_SHIFT;\n break;\n case DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode$2.ALPHA;\n break;\n }\n }\n break;\n case Mode$2.PUNCT:\n // Punctuation\n if (subModeCh < DecodedBitStreamParser$2.PAL) {\n ch = DecodedBitStreamParser$2.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser$2.PAL:\n subMode = Mode$2.ALPHA;\n break;\n case DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode$2.ALPHA;\n break;\n }\n }\n break;\n case Mode$2.ALPHA_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < 26) {\n ch = /*(char)('A' + subModeCh)*/ String.fromCharCode(65 + subModeCh);\n }\n else {\n switch (subModeCh) {\n case 26:\n ch = ' ';\n break;\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode$2.ALPHA;\n break;\n }\n }\n break;\n case Mode$2.PUNCT_SHIFT:\n // Restore sub-mode\n subMode = priorToShiftMode;\n if (subModeCh < DecodedBitStreamParser$2.PAL) {\n ch = DecodedBitStreamParser$2.PUNCT_CHARS[subModeCh];\n }\n else {\n switch (subModeCh) {\n case DecodedBitStreamParser$2.PAL:\n subMode = Mode$2.ALPHA;\n break;\n case DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:\n // PS before Shift-to-Byte is used as a padding character,\n // see 5.4.2.4 of the specification\n result.append(/*(char)*/ byteCompactionData[i]);\n break;\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n subMode = Mode$2.ALPHA;\n break;\n }\n }\n break;\n }\n // if (ch !== 0) {\n if (ch !== '') {\n // Append decoded character to result\n result.append(ch);\n }\n i++;\n }\n }\n /**\n * Byte Compaction mode (see 5.4.3) permits all 256 possible 8-bit byte values to be encoded.\n * This includes all ASCII characters value 0 to 127 inclusive and provides for international\n * character set support.\n *\n * @param mode The byte compaction mode i.e. 901 or 924\n * @param codewords The array of codewords (data + error)\n * @param encoding Currently active character encoding\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n */\n static /*int*/ byteCompaction(mode, codewords, encoding, codeIndex, result) {\n let decodedBytes = new ByteArrayOutputStream();\n let count = 0;\n let value = /*long*/ 0;\n let end = false;\n switch (mode) {\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH:\n // Total number of Byte Compaction characters to be encoded\n // is not a multiple of 6\n let byteCompactedCodewords = new Int32Array(6);\n let nextCode = codewords[codeIndex++];\n while ((codeIndex < codewords[0]) && !end) {\n byteCompactedCodewords[count++] = nextCode;\n // Base 900\n value = 900 * value + nextCode;\n nextCode = codewords[codeIndex++];\n // perhaps it should be ok to check only nextCode >= TEXT_COMPACTION_MODE_LATCH\n switch (nextCode) {\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser$2.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n default:\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n for (let j /*int*/ = 0; j < 6; ++j) {\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n break;\n }\n }\n // if the end of all codewords is reached the last codeword needs to be added\n if (codeIndex === codewords[0] && nextCode < DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH) {\n byteCompactedCodewords[count++] = nextCode;\n }\n // If Byte Compaction mode is invoked with codeword 901,\n // the last group of codewords is interpreted directly\n // as one byte per codeword, without compaction.\n for (let i /*int*/ = 0; i < count; i++) {\n decodedBytes.write(/*(byte)*/ byteCompactedCodewords[i]);\n }\n break;\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH_6:\n // Total number of Byte Compaction characters to be encoded\n // is an integer multiple of 6\n while (codeIndex < codewords[0] && !end) {\n let code = codewords[codeIndex++];\n if (code < DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH) {\n count++;\n // Base 900\n value = 900 * value + code;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.NUMERIC_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser$2.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % 5 === 0) && (count > 0)) {\n // Decode every 5 codewords\n // Convert to Base 256\n /* @note\n * JavaScript stores numbers as 64 bits floating point numbers, but all bitwise operations are performed on 32 bits binary numbers.\n * So the next bitwise operation could not be done with simple numbers\n */\n for (let j /*int*/ = 0; j < 6; ++j) {\n decodedBytes.write(/*(byte)*/ Number(createBigInt(value) >> createBigInt(8 * (5 - j))));\n }\n value = 0;\n count = 0;\n }\n }\n break;\n }\n result.append(StringEncoding.decode(decodedBytes.toByteArray(), encoding));\n return codeIndex;\n }\n /**\n * Numeric Compaction mode (see 5.4.4) permits efficient encoding of numeric data strings.\n *\n * @param codewords The array of codewords (data + error)\n * @param codeIndex The current index into the codeword array.\n * @param result The decoded data is appended to the result.\n * @return The next index into the codeword array.\n *\n * @throws FormatException\n */\n static numericCompaction(codewords, codeIndex /*int*/, result) {\n let count = 0;\n let end = false;\n let numericCodewords = new Int32Array(DecodedBitStreamParser$2.MAX_NUMERIC_CODEWORDS);\n while (codeIndex < codewords[0] && !end) {\n let code = codewords[codeIndex++];\n if (codeIndex === codewords[0]) {\n end = true;\n }\n if (code < DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH) {\n numericCodewords[count] = code;\n count++;\n }\n else {\n switch (code) {\n case DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH:\n case DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH_6:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_CONTROL_BLOCK:\n case DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:\n case DecodedBitStreamParser$2.MACRO_PDF417_TERMINATOR:\n codeIndex--;\n end = true;\n break;\n }\n }\n if ((count % DecodedBitStreamParser$2.MAX_NUMERIC_CODEWORDS === 0 || code === DecodedBitStreamParser$2.NUMERIC_COMPACTION_MODE_LATCH || end) && count > 0) {\n // Re-invoking Numeric Compaction mode (by using codeword 902\n // while in Numeric Compaction mode) serves to terminate the\n // current Numeric Compaction mode grouping as described in 5.4.4.2,\n // and then to start a new one grouping.\n result.append(DecodedBitStreamParser$2.decodeBase900toBase10(numericCodewords, count));\n count = 0;\n }\n }\n return codeIndex;\n }\n /**\n * Convert a list of Numeric Compacted codewords from Base 900 to Base 10.\n *\n * @param codewords The array of codewords\n * @param count The number of codewords\n * @return The decoded string representing the Numeric data.\n *\n * EXAMPLE\n * Encode the fifteen digit numeric string 000213298174000\n * Prefix the numeric string with a 1 and set the initial value of\n * t = 1 000 213 298 174 000\n * Calculate codeword 0\n * d0 = 1 000 213 298 174 000 mod 900 = 200\n *\n * t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082\n * Calculate codeword 1\n * d1 = 1 111 348 109 082 mod 900 = 282\n *\n * t = 1 111 348 109 082 div 900 = 1 234 831 232\n * Calculate codeword 2\n * d2 = 1 234 831 232 mod 900 = 632\n *\n * t = 1 234 831 232 div 900 = 1 372 034\n * Calculate codeword 3\n * d3 = 1 372 034 mod 900 = 434\n *\n * t = 1 372 034 div 900 = 1 524\n * Calculate codeword 4\n * d4 = 1 524 mod 900 = 624\n *\n * t = 1 524 div 900 = 1\n * Calculate codeword 5\n * d5 = 1 mod 900 = 1\n * t = 1 div 900 = 0\n * Codeword sequence is: 1, 624, 434, 632, 282, 200\n *\n * Decode the above codewords involves\n * 1 x 900 power of 5 + 624 x 900 power of 4 + 434 x 900 power of 3 +\n * 632 x 900 power of 2 + 282 x 900 power of 1 + 200 x 900 power of 0 = 1000213298174000\n *\n * Remove leading 1 => Result is 000213298174000\n *\n * @throws FormatException\n */\n static decodeBase900toBase10(codewords, count) {\n let result = createBigInt(0);\n for (let i /*int*/ = 0; i < count; i++) {\n result += DecodedBitStreamParser$2.EXP900[count - i - 1] * createBigInt(codewords[i]);\n }\n let resultString = result.toString();\n if (resultString.charAt(0) !== '1') {\n throw new FormatException();\n }\n return resultString.substring(1);\n }\n }\n DecodedBitStreamParser$2.TEXT_COMPACTION_MODE_LATCH = 900;\n DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH = 901;\n DecodedBitStreamParser$2.NUMERIC_COMPACTION_MODE_LATCH = 902;\n DecodedBitStreamParser$2.BYTE_COMPACTION_MODE_LATCH_6 = 924;\n DecodedBitStreamParser$2.ECI_USER_DEFINED = 925;\n DecodedBitStreamParser$2.ECI_GENERAL_PURPOSE = 926;\n DecodedBitStreamParser$2.ECI_CHARSET = 927;\n DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_CONTROL_BLOCK = 928;\n DecodedBitStreamParser$2.BEGIN_MACRO_PDF417_OPTIONAL_FIELD = 923;\n DecodedBitStreamParser$2.MACRO_PDF417_TERMINATOR = 922;\n DecodedBitStreamParser$2.MODE_SHIFT_TO_BYTE_COMPACTION_MODE = 913;\n DecodedBitStreamParser$2.MAX_NUMERIC_CODEWORDS = 15;\n DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME = 0;\n DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT = 1;\n DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP = 2;\n DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_SENDER = 3;\n DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE = 4;\n DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE = 5;\n DecodedBitStreamParser$2.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM = 6;\n DecodedBitStreamParser$2.PL = 25;\n DecodedBitStreamParser$2.LL = 27;\n DecodedBitStreamParser$2.AS = 27;\n DecodedBitStreamParser$2.ML = 28;\n DecodedBitStreamParser$2.AL = 28;\n DecodedBitStreamParser$2.PS = 29;\n DecodedBitStreamParser$2.PAL = 29;\n DecodedBitStreamParser$2.PUNCT_CHARS = ';<>@[\\\\]_`~!\\r\\t,:\\n-.$/\"|*()?{}\\'';\n DecodedBitStreamParser$2.MIXED_CHARS = '0123456789&\\r\\t,:#-.$/+%*=^';\n /**\n * Table containing values for the exponent of 900.\n * This is used in the numeric compaction decode algorithm.\n */\n DecodedBitStreamParser$2.EXP900 = getBigIntConstructor() ? getEXP900() : [];\n DecodedBitStreamParser$2.NUMBER_OF_SEQUENCE_CODEWORDS = 2;\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // import java.util.ArrayList;\n // import java.util.Collection;\n // import java.util.Formatter;\n // import java.util.List;\n /**\n * @author Guenther Grau\n */\n /*public final*/ class PDF417ScanningDecoder {\n constructor() { }\n /**\n * @TODO don't pass in minCodewordWidth and maxCodewordWidth, pass in barcode columns for start and stop pattern\n *\n * columns. That way width can be deducted from the pattern column.\n * This approach also allows to detect more details about the barcode, e.g. if a bar type (white or black) is wider\n * than it should be. This can happen if the scanner used a bad blackpoint.\n *\n * @param BitMatrix\n * @param image\n * @param ResultPoint\n * @param imageTopLeft\n * @param ResultPoint\n * @param imageBottomLeft\n * @param ResultPoint\n * @param imageTopRight\n * @param ResultPoint\n * @param imageBottomRight\n * @param int\n * @param minCodewordWidth\n * @param int\n * @param maxCodewordWidth\n *\n * @throws NotFoundException\n * @throws FormatException\n * @throws ChecksumException\n */\n static decode(image, imageTopLeft, imageBottomLeft, imageTopRight, imageBottomRight, minCodewordWidth, maxCodewordWidth) {\n let boundingBox = new BoundingBox(image, imageTopLeft, imageBottomLeft, imageTopRight, imageBottomRight);\n let leftRowIndicatorColumn = null;\n let rightRowIndicatorColumn = null;\n let detectionResult;\n for (let firstPass /*boolean*/ = true;; firstPass = false) {\n if (imageTopLeft != null) {\n leftRowIndicatorColumn = PDF417ScanningDecoder.getRowIndicatorColumn(image, boundingBox, imageTopLeft, true, minCodewordWidth, maxCodewordWidth);\n }\n if (imageTopRight != null) {\n rightRowIndicatorColumn = PDF417ScanningDecoder.getRowIndicatorColumn(image, boundingBox, imageTopRight, false, minCodewordWidth, maxCodewordWidth);\n }\n detectionResult = PDF417ScanningDecoder.merge(leftRowIndicatorColumn, rightRowIndicatorColumn);\n if (detectionResult == null) {\n throw NotFoundException.getNotFoundInstance();\n }\n let resultBox = detectionResult.getBoundingBox();\n if (firstPass && resultBox != null &&\n (resultBox.getMinY() < boundingBox.getMinY() || resultBox.getMaxY() > boundingBox.getMaxY())) {\n boundingBox = resultBox;\n }\n else {\n break;\n }\n }\n detectionResult.setBoundingBox(boundingBox);\n let maxBarcodeColumn = detectionResult.getBarcodeColumnCount() + 1;\n detectionResult.setDetectionResultColumn(0, leftRowIndicatorColumn);\n detectionResult.setDetectionResultColumn(maxBarcodeColumn, rightRowIndicatorColumn);\n let leftToRight = leftRowIndicatorColumn != null;\n for (let barcodeColumnCount /*int*/ = 1; barcodeColumnCount <= maxBarcodeColumn; barcodeColumnCount++) {\n let barcodeColumn = leftToRight ? barcodeColumnCount : maxBarcodeColumn - barcodeColumnCount;\n if (detectionResult.getDetectionResultColumn(barcodeColumn) !== /* null */ undefined) {\n // This will be the case for the opposite row indicator column, which doesn't need to be decoded again.\n continue;\n }\n let detectionResultColumn;\n if (barcodeColumn === 0 || barcodeColumn === maxBarcodeColumn) {\n detectionResultColumn = new DetectionResultRowIndicatorColumn(boundingBox, barcodeColumn === 0);\n }\n else {\n detectionResultColumn = new DetectionResultColumn(boundingBox);\n }\n detectionResult.setDetectionResultColumn(barcodeColumn, detectionResultColumn);\n let startColumn = -1;\n let previousStartColumn = startColumn;\n // TODO start at a row for which we know the start position, then detect upwards and downwards from there.\n for (let imageRow /*int*/ = boundingBox.getMinY(); imageRow <= boundingBox.getMaxY(); imageRow++) {\n startColumn = PDF417ScanningDecoder.getStartColumn(detectionResult, barcodeColumn, imageRow, leftToRight);\n if (startColumn < 0 || startColumn > boundingBox.getMaxX()) {\n if (previousStartColumn === -1) {\n continue;\n }\n startColumn = previousStartColumn;\n }\n let codeword = PDF417ScanningDecoder.detectCodeword(image, boundingBox.getMinX(), boundingBox.getMaxX(), leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth);\n if (codeword != null) {\n detectionResultColumn.setCodeword(imageRow, codeword);\n previousStartColumn = startColumn;\n minCodewordWidth = Math.min(minCodewordWidth, codeword.getWidth());\n maxCodewordWidth = Math.max(maxCodewordWidth, codeword.getWidth());\n }\n }\n }\n return PDF417ScanningDecoder.createDecoderResult(detectionResult);\n }\n /**\n *\n * @param leftRowIndicatorColumn\n * @param rightRowIndicatorColumn\n *\n * @throws NotFoundException\n */\n static merge(leftRowIndicatorColumn, rightRowIndicatorColumn) {\n if (leftRowIndicatorColumn == null && rightRowIndicatorColumn == null) {\n return null;\n }\n let barcodeMetadata = PDF417ScanningDecoder.getBarcodeMetadata(leftRowIndicatorColumn, rightRowIndicatorColumn);\n if (barcodeMetadata == null) {\n return null;\n }\n let boundingBox = BoundingBox.merge(PDF417ScanningDecoder.adjustBoundingBox(leftRowIndicatorColumn), PDF417ScanningDecoder.adjustBoundingBox(rightRowIndicatorColumn));\n return new DetectionResult(barcodeMetadata, boundingBox);\n }\n /**\n *\n * @param rowIndicatorColumn\n *\n * @throws NotFoundException\n */\n static adjustBoundingBox(rowIndicatorColumn) {\n if (rowIndicatorColumn == null) {\n return null;\n }\n let rowHeights = rowIndicatorColumn.getRowHeights();\n if (rowHeights == null) {\n return null;\n }\n let maxRowHeight = PDF417ScanningDecoder.getMax(rowHeights);\n let missingStartRows = 0;\n for (let rowHeight /*int*/ of rowHeights) {\n missingStartRows += maxRowHeight - rowHeight;\n if (rowHeight > 0) {\n break;\n }\n }\n let codewords = rowIndicatorColumn.getCodewords();\n for (let row /*int*/ = 0; missingStartRows > 0 && codewords[row] == null; row++) {\n missingStartRows--;\n }\n let missingEndRows = 0;\n for (let row /*int*/ = rowHeights.length - 1; row >= 0; row--) {\n missingEndRows += maxRowHeight - rowHeights[row];\n if (rowHeights[row] > 0) {\n break;\n }\n }\n for (let row /*int*/ = codewords.length - 1; missingEndRows > 0 && codewords[row] == null; row--) {\n missingEndRows--;\n }\n return rowIndicatorColumn.getBoundingBox().addMissingRows(missingStartRows, missingEndRows, rowIndicatorColumn.isLeft());\n }\n static getMax(values) {\n let maxValue = -1;\n for (let value /*int*/ of values) {\n maxValue = Math.max(maxValue, value);\n }\n return maxValue;\n }\n static getBarcodeMetadata(leftRowIndicatorColumn, rightRowIndicatorColumn) {\n let leftBarcodeMetadata;\n if (leftRowIndicatorColumn == null ||\n (leftBarcodeMetadata = leftRowIndicatorColumn.getBarcodeMetadata()) == null) {\n return rightRowIndicatorColumn == null ? null : rightRowIndicatorColumn.getBarcodeMetadata();\n }\n let rightBarcodeMetadata;\n if (rightRowIndicatorColumn == null ||\n (rightBarcodeMetadata = rightRowIndicatorColumn.getBarcodeMetadata()) == null) {\n return leftBarcodeMetadata;\n }\n if (leftBarcodeMetadata.getColumnCount() !== rightBarcodeMetadata.getColumnCount() &&\n leftBarcodeMetadata.getErrorCorrectionLevel() !== rightBarcodeMetadata.getErrorCorrectionLevel() &&\n leftBarcodeMetadata.getRowCount() !== rightBarcodeMetadata.getRowCount()) {\n return null;\n }\n return leftBarcodeMetadata;\n }\n static getRowIndicatorColumn(image, boundingBox, startPoint, leftToRight, minCodewordWidth, maxCodewordWidth) {\n let rowIndicatorColumn = new DetectionResultRowIndicatorColumn(boundingBox, leftToRight);\n for (let i /*int*/ = 0; i < 2; i++) {\n let increment = i === 0 ? 1 : -1;\n let startColumn = Math.trunc(Math.trunc(startPoint.getX()));\n for (let imageRow /*int*/ = Math.trunc(Math.trunc(startPoint.getY())); imageRow <= boundingBox.getMaxY() &&\n imageRow >= boundingBox.getMinY(); imageRow += increment) {\n let codeword = PDF417ScanningDecoder.detectCodeword(image, 0, image.getWidth(), leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth);\n if (codeword != null) {\n rowIndicatorColumn.setCodeword(imageRow, codeword);\n if (leftToRight) {\n startColumn = codeword.getStartX();\n }\n else {\n startColumn = codeword.getEndX();\n }\n }\n }\n }\n return rowIndicatorColumn;\n }\n /**\n *\n * @param detectionResult\n * @param BarcodeValue\n * @param param2\n * @param param3\n * @param barcodeMatrix\n *\n * @throws NotFoundException\n */\n static adjustCodewordCount(detectionResult, barcodeMatrix) {\n let barcodeMatrix01 = barcodeMatrix[0][1];\n let numberOfCodewords = barcodeMatrix01.getValue();\n let calculatedNumberOfCodewords = detectionResult.getBarcodeColumnCount() *\n detectionResult.getBarcodeRowCount() -\n PDF417ScanningDecoder.getNumberOfECCodeWords(detectionResult.getBarcodeECLevel());\n if (numberOfCodewords.length === 0) {\n if (calculatedNumberOfCodewords < 1 || calculatedNumberOfCodewords > PDF417Common.MAX_CODEWORDS_IN_BARCODE) {\n throw NotFoundException.getNotFoundInstance();\n }\n barcodeMatrix01.setValue(calculatedNumberOfCodewords);\n }\n else if (numberOfCodewords[0] !== calculatedNumberOfCodewords) {\n // The calculated one is more reliable as it is derived from the row indicator columns\n barcodeMatrix01.setValue(calculatedNumberOfCodewords);\n }\n }\n /**\n *\n * @param detectionResult\n *\n * @throws FormatException\n * @throws ChecksumException\n * @throws NotFoundException\n */\n static createDecoderResult(detectionResult) {\n let barcodeMatrix = PDF417ScanningDecoder.createBarcodeMatrix(detectionResult);\n PDF417ScanningDecoder.adjustCodewordCount(detectionResult, barcodeMatrix);\n let erasures /*Collection*/ = new Array();\n let codewords = new Int32Array(detectionResult.getBarcodeRowCount() * detectionResult.getBarcodeColumnCount());\n let ambiguousIndexValuesList = /*List*/ [];\n let ambiguousIndexesList = /*Collection*/ new Array();\n for (let row /*int*/ = 0; row < detectionResult.getBarcodeRowCount(); row++) {\n for (let column /*int*/ = 0; column < detectionResult.getBarcodeColumnCount(); column++) {\n let values = barcodeMatrix[row][column + 1].getValue();\n let codewordIndex = row * detectionResult.getBarcodeColumnCount() + column;\n if (values.length === 0) {\n erasures.push(codewordIndex);\n }\n else if (values.length === 1) {\n codewords[codewordIndex] = values[0];\n }\n else {\n ambiguousIndexesList.push(codewordIndex);\n ambiguousIndexValuesList.push(values);\n }\n }\n }\n let ambiguousIndexValues = new Array(ambiguousIndexValuesList.length);\n for (let i /*int*/ = 0; i < ambiguousIndexValues.length; i++) {\n ambiguousIndexValues[i] = ambiguousIndexValuesList[i];\n }\n return PDF417ScanningDecoder.createDecoderResultFromAmbiguousValues(detectionResult.getBarcodeECLevel(), codewords, PDF417Common.toIntArray(erasures), PDF417Common.toIntArray(ambiguousIndexesList), ambiguousIndexValues);\n }\n /**\n * This method deals with the fact, that the decoding process doesn't always yield a single most likely value. The\n * current error correction implementation doesn't deal with erasures very well, so it's better to provide a value\n * for these ambiguous codewords instead of treating it as an erasure. The problem is that we don't know which of\n * the ambiguous values to choose. We try decode using the first value, and if that fails, we use another of the\n * ambiguous values and try to decode again. This usually only happens on very hard to read and decode barcodes,\n * so decoding the normal barcodes is not affected by this.\n *\n * @param erasureArray contains the indexes of erasures\n * @param ambiguousIndexes array with the indexes that have more than one most likely value\n * @param ambiguousIndexValues two dimensional array that contains the ambiguous values. The first dimension must\n * be the same length as the ambiguousIndexes array\n *\n * @throws FormatException\n * @throws ChecksumException\n */\n static createDecoderResultFromAmbiguousValues(ecLevel, codewords, erasureArray, ambiguousIndexes, ambiguousIndexValues) {\n let ambiguousIndexCount = new Int32Array(ambiguousIndexes.length);\n let tries = 100;\n while (tries-- > 0) {\n for (let i /*int*/ = 0; i < ambiguousIndexCount.length; i++) {\n codewords[ambiguousIndexes[i]] = ambiguousIndexValues[i][ambiguousIndexCount[i]];\n }\n try {\n return PDF417ScanningDecoder.decodeCodewords(codewords, ecLevel, erasureArray);\n }\n catch (err) {\n let ignored = err instanceof ChecksumException;\n if (!ignored) {\n throw err;\n }\n }\n if (ambiguousIndexCount.length === 0) {\n throw ChecksumException.getChecksumInstance();\n }\n for (let i /*int*/ = 0; i < ambiguousIndexCount.length; i++) {\n if (ambiguousIndexCount[i] < ambiguousIndexValues[i].length - 1) {\n ambiguousIndexCount[i]++;\n break;\n }\n else {\n ambiguousIndexCount[i] = 0;\n if (i === ambiguousIndexCount.length - 1) {\n throw ChecksumException.getChecksumInstance();\n }\n }\n }\n }\n throw ChecksumException.getChecksumInstance();\n }\n static createBarcodeMatrix(detectionResult) {\n // let barcodeMatrix: BarcodeValue[][] =\n // new BarcodeValue[detectionResult.getBarcodeRowCount()][detectionResult.getBarcodeColumnCount() + 2];\n let barcodeMatrix = Array.from({ length: detectionResult.getBarcodeRowCount() }, () => new Array(detectionResult.getBarcodeColumnCount() + 2));\n for (let row /*int*/ = 0; row < barcodeMatrix.length; row++) {\n for (let column /*int*/ = 0; column < barcodeMatrix[row].length; column++) {\n barcodeMatrix[row][column] = new BarcodeValue();\n }\n }\n let column = 0;\n for (let detectionResultColumn /*DetectionResultColumn*/ of detectionResult.getDetectionResultColumns()) {\n if (detectionResultColumn != null) {\n for (let codeword /*Codeword*/ of detectionResultColumn.getCodewords()) {\n if (codeword != null) {\n let rowNumber = codeword.getRowNumber();\n if (rowNumber >= 0) {\n if (rowNumber >= barcodeMatrix.length) {\n // We have more rows than the barcode metadata allows for, ignore them.\n continue;\n }\n barcodeMatrix[rowNumber][column].setValue(codeword.getValue());\n }\n }\n }\n }\n column++;\n }\n return barcodeMatrix;\n }\n static isValidBarcodeColumn(detectionResult, barcodeColumn) {\n return barcodeColumn >= 0 && barcodeColumn <= detectionResult.getBarcodeColumnCount() + 1;\n }\n static getStartColumn(detectionResult, barcodeColumn, imageRow, leftToRight) {\n let offset = leftToRight ? 1 : -1;\n let codeword = null;\n if (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn - offset).getCodeword(imageRow);\n }\n if (codeword != null) {\n return leftToRight ? codeword.getEndX() : codeword.getStartX();\n }\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn).getCodewordNearby(imageRow);\n if (codeword != null) {\n return leftToRight ? codeword.getStartX() : codeword.getEndX();\n }\n if (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n codeword = detectionResult.getDetectionResultColumn(barcodeColumn - offset).getCodewordNearby(imageRow);\n }\n if (codeword != null) {\n return leftToRight ? codeword.getEndX() : codeword.getStartX();\n }\n let skippedColumns = 0;\n while (PDF417ScanningDecoder.isValidBarcodeColumn(detectionResult, barcodeColumn - offset)) {\n barcodeColumn -= offset;\n for (let previousRowCodeword /*Codeword*/ of detectionResult.getDetectionResultColumn(barcodeColumn).getCodewords()) {\n if (previousRowCodeword != null) {\n return (leftToRight ? previousRowCodeword.getEndX() : previousRowCodeword.getStartX()) +\n offset *\n skippedColumns *\n (previousRowCodeword.getEndX() - previousRowCodeword.getStartX());\n }\n }\n skippedColumns++;\n }\n return leftToRight ? detectionResult.getBoundingBox().getMinX() : detectionResult.getBoundingBox().getMaxX();\n }\n static detectCodeword(image, minColumn, maxColumn, leftToRight, startColumn, imageRow, minCodewordWidth, maxCodewordWidth) {\n startColumn = PDF417ScanningDecoder.adjustCodewordStartColumn(image, minColumn, maxColumn, leftToRight, startColumn, imageRow);\n // we usually know fairly exact now how long a codeword is. We should provide minimum and maximum expected length\n // and try to adjust the read pixels, e.g. remove single pixel errors or try to cut off exceeding pixels.\n // min and maxCodewordWidth should not be used as they are calculated for the whole barcode an can be inaccurate\n // for the current position\n let moduleBitCount = PDF417ScanningDecoder.getModuleBitCount(image, minColumn, maxColumn, leftToRight, startColumn, imageRow);\n if (moduleBitCount == null) {\n return null;\n }\n let endColumn;\n let codewordBitCount = MathUtils.sum(moduleBitCount);\n if (leftToRight) {\n endColumn = startColumn + codewordBitCount;\n }\n else {\n for (let i /*int*/ = 0; i < moduleBitCount.length / 2; i++) {\n let tmpCount = moduleBitCount[i];\n moduleBitCount[i] = moduleBitCount[moduleBitCount.length - 1 - i];\n moduleBitCount[moduleBitCount.length - 1 - i] = tmpCount;\n }\n endColumn = startColumn;\n startColumn = endColumn - codewordBitCount;\n }\n // TODO implement check for width and correction of black and white bars\n // use start (and maybe stop pattern) to determine if black bars are wider than white bars. If so, adjust.\n // should probably done only for codewords with a lot more than 17 bits.\n // The following fixes 10-1.png, which has wide black bars and small white bars\n // for (let i /*int*/ = 0; i < moduleBitCount.length; i++) {\n // if (i % 2 === 0) {\n // moduleBitCount[i]--;\n // } else {\n // moduleBitCount[i]++;\n // }\n // }\n // We could also use the width of surrounding codewords for more accurate results, but this seems\n // sufficient for now\n if (!PDF417ScanningDecoder.checkCodewordSkew(codewordBitCount, minCodewordWidth, maxCodewordWidth)) {\n // We could try to use the startX and endX position of the codeword in the same column in the previous row,\n // create the bit count from it and normalize it to 8. This would help with single pixel errors.\n return null;\n }\n let decodedValue = PDF417CodewordDecoder.getDecodedValue(moduleBitCount);\n let codeword = PDF417Common.getCodeword(decodedValue);\n if (codeword === -1) {\n return null;\n }\n return new Codeword(startColumn, endColumn, PDF417ScanningDecoder.getCodewordBucketNumber(decodedValue), codeword);\n }\n static getModuleBitCount(image, minColumn, maxColumn, leftToRight, startColumn, imageRow) {\n let imageColumn = startColumn;\n let moduleBitCount = new Int32Array(8);\n let moduleNumber = 0;\n let increment = leftToRight ? 1 : -1;\n let previousPixelValue = leftToRight;\n while ((leftToRight ? imageColumn < maxColumn : imageColumn >= minColumn) &&\n moduleNumber < moduleBitCount.length) {\n if (image.get(imageColumn, imageRow) === previousPixelValue) {\n moduleBitCount[moduleNumber]++;\n imageColumn += increment;\n }\n else {\n moduleNumber++;\n previousPixelValue = !previousPixelValue;\n }\n }\n if (moduleNumber === moduleBitCount.length ||\n ((imageColumn === (leftToRight ? maxColumn : minColumn)) &&\n moduleNumber === moduleBitCount.length - 1)) {\n return moduleBitCount;\n }\n return null;\n }\n static getNumberOfECCodeWords(barcodeECLevel) {\n return 2 << barcodeECLevel;\n }\n static adjustCodewordStartColumn(image, minColumn, maxColumn, leftToRight, codewordStartColumn, imageRow) {\n let correctedStartColumn = codewordStartColumn;\n let increment = leftToRight ? -1 : 1;\n // there should be no black pixels before the start column. If there are, then we need to start earlier.\n for (let i /*int*/ = 0; i < 2; i++) {\n while ((leftToRight ? correctedStartColumn >= minColumn : correctedStartColumn < maxColumn) &&\n leftToRight === image.get(correctedStartColumn, imageRow)) {\n if (Math.abs(codewordStartColumn - correctedStartColumn) > PDF417ScanningDecoder.CODEWORD_SKEW_SIZE) {\n return codewordStartColumn;\n }\n correctedStartColumn += increment;\n }\n increment = -increment;\n leftToRight = !leftToRight;\n }\n return correctedStartColumn;\n }\n static checkCodewordSkew(codewordSize, minCodewordWidth, maxCodewordWidth) {\n return minCodewordWidth - PDF417ScanningDecoder.CODEWORD_SKEW_SIZE <= codewordSize &&\n codewordSize <= maxCodewordWidth + PDF417ScanningDecoder.CODEWORD_SKEW_SIZE;\n }\n /**\n * @throws FormatException,\n * @throws ChecksumException\n */\n static decodeCodewords(codewords, ecLevel, erasures) {\n if (codewords.length === 0) {\n throw FormatException.getFormatInstance();\n }\n let numECCodewords = 1 << (ecLevel + 1);\n let correctedErrorsCount = PDF417ScanningDecoder.correctErrors(codewords, erasures, numECCodewords);\n PDF417ScanningDecoder.verifyCodewordCount(codewords, numECCodewords);\n // Decode the codewords\n let decoderResult = DecodedBitStreamParser$2.decode(codewords, '' + ecLevel);\n decoderResult.setErrorsCorrected(correctedErrorsCount);\n decoderResult.setErasures(erasures.length);\n return decoderResult;\n }\n /**\n *

Given data and error-correction codewords received, possibly corrupted by errors, attempts to\n * correct the errors in-place.

\n *\n * @param codewords data and error correction codewords\n * @param erasures positions of any known erasures\n * @param numECCodewords number of error correction codewords that are available in codewords\n * @throws ChecksumException if error correction fails\n */\n static correctErrors(codewords, erasures, numECCodewords) {\n if (erasures != null &&\n erasures.length > numECCodewords / 2 + PDF417ScanningDecoder.MAX_ERRORS ||\n numECCodewords < 0 ||\n numECCodewords > PDF417ScanningDecoder.MAX_EC_CODEWORDS) {\n // Too many errors or EC Codewords is corrupted\n throw ChecksumException.getChecksumInstance();\n }\n return PDF417ScanningDecoder.errorCorrection.decode(codewords, numECCodewords, erasures);\n }\n /**\n * Verify that all is OK with the codeword array.\n * @throws FormatException\n */\n static verifyCodewordCount(codewords, numECCodewords) {\n if (codewords.length < 4) {\n // Codeword array size should be at least 4 allowing for\n // Count CW, At least one Data CW, Error Correction CW, Error Correction CW\n throw FormatException.getFormatInstance();\n }\n // The first codeword, the Symbol Length Descriptor, shall always encode the total number of data\n // codewords in the symbol, including the Symbol Length Descriptor itself, data codewords and pad\n // codewords, but excluding the number of error correction codewords.\n let numberOfCodewords = codewords[0];\n if (numberOfCodewords > codewords.length) {\n throw FormatException.getFormatInstance();\n }\n if (numberOfCodewords === 0) {\n // Reset to the length of the array - 8 (Allow for at least level 3 Error Correction (8 Error Codewords)\n if (numECCodewords < codewords.length) {\n codewords[0] = codewords.length - numECCodewords;\n }\n else {\n throw FormatException.getFormatInstance();\n }\n }\n }\n static getBitCountForCodeword(codeword) {\n let result = new Int32Array(8);\n let previousValue = 0;\n let i = result.length - 1;\n while (true) {\n if ((codeword & 0x1) !== previousValue) {\n previousValue = codeword & 0x1;\n i--;\n if (i < 0) {\n break;\n }\n }\n result[i]++;\n codeword >>= 1;\n }\n return result;\n }\n static getCodewordBucketNumber(codeword) {\n if (codeword instanceof Int32Array) {\n return this.getCodewordBucketNumber_Int32Array(codeword);\n }\n return this.getCodewordBucketNumber_number(codeword);\n }\n static getCodewordBucketNumber_number(codeword) {\n return PDF417ScanningDecoder.getCodewordBucketNumber(PDF417ScanningDecoder.getBitCountForCodeword(codeword));\n }\n static getCodewordBucketNumber_Int32Array(moduleBitCount) {\n return (moduleBitCount[0] - moduleBitCount[2] + moduleBitCount[4] - moduleBitCount[6] + 9) % 9;\n }\n static toString(barcodeMatrix) {\n let formatter = new Formatter();\n // try (let formatter = new Formatter()) {\n for (let row /*int*/ = 0; row < barcodeMatrix.length; row++) {\n formatter.format('Row %2d: ', row);\n for (let column /*int*/ = 0; column < barcodeMatrix[row].length; column++) {\n let barcodeValue = barcodeMatrix[row][column];\n if (barcodeValue.getValue().length === 0) {\n formatter.format(' ', null);\n }\n else {\n formatter.format('%4d(%2d)', barcodeValue.getValue()[0], barcodeValue.getConfidence(barcodeValue.getValue()[0]));\n }\n }\n formatter.format('%n');\n }\n return formatter.toString();\n // }\n }\n }\n /*final*/ PDF417ScanningDecoder.CODEWORD_SKEW_SIZE = 2;\n /*final*/ PDF417ScanningDecoder.MAX_ERRORS = 3;\n /*final*/ PDF417ScanningDecoder.MAX_EC_CODEWORDS = 512;\n /*final*/ PDF417ScanningDecoder.errorCorrection = new ErrorCorrection();\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // import java.util.ArrayList;\n // import java.util.List;\n // import java.util.Map;\n /**\n * This implementation can detect and decode PDF417 codes in an image.\n *\n * @author Guenther Grau\n */\n /*public final*/ class PDF417Reader {\n // private static /*final Result[]*/ EMPTY_RESULT_ARRAY: Result[] = new Result([0]);\n /**\n * Locates and decodes a PDF417 code in an image.\n *\n * @return a String representing the content encoded by the PDF417 code\n * @throws NotFoundException if a PDF417 code cannot be found,\n * @throws FormatException if a PDF417 cannot be decoded\n * @throws ChecksumException\n */\n // @Override\n decode(image, hints = null) {\n let result = PDF417Reader.decode(image, hints, false);\n if (result == null || result.length === 0 || result[0] == null) {\n throw NotFoundException.getNotFoundInstance();\n }\n return result[0];\n }\n /**\n *\n * @param BinaryBitmap\n * @param image\n * @throws NotFoundException\n */\n // @Override\n decodeMultiple(image, hints = null) {\n try {\n return PDF417Reader.decode(image, hints, true);\n }\n catch (ignored) {\n if (ignored instanceof FormatException || ignored instanceof ChecksumException) {\n throw NotFoundException.getNotFoundInstance();\n }\n throw ignored;\n }\n }\n /**\n *\n * @param image\n * @param hints\n * @param multiple\n *\n * @throws NotFoundException\n * @throws FormatExceptionß\n * @throws ChecksumException\n */\n static decode(image, hints, multiple) {\n const results = new Array();\n const detectorResult = Detector$3.detectMultiple(image, hints, multiple);\n for (const points of detectorResult.getPoints()) {\n const decoderResult = PDF417ScanningDecoder.decode(detectorResult.getBits(), points[4], points[5], points[6], points[7], PDF417Reader.getMinCodewordWidth(points), PDF417Reader.getMaxCodewordWidth(points));\n const result = new Result(decoderResult.getText(), decoderResult.getRawBytes(), undefined, points, BarcodeFormat$1.PDF_417);\n result.putMetadata(ResultMetadataType$1.ERROR_CORRECTION_LEVEL, decoderResult.getECLevel());\n const pdf417ResultMetadata = decoderResult.getOther();\n if (pdf417ResultMetadata != null) {\n result.putMetadata(ResultMetadataType$1.PDF417_EXTRA_METADATA, pdf417ResultMetadata);\n }\n results.push(result);\n }\n return results.map(x => x);\n }\n static getMaxWidth(p1, p2) {\n if (p1 == null || p2 == null) {\n return 0;\n }\n return Math.trunc(Math.abs(p1.getX() - p2.getX()));\n }\n static getMinWidth(p1, p2) {\n if (p1 == null || p2 == null) {\n return Integer.MAX_VALUE;\n }\n return Math.trunc(Math.abs(p1.getX() - p2.getX()));\n }\n static getMaxCodewordWidth(p) {\n return Math.floor(Math.max(Math.max(PDF417Reader.getMaxWidth(p[0], p[4]), PDF417Reader.getMaxWidth(p[6], p[2]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN), Math.max(PDF417Reader.getMaxWidth(p[1], p[5]), PDF417Reader.getMaxWidth(p[7], p[3]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN)));\n }\n static getMinCodewordWidth(p) {\n return Math.floor(Math.min(Math.min(PDF417Reader.getMinWidth(p[0], p[4]), PDF417Reader.getMinWidth(p[6], p[2]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN), Math.min(PDF417Reader.getMinWidth(p[1], p[5]), PDF417Reader.getMinWidth(p[7], p[3]) * PDF417Common.MODULES_IN_CODEWORD /\n PDF417Common.MODULES_IN_STOP_PATTERN)));\n }\n // @Override\n reset() {\n // nothing needs to be reset\n }\n }\n\n /**\n * Custom Error class of type Exception.\n */\n class ReaderException extends Exception {\n }\n ReaderException.kind = 'ReaderException';\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing {*/\n /**\n * MultiFormatReader is a convenience class and the main entry point into the library for most uses.\n * By default it attempts to decode all barcode formats that the library supports. Optionally, you\n * can provide a hints object to request different behavior, for example only decoding QR codes.\n *\n * @author Sean Owen\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class MultiFormatReader {\n /**\n * Creates an instance of this class\n * \n * @param {Boolean} verbose if 'true' logs will be dumped to console, otherwise hidden.\n * @param hints The hints to use, clearing the previous state.\n */\n constructor(verbose, hints) {\n this.verbose = (verbose === true);\n if (hints) {\n this.setHints(hints);\n }\n }\n /**\n * This version of decode honors the intent of Reader.decode(BinaryBitmap) in that it\n * passes null as a hint to the decoders. However, that makes it inefficient to call repeatedly.\n * Use setHints() followed by decodeWithState() for continuous scan applications.\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n // public decode(image: BinaryBitmap): Result {\n // setHints(null)\n // return decodeInternal(image)\n // }\n /**\n * Decode an image using the hints provided. Does not honor existing state.\n *\n * @param image The pixel data to decode\n * @param hints The hints to use, clearing the previous state.\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n /*@Override*/\n decode(image, hints) {\n if (hints) {\n this.setHints(hints);\n }\n return this.decodeInternal(image);\n }\n /**\n * Decode an image using the state set up by calling setHints() previously. Continuous scan\n * clients will get a large speed increase by using this instead of decode().\n *\n * @param image The pixel data to decode\n * @return The contents of the image\n *\n * @throws NotFoundException Any errors which occurred\n */\n decodeWithState(image) {\n // Make sure to set up the default state so we don't crash\n if (this.readers === null || this.readers === undefined) {\n this.setHints(null);\n }\n return this.decodeInternal(image);\n }\n /**\n * This method adds state to the MultiFormatReader. By setting the hints once, subsequent calls\n * to decodeWithState(image) can reuse the same set of readers without reallocating memory. This\n * is important for performance in continuous scan clients.\n *\n * @param hints The set of hints to use for subsequent calls to decode(image)\n */\n setHints(hints) {\n this.hints = hints;\n const tryHarder = hints !== null && hints !== undefined && undefined !== hints.get(DecodeHintType$1.TRY_HARDER);\n /*@SuppressWarnings(\"unchecked\")*/\n const formats = hints === null || hints === undefined ? null : hints.get(DecodeHintType$1.POSSIBLE_FORMATS);\n const readers = new Array();\n if (formats !== null && formats !== undefined) {\n const addOneDReader = formats.some(f => f === BarcodeFormat$1.UPC_A ||\n f === BarcodeFormat$1.UPC_E ||\n f === BarcodeFormat$1.EAN_13 ||\n f === BarcodeFormat$1.EAN_8 ||\n f === BarcodeFormat$1.CODABAR ||\n f === BarcodeFormat$1.CODE_39 ||\n f === BarcodeFormat$1.CODE_93 ||\n f === BarcodeFormat$1.CODE_128 ||\n f === BarcodeFormat$1.ITF ||\n f === BarcodeFormat$1.RSS_14 ||\n f === BarcodeFormat$1.RSS_EXPANDED);\n // Put 1D readers upfront in \"normal\" mode\n // TYPESCRIPTPORT: TODO: uncomment below as they are ported\n if (addOneDReader && !tryHarder) {\n readers.push(new MultiFormatOneDReader(hints, this.verbose));\n }\n if (formats.includes(BarcodeFormat$1.QR_CODE)) {\n readers.push(new QRCodeReader());\n }\n if (formats.includes(BarcodeFormat$1.DATA_MATRIX)) {\n readers.push(new DataMatrixReader());\n }\n if (formats.includes(BarcodeFormat$1.AZTEC)) {\n readers.push(new AztecReader());\n }\n if (formats.includes(BarcodeFormat$1.PDF_417)) {\n readers.push(new PDF417Reader());\n }\n // if (formats.includes(BarcodeFormat.MAXICODE)) {\n // readers.push(new MaxiCodeReader())\n // }\n // At end in \"try harder\" mode\n if (addOneDReader && tryHarder) {\n readers.push(new MultiFormatOneDReader(hints, this.verbose));\n }\n }\n if (readers.length === 0) {\n if (!tryHarder) {\n readers.push(new MultiFormatOneDReader(hints, this.verbose));\n }\n readers.push(new QRCodeReader());\n readers.push(new DataMatrixReader());\n readers.push(new AztecReader());\n readers.push(new PDF417Reader());\n // readers.push(new MaxiCodeReader())\n if (tryHarder) {\n readers.push(new MultiFormatOneDReader(hints, this.verbose));\n }\n }\n this.readers = readers; // .toArray(new Reader[readers.size()])\n }\n /*@Override*/\n reset() {\n if (this.readers !== null) {\n for (const reader of this.readers) {\n reader.reset();\n }\n }\n }\n /**\n * @throws NotFoundException\n */\n decodeInternal(image) {\n if (this.readers === null) {\n throw new ReaderException('No readers where selected, nothing can be read.');\n }\n for (const reader of this.readers) {\n // Trying to decode with ${reader} reader.\n try {\n return reader.decode(image, this.hints);\n }\n catch (ex) {\n if (ex instanceof ReaderException) {\n continue;\n }\n // Bad Exception.\n }\n }\n throw new NotFoundException('No MultiFormat Readers were able to detect the code.');\n }\n }\n\n class BrowserMultiFormatReader extends BrowserCodeReader {\n constructor(hints = null, timeBetweenScansMillis = 500) {\n const reader = new MultiFormatReader();\n reader.setHints(hints);\n super(reader, timeBetweenScansMillis);\n }\n /**\n * Overwrite decodeBitmap to call decodeWithState, which will pay\n * attention to the hints set in the constructor function\n */\n decodeBitmap(binaryBitmap) {\n return this.reader.decodeWithState(binaryBitmap);\n }\n }\n\n /**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\n class BrowserPDF417Reader extends BrowserCodeReader {\n /**\n * Creates an instance of BrowserPDF417Reader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n constructor(timeBetweenScansMillis = 500) {\n super(new PDF417Reader(), timeBetweenScansMillis);\n }\n }\n\n /**\n * @deprecated Moving to @zxing/browser\n *\n * QR Code reader to use from browser.\n */\n class BrowserQRCodeReader extends BrowserCodeReader {\n /**\n * Creates an instance of BrowserQRCodeReader.\n * @param {number} [timeBetweenScansMillis=500] the time delay between subsequent decode tries\n */\n constructor(timeBetweenScansMillis = 500) {\n super(new QRCodeReader(), timeBetweenScansMillis);\n }\n }\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing {*/\n /**\n * These are a set of hints that you may pass to Writers to specify their behavior.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n var EncodeHintType;\n (function (EncodeHintType) {\n /**\n * Specifies what degree of error correction to use, for example in QR Codes.\n * Type depends on the encoder. For example for QR codes it's type\n * {@link com.google.zxing.qrcode.decoder.ErrorCorrectionLevel ErrorCorrectionLevel}.\n * For Aztec it is of type {@link Integer}, representing the minimal percentage of error correction words.\n * For PDF417 it is of type {@link Integer}, valid values being 0 to 8.\n * In all cases, it can also be a {@link String} representation of the desired value as well.\n * Note: an Aztec symbol should have a minimum of 25% EC words.\n */\n EncodeHintType[EncodeHintType[\"ERROR_CORRECTION\"] = 0] = \"ERROR_CORRECTION\";\n /**\n * Specifies what character encoding to use where applicable (type {@link String})\n */\n EncodeHintType[EncodeHintType[\"CHARACTER_SET\"] = 1] = \"CHARACTER_SET\";\n /**\n * Specifies the matrix shape for Data Matrix (type {@link com.google.zxing.datamatrix.encoder.SymbolShapeHint})\n */\n EncodeHintType[EncodeHintType[\"DATA_MATRIX_SHAPE\"] = 2] = \"DATA_MATRIX_SHAPE\";\n /**\n * Specifies a minimum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated use width/height params in\n * {@link com.google.zxing.datamatrix.DataMatrixWriter#encode(String, BarcodeFormat, int, int)}\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MIN_SIZE\"] = 3] = \"MIN_SIZE\";\n /**\n * Specifies a maximum barcode size (type {@link Dimension}). Only applicable to Data Matrix now.\n *\n * @deprecated without replacement\n */\n /*@Deprecated*/\n EncodeHintType[EncodeHintType[\"MAX_SIZE\"] = 4] = \"MAX_SIZE\";\n /**\n * Specifies margin, in pixels, to use when generating the barcode. The meaning can vary\n * by format; for example it controls margin before and after the barcode horizontally for\n * most 1D formats. (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"MARGIN\"] = 5] = \"MARGIN\";\n /**\n * Specifies whether to use compact mode for PDF417 (type {@link Boolean}, or \"true\" or \"false\"\n * {@link String} value).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACT\"] = 6] = \"PDF417_COMPACT\";\n /**\n * Specifies what compaction mode to use for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Compaction Compaction} or {@link String} value of one of its\n * enum values).\n */\n EncodeHintType[EncodeHintType[\"PDF417_COMPACTION\"] = 7] = \"PDF417_COMPACTION\";\n /**\n * Specifies the minimum and maximum number of rows and columns for PDF417 (type\n * {@link com.google.zxing.pdf417.encoder.Dimensions Dimensions}).\n */\n EncodeHintType[EncodeHintType[\"PDF417_DIMENSIONS\"] = 8] = \"PDF417_DIMENSIONS\";\n /**\n * Specifies the required number of layers for an Aztec code.\n * A negative number (-1, -2, -3, -4) specifies a compact Aztec code.\n * 0 indicates to use the minimum number of layers (the default).\n * A positive number (1, 2, .. 32) specifies a normal (non-compact) Aztec code.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"AZTEC_LAYERS\"] = 9] = \"AZTEC_LAYERS\";\n /**\n * Specifies the exact version of QR code to be encoded.\n * (Type {@link Integer}, or {@link String} representation of the integer value).\n */\n EncodeHintType[EncodeHintType[\"QR_VERSION\"] = 10] = \"QR_VERSION\";\n })(EncodeHintType || (EncodeHintType = {}));\n var EncodeHintType$1 = EncodeHintType;\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n *

Implements Reed-Solomon encoding, as the name implies.

\n *\n * @author Sean Owen\n * @author William Rucklidge\n */\n class ReedSolomonEncoder {\n /**\n * A reed solomon error-correcting encoding constructor is created by\n * passing as Galois Field with of size equal to the number of code\n * words (symbols) in the alphabet (the number of values in each\n * element of arrays that are encoded/decoded).\n * @param field A galois field with a number of elements equal to the size\n * of the alphabet of symbols to encode.\n */\n constructor(field) {\n this.field = field;\n this.cachedGenerators = [];\n this.cachedGenerators.push(new GenericGFPoly(field, Int32Array.from([1])));\n }\n buildGenerator(degree /*int*/) {\n const cachedGenerators = this.cachedGenerators;\n if (degree >= cachedGenerators.length) {\n let lastGenerator = cachedGenerators[cachedGenerators.length - 1];\n const field = this.field;\n for (let d = cachedGenerators.length; d <= degree; d++) {\n const nextGenerator = lastGenerator.multiply(new GenericGFPoly(field, Int32Array.from([1, field.exp(d - 1 + field.getGeneratorBase())])));\n cachedGenerators.push(nextGenerator);\n lastGenerator = nextGenerator;\n }\n }\n return cachedGenerators[degree];\n }\n /**\n *

Encode a sequence of code words (symbols) using Reed-Solomon to allow decoders\n * to detect and correct errors that may have been introduced when the resulting\n * data is stored or transmitted.

\n *\n * @param toEncode array used for both and output. Caller initializes the array with\n * the code words (symbols) to be encoded followed by empty elements allocated to make\n * space for error-correction code words in the encoded output. The array contains\n * the encdoded output when encode returns. Code words are encoded as numbers from\n * 0 to n-1, where n is the number of possible code words (symbols), as determined\n * by the size of the Galois Field passed in the constructor of this object.\n * @param ecBytes the number of elements reserved in the array (first parameter)\n * to store error-correction code words. Thus, the number of code words (symbols)\n * to encode in the first parameter is thus toEncode.length - ecBytes.\n * Note, the use of \"bytes\" in the name of this parameter is misleading, as there may\n * be more or fewer than 256 symbols being encoded, as determined by the number of\n * elements in the Galois Field passed as a constructor to this object.\n * @throws IllegalArgumentException thrown in response to validation errros.\n */\n encode(toEncode, ecBytes /*int*/) {\n if (ecBytes === 0) {\n throw new IllegalArgumentException('No error correction bytes');\n }\n const dataBytes = toEncode.length - ecBytes;\n if (dataBytes <= 0) {\n throw new IllegalArgumentException('No data bytes provided');\n }\n const generator = this.buildGenerator(ecBytes);\n const infoCoefficients = new Int32Array(dataBytes);\n System.arraycopy(toEncode, 0, infoCoefficients, 0, dataBytes);\n let info = new GenericGFPoly(this.field, infoCoefficients);\n info = info.multiplyByMonomial(ecBytes, 1);\n const remainder = info.divide(generator)[1];\n const coefficients = remainder.getCoefficients();\n const numZeroCoefficients = ecBytes - coefficients.length;\n for (let i = 0; i < numZeroCoefficients; i++) {\n toEncode[dataBytes + i] = 0;\n }\n System.arraycopy(coefficients, 0, toEncode, dataBytes + numZeroCoefficients, coefficients.length);\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author Satoru Takabayashi\n * @author Daniel Switkin\n * @author Sean Owen\n */\n class MaskUtil {\n constructor() {\n // do nothing\n }\n /**\n * Apply mask penalty rule 1 and return the penalty. Find repetitive cells with the same color and\n * give penalty to them. Example: 00000 or 11111.\n */\n static applyMaskPenaltyRule1(matrix) {\n return MaskUtil.applyMaskPenaltyRule1Internal(matrix, true) + MaskUtil.applyMaskPenaltyRule1Internal(matrix, false);\n }\n /**\n * Apply mask penalty rule 2 and return the penalty. Find 2x2 blocks with the same color and give\n * penalty to them. This is actually equivalent to the spec's rule, which is to find MxN blocks and give a\n * penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks inside such a block.\n */\n static applyMaskPenaltyRule2(matrix) {\n let penalty = 0;\n const array = matrix.getArray();\n const width = matrix.getWidth();\n const height = matrix.getHeight();\n for (let y = 0; y < height - 1; y++) {\n const arrayY = array[y];\n for (let x = 0; x < width - 1; x++) {\n const value = arrayY[x];\n if (value === arrayY[x + 1] && value === array[y + 1][x] && value === array[y + 1][x + 1]) {\n penalty++;\n }\n }\n }\n return MaskUtil.N2 * penalty;\n }\n /**\n * Apply mask penalty rule 3 and return the penalty. Find consecutive runs of 1:1:3:1:1:4\n * starting with black, or 4:1:1:3:1:1 starting with white, and give penalty to them. If we\n * find patterns like 000010111010000, we give penalty once.\n */\n static applyMaskPenaltyRule3(matrix) {\n let numPenalties = 0;\n const array = matrix.getArray();\n const width = matrix.getWidth();\n const height = matrix.getHeight();\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const arrayY = array[y]; // We can at least optimize this access\n if (x + 6 < width &&\n arrayY[x] === 1 &&\n arrayY[x + 1] === 0 &&\n arrayY[x + 2] === 1 &&\n arrayY[x + 3] === 1 &&\n arrayY[x + 4] === 1 &&\n arrayY[x + 5] === 0 &&\n arrayY[x + 6] === 1 &&\n (MaskUtil.isWhiteHorizontal(arrayY, x - 4, x) || MaskUtil.isWhiteHorizontal(arrayY, x + 7, x + 11))) {\n numPenalties++;\n }\n if (y + 6 < height &&\n array[y][x] === 1 &&\n array[y + 1][x] === 0 &&\n array[y + 2][x] === 1 &&\n array[y + 3][x] === 1 &&\n array[y + 4][x] === 1 &&\n array[y + 5][x] === 0 &&\n array[y + 6][x] === 1 &&\n (MaskUtil.isWhiteVertical(array, x, y - 4, y) || MaskUtil.isWhiteVertical(array, x, y + 7, y + 11))) {\n numPenalties++;\n }\n }\n }\n return numPenalties * MaskUtil.N3;\n }\n static isWhiteHorizontal(rowArray, from /*int*/, to /*int*/) {\n from = Math.max(from, 0);\n to = Math.min(to, rowArray.length);\n for (let i = from; i < to; i++) {\n if (rowArray[i] === 1) {\n return false;\n }\n }\n return true;\n }\n static isWhiteVertical(array, col /*int*/, from /*int*/, to /*int*/) {\n from = Math.max(from, 0);\n to = Math.min(to, array.length);\n for (let i = from; i < to; i++) {\n if (array[i][col] === 1) {\n return false;\n }\n }\n return true;\n }\n /**\n * Apply mask penalty rule 4 and return the penalty. Calculate the ratio of dark cells and give\n * penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.\n */\n static applyMaskPenaltyRule4(matrix) {\n let numDarkCells = 0;\n const array = matrix.getArray();\n const width = matrix.getWidth();\n const height = matrix.getHeight();\n for (let y = 0; y < height; y++) {\n const arrayY = array[y];\n for (let x = 0; x < width; x++) {\n if (arrayY[x] === 1) {\n numDarkCells++;\n }\n }\n }\n const numTotalCells = matrix.getHeight() * matrix.getWidth();\n const fivePercentVariances = Math.floor(Math.abs(numDarkCells * 2 - numTotalCells) * 10 / numTotalCells);\n return fivePercentVariances * MaskUtil.N4;\n }\n /**\n * Return the mask bit for \"getMaskPattern\" at \"x\" and \"y\". See 8.8 of JISX0510:2004 for mask\n * pattern conditions.\n */\n static getDataMaskBit(maskPattern /*int*/, x /*int*/, y /*int*/) {\n let intermediate; /*int*/\n let temp; /*int*/\n switch (maskPattern) {\n case 0:\n intermediate = (y + x) & 0x1;\n break;\n case 1:\n intermediate = y & 0x1;\n break;\n case 2:\n intermediate = x % 3;\n break;\n case 3:\n intermediate = (y + x) % 3;\n break;\n case 4:\n intermediate = (Math.floor(y / 2) + Math.floor(x / 3)) & 0x1;\n break;\n case 5:\n temp = y * x;\n intermediate = (temp & 0x1) + (temp % 3);\n break;\n case 6:\n temp = y * x;\n intermediate = ((temp & 0x1) + (temp % 3)) & 0x1;\n break;\n case 7:\n temp = y * x;\n intermediate = ((temp % 3) + ((y + x) & 0x1)) & 0x1;\n break;\n default:\n throw new IllegalArgumentException('Invalid mask pattern: ' + maskPattern);\n }\n return intermediate === 0;\n }\n /**\n * Helper function for applyMaskPenaltyRule1. We need this for doing this calculation in both\n * vertical and horizontal orders respectively.\n */\n static applyMaskPenaltyRule1Internal(matrix, isHorizontal) {\n let penalty = 0;\n const iLimit = isHorizontal ? matrix.getHeight() : matrix.getWidth();\n const jLimit = isHorizontal ? matrix.getWidth() : matrix.getHeight();\n const array = matrix.getArray();\n for (let i = 0; i < iLimit; i++) {\n let numSameBitCells = 0;\n let prevBit = -1;\n for (let j = 0; j < jLimit; j++) {\n const bit = isHorizontal ? array[i][j] : array[j][i];\n if (bit === prevBit) {\n numSameBitCells++;\n }\n else {\n if (numSameBitCells >= 5) {\n penalty += MaskUtil.N1 + (numSameBitCells - 5);\n }\n numSameBitCells = 1; // Include the cell itself.\n prevBit = bit;\n }\n }\n if (numSameBitCells >= 5) {\n penalty += MaskUtil.N1 + (numSameBitCells - 5);\n }\n }\n return penalty;\n }\n }\n // Penalty weights from section 6.8.2.1\n MaskUtil.N1 = 3;\n MaskUtil.N2 = 3;\n MaskUtil.N3 = 40;\n MaskUtil.N4 = 10;\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * JAVAPORT: The original code was a 2D array of ints, but since it only ever gets assigned\n * -1, 0, and 1, I'm going to use less memory and go with bytes.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class ByteMatrix {\n constructor(width /*int*/, height /*int*/) {\n this.width = width;\n this.height = height;\n const bytes = new Array(height); // [height][width]\n for (let i = 0; i !== height; i++) {\n bytes[i] = new Uint8Array(width);\n }\n this.bytes = bytes;\n }\n getHeight() {\n return this.height;\n }\n getWidth() {\n return this.width;\n }\n get(x /*int*/, y /*int*/) {\n return this.bytes[y][x];\n }\n /**\n * @return an internal representation as bytes, in row-major order. array[y][x] represents point (x,y)\n */\n getArray() {\n return this.bytes;\n }\n // TYPESCRIPTPORT: preffer to let two methods instead of override to avoid type comparison inside\n setNumber(x /*int*/, y /*int*/, value /*byte|int*/) {\n this.bytes[y][x] = value;\n }\n // public set(x: number /*int*/, y: number /*int*/, value: number /*int*/): void {\n // bytes[y][x] = (byte) value\n // }\n setBoolean(x /*int*/, y /*int*/, value) {\n this.bytes[y][x] = /*(byte) */ (value ? 1 : 0);\n }\n clear(value /*byte*/) {\n for (const aByte of this.bytes) {\n Arrays.fill(aByte, value);\n }\n }\n equals(o) {\n if (!(o instanceof ByteMatrix)) {\n return false;\n }\n const other = o;\n if (this.width !== other.width) {\n return false;\n }\n if (this.height !== other.height) {\n return false;\n }\n for (let y = 0, height = this.height; y < height; ++y) {\n const bytesY = this.bytes[y];\n const otherBytesY = other.bytes[y];\n for (let x = 0, width = this.width; x < width; ++x) {\n if (bytesY[x] !== otherBytesY[x]) {\n return false;\n }\n }\n }\n return true;\n }\n /*@Override*/\n toString() {\n const result = new StringBuilder(); // (2 * width * height + 2)\n for (let y = 0, height = this.height; y < height; ++y) {\n const bytesY = this.bytes[y];\n for (let x = 0, width = this.width; x < width; ++x) {\n switch (bytesY[x]) {\n case 0:\n result.append(' 0');\n break;\n case 1:\n result.append(' 1');\n break;\n default:\n result.append(' ');\n break;\n }\n }\n result.append('\\n');\n }\n return result.toString();\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\n class QRCode {\n constructor() {\n this.maskPattern = -1;\n }\n getMode() {\n return this.mode;\n }\n getECLevel() {\n return this.ecLevel;\n }\n getVersion() {\n return this.version;\n }\n getMaskPattern() {\n return this.maskPattern;\n }\n getMatrix() {\n return this.matrix;\n }\n /*@Override*/\n toString() {\n const result = new StringBuilder(); // (200)\n result.append('<<\\n');\n result.append(' mode: ');\n result.append(this.mode ? this.mode.toString() : 'null');\n result.append('\\n ecLevel: ');\n result.append(this.ecLevel ? this.ecLevel.toString() : 'null');\n result.append('\\n version: ');\n result.append(this.version ? this.version.toString() : 'null');\n result.append('\\n maskPattern: ');\n result.append(this.maskPattern.toString());\n if (this.matrix) {\n result.append('\\n matrix:\\n');\n result.append(this.matrix.toString());\n }\n else {\n result.append('\\n matrix: null\\n');\n }\n result.append('>>\\n');\n return result.toString();\n }\n setMode(value) {\n this.mode = value;\n }\n setECLevel(value) {\n this.ecLevel = value;\n }\n setVersion(version) {\n this.version = version;\n }\n setMaskPattern(value /*int*/) {\n this.maskPattern = value;\n }\n setMatrix(value) {\n this.matrix = value;\n }\n // Check if \"mask_pattern\" is valid.\n static isValidMaskPattern(maskPattern /*int*/) {\n return maskPattern >= 0 && maskPattern < QRCode.NUM_MASK_PATTERNS;\n }\n }\n QRCode.NUM_MASK_PATTERNS = 8;\n\n /**\n * Custom Error class of type Exception.\n */\n class WriterException extends Exception {\n }\n WriterException.kind = 'WriterException';\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\n class MatrixUtil {\n constructor() {\n // do nothing\n }\n // Set all cells to -1 (TYPESCRIPTPORT: 255). -1 (TYPESCRIPTPORT: 255) means that the cell is empty (not set yet).\n //\n // JAVAPORT: We shouldn't need to do this at all. The code should be rewritten to begin encoding\n // with the ByteMatrix initialized all to zero.\n static clearMatrix(matrix) {\n // TYPESCRIPTPORT: we use UintArray se changed here from -1 to 255\n matrix.clear(/*(byte) */ /*-1*/ 255);\n }\n // Build 2D matrix of QR Code from \"dataBits\" with \"ecLevel\", \"version\" and \"getMaskPattern\". On\n // success, store the result in \"matrix\" and return true.\n static buildMatrix(dataBits, ecLevel, version, maskPattern /*int*/, matrix) {\n MatrixUtil.clearMatrix(matrix);\n MatrixUtil.embedBasicPatterns(version, matrix);\n // Type information appear with any version.\n MatrixUtil.embedTypeInfo(ecLevel, maskPattern, matrix);\n // Version info appear if version >= 7.\n MatrixUtil.maybeEmbedVersionInfo(version, matrix);\n // Data should be embedded at end.\n MatrixUtil.embedDataBits(dataBits, maskPattern, matrix);\n }\n // Embed basic patterns. On success, modify the matrix and return true.\n // The basic patterns are:\n // - Position detection patterns\n // - Timing patterns\n // - Dark dot at the left bottom corner\n // - Position adjustment patterns, if need be\n static embedBasicPatterns(version, matrix) {\n // Let's get started with embedding big squares at corners.\n MatrixUtil.embedPositionDetectionPatternsAndSeparators(matrix);\n // Then, embed the dark dot at the left bottom corner.\n MatrixUtil.embedDarkDotAtLeftBottomCorner(matrix);\n // Position adjustment patterns appear if version >= 2.\n MatrixUtil.maybeEmbedPositionAdjustmentPatterns(version, matrix);\n // Timing patterns should be embedded after position adj. patterns.\n MatrixUtil.embedTimingPatterns(matrix);\n }\n // Embed type information. On success, modify the matrix.\n static embedTypeInfo(ecLevel, maskPattern /*int*/, matrix) {\n const typeInfoBits = new BitArray();\n MatrixUtil.makeTypeInfoBits(ecLevel, maskPattern, typeInfoBits);\n for (let i = 0, size = typeInfoBits.getSize(); i < size; ++i) {\n // Place bits in LSB to MSB order. LSB (least significant bit) is the last value in\n // \"typeInfoBits\".\n const bit = typeInfoBits.get(typeInfoBits.getSize() - 1 - i);\n // Type info bits at the left top corner. See 8.9 of JISX0510:2004 (p.46).\n const coordinates = MatrixUtil.TYPE_INFO_COORDINATES[i];\n const x1 = coordinates[0];\n const y1 = coordinates[1];\n matrix.setBoolean(x1, y1, bit);\n if (i < 8) {\n // Right top corner.\n const x2 = matrix.getWidth() - i - 1;\n const y2 = 8;\n matrix.setBoolean(x2, y2, bit);\n }\n else {\n // Left bottom corner.\n const x2 = 8;\n const y2 = matrix.getHeight() - 7 + (i - 8);\n matrix.setBoolean(x2, y2, bit);\n }\n }\n }\n // Embed version information if need be. On success, modify the matrix and return true.\n // See 8.10 of JISX0510:2004 (p.47) for how to embed version information.\n static maybeEmbedVersionInfo(version, matrix) {\n if (version.getVersionNumber() < 7) { // Version info is necessary if version >= 7.\n return; // Don't need version info.\n }\n const versionInfoBits = new BitArray();\n MatrixUtil.makeVersionInfoBits(version, versionInfoBits);\n let bitIndex = 6 * 3 - 1; // It will decrease from 17 to 0.\n for (let i = 0; i < 6; ++i) {\n for (let j = 0; j < 3; ++j) {\n // Place bits in LSB (least significant bit) to MSB order.\n const bit = versionInfoBits.get(bitIndex);\n bitIndex--;\n // Left bottom corner.\n matrix.setBoolean(i, matrix.getHeight() - 11 + j, bit);\n // Right bottom corner.\n matrix.setBoolean(matrix.getHeight() - 11 + j, i, bit);\n }\n }\n }\n // Embed \"dataBits\" using \"getMaskPattern\". On success, modify the matrix and return true.\n // For debugging purposes, it skips masking process if \"getMaskPattern\" is -1(TYPESCRIPTPORT: 255).\n // See 8.7 of JISX0510:2004 (p.38) for how to embed data bits.\n static embedDataBits(dataBits, maskPattern /*int*/, matrix) {\n let bitIndex = 0;\n let direction = -1;\n // Start from the right bottom cell.\n let x = matrix.getWidth() - 1;\n let y = matrix.getHeight() - 1;\n while (x > 0) {\n // Skip the vertical timing pattern.\n if (x === 6) {\n x -= 1;\n }\n while (y >= 0 && y < matrix.getHeight()) {\n for (let i = 0; i < 2; ++i) {\n const xx = x - i;\n // Skip the cell if it's not empty.\n if (!MatrixUtil.isEmpty(matrix.get(xx, y))) {\n continue;\n }\n let bit;\n if (bitIndex < dataBits.getSize()) {\n bit = dataBits.get(bitIndex);\n ++bitIndex;\n }\n else {\n // Padding bit. If there is no bit left, we'll fill the left cells with 0, as described\n // in 8.4.9 of JISX0510:2004 (p. 24).\n bit = false;\n }\n // Skip masking if mask_pattern is -1 (TYPESCRIPTPORT: 255).\n if (maskPattern !== 255 && MaskUtil.getDataMaskBit(maskPattern, xx, y)) {\n bit = !bit;\n }\n matrix.setBoolean(xx, y, bit);\n }\n y += direction;\n }\n direction = -direction; // Reverse the direction.\n y += direction;\n x -= 2; // Move to the left.\n }\n // All bits should be consumed.\n if (bitIndex !== dataBits.getSize()) {\n throw new WriterException('Not all bits consumed: ' + bitIndex + '/' + dataBits.getSize());\n }\n }\n // Return the position of the most significant bit set (one: to) in the \"value\". The most\n // significant bit is position 32. If there is no bit set, return 0. Examples:\n // - findMSBSet(0) => 0\n // - findMSBSet(1) => 1\n // - findMSBSet(255) => 8\n static findMSBSet(value /*int*/) {\n return 32 - Integer.numberOfLeadingZeros(value);\n }\n // Calculate BCH (Bose-Chaudhuri-Hocquenghem) code for \"value\" using polynomial \"poly\". The BCH\n // code is used for encoding type information and version information.\n // Example: Calculation of version information of 7.\n // f(x) is created from 7.\n // - 7 = 000111 in 6 bits\n // - f(x) = x^2 + x^1 + x^0\n // g(x) is given by the standard (p. 67)\n // - g(x) = x^12 + x^11 + x^10 + x^9 + x^8 + x^5 + x^2 + 1\n // Multiply f(x) by x^(18 - 6)\n // - f'(x) = f(x) * x^(18 - 6)\n // - f'(x) = x^14 + x^13 + x^12\n // Calculate the remainder of f'(x) / g(x)\n // x^2\n // __________________________________________________\n // g(x) )x^14 + x^13 + x^12\n // x^14 + x^13 + x^12 + x^11 + x^10 + x^7 + x^4 + x^2\n // --------------------------------------------------\n // x^11 + x^10 + x^7 + x^4 + x^2\n //\n // The remainder is x^11 + x^10 + x^7 + x^4 + x^2\n // Encode it in binary: 110010010100\n // The return value is 0xc94 (1100 1001 0100)\n //\n // Since all coefficients in the polynomials are 1 or 0, we can do the calculation by bit\n // operations. We don't care if coefficients are positive or negative.\n static calculateBCHCode(value /*int*/, poly /*int*/) {\n if (poly === 0) {\n throw new IllegalArgumentException('0 polynomial');\n }\n // If poly is \"1 1111 0010 0101\" (version info poly), msbSetInPoly is 13. We'll subtract 1\n // from 13 to make it 12.\n const msbSetInPoly = MatrixUtil.findMSBSet(poly);\n value <<= msbSetInPoly - 1;\n // Do the division business using exclusive-or operations.\n while (MatrixUtil.findMSBSet(value) >= msbSetInPoly) {\n value ^= poly << (MatrixUtil.findMSBSet(value) - msbSetInPoly);\n }\n // Now the \"value\" is the remainder (i.e. the BCH code)\n return value;\n }\n // Make bit vector of type information. On success, store the result in \"bits\" and return true.\n // Encode error correction level and mask pattern. See 8.9 of\n // JISX0510:2004 (p.45) for details.\n static makeTypeInfoBits(ecLevel, maskPattern /*int*/, bits) {\n if (!QRCode.isValidMaskPattern(maskPattern)) {\n throw new WriterException('Invalid mask pattern');\n }\n const typeInfo = (ecLevel.getBits() << 3) | maskPattern;\n bits.appendBits(typeInfo, 5);\n const bchCode = MatrixUtil.calculateBCHCode(typeInfo, MatrixUtil.TYPE_INFO_POLY);\n bits.appendBits(bchCode, 10);\n const maskBits = new BitArray();\n maskBits.appendBits(MatrixUtil.TYPE_INFO_MASK_PATTERN, 15);\n bits.xor(maskBits);\n if (bits.getSize() !== 15) { // Just in case.\n throw new WriterException('should not happen but we got: ' + bits.getSize());\n }\n }\n // Make bit vector of version information. On success, store the result in \"bits\" and return true.\n // See 8.10 of JISX0510:2004 (p.45) for details.\n static makeVersionInfoBits(version, bits) {\n bits.appendBits(version.getVersionNumber(), 6);\n const bchCode = MatrixUtil.calculateBCHCode(version.getVersionNumber(), MatrixUtil.VERSION_INFO_POLY);\n bits.appendBits(bchCode, 12);\n if (bits.getSize() !== 18) { // Just in case.\n throw new WriterException('should not happen but we got: ' + bits.getSize());\n }\n }\n // Check if \"value\" is empty.\n static isEmpty(value /*int*/) {\n return value === 255; // -1\n }\n static embedTimingPatterns(matrix) {\n // -8 is for skipping position detection patterns (7: size), and two horizontal/vertical\n // separation patterns (1: size). Thus, 8 = 7 + 1.\n for (let i = 8; i < matrix.getWidth() - 8; ++i) {\n const bit = (i + 1) % 2;\n // Horizontal line.\n if (MatrixUtil.isEmpty(matrix.get(i, 6))) {\n matrix.setNumber(i, 6, bit);\n }\n // Vertical line.\n if (MatrixUtil.isEmpty(matrix.get(6, i))) {\n matrix.setNumber(6, i, bit);\n }\n }\n }\n // Embed the lonely dark dot at left bottom corner. JISX0510:2004 (p.46)\n static embedDarkDotAtLeftBottomCorner(matrix) {\n if (matrix.get(8, matrix.getHeight() - 8) === 0) {\n throw new WriterException();\n }\n matrix.setNumber(8, matrix.getHeight() - 8, 1);\n }\n static embedHorizontalSeparationPattern(xStart /*int*/, yStart /*int*/, matrix) {\n for (let x = 0; x < 8; ++x) {\n if (!MatrixUtil.isEmpty(matrix.get(xStart + x, yStart))) {\n throw new WriterException();\n }\n matrix.setNumber(xStart + x, yStart, 0);\n }\n }\n static embedVerticalSeparationPattern(xStart /*int*/, yStart /*int*/, matrix) {\n for (let y = 0; y < 7; ++y) {\n if (!MatrixUtil.isEmpty(matrix.get(xStart, yStart + y))) {\n throw new WriterException();\n }\n matrix.setNumber(xStart, yStart + y, 0);\n }\n }\n static embedPositionAdjustmentPattern(xStart /*int*/, yStart /*int*/, matrix) {\n for (let y = 0; y < 5; ++y) {\n const patternY = MatrixUtil.POSITION_ADJUSTMENT_PATTERN[y];\n for (let x = 0; x < 5; ++x) {\n matrix.setNumber(xStart + x, yStart + y, patternY[x]);\n }\n }\n }\n static embedPositionDetectionPattern(xStart /*int*/, yStart /*int*/, matrix) {\n for (let y = 0; y < 7; ++y) {\n const patternY = MatrixUtil.POSITION_DETECTION_PATTERN[y];\n for (let x = 0; x < 7; ++x) {\n matrix.setNumber(xStart + x, yStart + y, patternY[x]);\n }\n }\n }\n // Embed position detection patterns and surrounding vertical/horizontal separators.\n static embedPositionDetectionPatternsAndSeparators(matrix) {\n // Embed three big squares at corners.\n const pdpWidth = MatrixUtil.POSITION_DETECTION_PATTERN[0].length;\n // Left top corner.\n MatrixUtil.embedPositionDetectionPattern(0, 0, matrix);\n // Right top corner.\n MatrixUtil.embedPositionDetectionPattern(matrix.getWidth() - pdpWidth, 0, matrix);\n // Left bottom corner.\n MatrixUtil.embedPositionDetectionPattern(0, matrix.getWidth() - pdpWidth, matrix);\n // Embed horizontal separation patterns around the squares.\n const hspWidth = 8;\n // Left top corner.\n MatrixUtil.embedHorizontalSeparationPattern(0, hspWidth - 1, matrix);\n // Right top corner.\n MatrixUtil.embedHorizontalSeparationPattern(matrix.getWidth() - hspWidth, hspWidth - 1, matrix);\n // Left bottom corner.\n MatrixUtil.embedHorizontalSeparationPattern(0, matrix.getWidth() - hspWidth, matrix);\n // Embed vertical separation patterns around the squares.\n const vspSize = 7;\n // Left top corner.\n MatrixUtil.embedVerticalSeparationPattern(vspSize, 0, matrix);\n // Right top corner.\n MatrixUtil.embedVerticalSeparationPattern(matrix.getHeight() - vspSize - 1, 0, matrix);\n // Left bottom corner.\n MatrixUtil.embedVerticalSeparationPattern(vspSize, matrix.getHeight() - vspSize, matrix);\n }\n // Embed position adjustment patterns if need be.\n static maybeEmbedPositionAdjustmentPatterns(version, matrix) {\n if (version.getVersionNumber() < 2) { // The patterns appear if version >= 2\n return;\n }\n const index = version.getVersionNumber() - 1;\n const coordinates = MatrixUtil.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[index];\n for (let i = 0, length = coordinates.length; i !== length; i++) {\n const y = coordinates[i];\n if (y >= 0) {\n for (let j = 0; j !== length; j++) {\n const x = coordinates[j];\n if (x >= 0 && MatrixUtil.isEmpty(matrix.get(x, y))) {\n // If the cell is unset, we embed the position adjustment pattern here.\n // -2 is necessary since the x/y coordinates point to the center of the pattern, not the\n // left top corner.\n MatrixUtil.embedPositionAdjustmentPattern(x - 2, y - 2, matrix);\n }\n }\n }\n }\n }\n }\n MatrixUtil.POSITION_DETECTION_PATTERN = Array.from([\n Int32Array.from([1, 1, 1, 1, 1, 1, 1]),\n Int32Array.from([1, 0, 0, 0, 0, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 1, 1, 1, 0, 1]),\n Int32Array.from([1, 0, 0, 0, 0, 0, 1]),\n Int32Array.from([1, 1, 1, 1, 1, 1, 1]),\n ]);\n MatrixUtil.POSITION_ADJUSTMENT_PATTERN = Array.from([\n Int32Array.from([1, 1, 1, 1, 1]),\n Int32Array.from([1, 0, 0, 0, 1]),\n Int32Array.from([1, 0, 1, 0, 1]),\n Int32Array.from([1, 0, 0, 0, 1]),\n Int32Array.from([1, 1, 1, 1, 1]),\n ]);\n // From Appendix E. Table 1, JIS0510X:2004 (71: p). The table was double-checked by komatsu.\n MatrixUtil.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE = Array.from([\n Int32Array.from([-1, -1, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 18, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 22, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 26, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 30, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 34, -1, -1, -1, -1, -1]),\n Int32Array.from([6, 22, 38, -1, -1, -1, -1]),\n Int32Array.from([6, 24, 42, -1, -1, -1, -1]),\n Int32Array.from([6, 26, 46, -1, -1, -1, -1]),\n Int32Array.from([6, 28, 50, -1, -1, -1, -1]),\n Int32Array.from([6, 30, 54, -1, -1, -1, -1]),\n Int32Array.from([6, 32, 58, -1, -1, -1, -1]),\n Int32Array.from([6, 34, 62, -1, -1, -1, -1]),\n Int32Array.from([6, 26, 46, 66, -1, -1, -1]),\n Int32Array.from([6, 26, 48, 70, -1, -1, -1]),\n Int32Array.from([6, 26, 50, 74, -1, -1, -1]),\n Int32Array.from([6, 30, 54, 78, -1, -1, -1]),\n Int32Array.from([6, 30, 56, 82, -1, -1, -1]),\n Int32Array.from([6, 30, 58, 86, -1, -1, -1]),\n Int32Array.from([6, 34, 62, 90, -1, -1, -1]),\n Int32Array.from([6, 28, 50, 72, 94, -1, -1]),\n Int32Array.from([6, 26, 50, 74, 98, -1, -1]),\n Int32Array.from([6, 30, 54, 78, 102, -1, -1]),\n Int32Array.from([6, 28, 54, 80, 106, -1, -1]),\n Int32Array.from([6, 32, 58, 84, 110, -1, -1]),\n Int32Array.from([6, 30, 58, 86, 114, -1, -1]),\n Int32Array.from([6, 34, 62, 90, 118, -1, -1]),\n Int32Array.from([6, 26, 50, 74, 98, 122, -1]),\n Int32Array.from([6, 30, 54, 78, 102, 126, -1]),\n Int32Array.from([6, 26, 52, 78, 104, 130, -1]),\n Int32Array.from([6, 30, 56, 82, 108, 134, -1]),\n Int32Array.from([6, 34, 60, 86, 112, 138, -1]),\n Int32Array.from([6, 30, 58, 86, 114, 142, -1]),\n Int32Array.from([6, 34, 62, 90, 118, 146, -1]),\n Int32Array.from([6, 30, 54, 78, 102, 126, 150]),\n Int32Array.from([6, 24, 50, 76, 102, 128, 154]),\n Int32Array.from([6, 28, 54, 80, 106, 132, 158]),\n Int32Array.from([6, 32, 58, 84, 110, 136, 162]),\n Int32Array.from([6, 26, 54, 82, 110, 138, 166]),\n Int32Array.from([6, 30, 58, 86, 114, 142, 170]),\n ]);\n // Type info cells at the left top corner.\n MatrixUtil.TYPE_INFO_COORDINATES = Array.from([\n Int32Array.from([8, 0]),\n Int32Array.from([8, 1]),\n Int32Array.from([8, 2]),\n Int32Array.from([8, 3]),\n Int32Array.from([8, 4]),\n Int32Array.from([8, 5]),\n Int32Array.from([8, 7]),\n Int32Array.from([8, 8]),\n Int32Array.from([7, 8]),\n Int32Array.from([5, 8]),\n Int32Array.from([4, 8]),\n Int32Array.from([3, 8]),\n Int32Array.from([2, 8]),\n Int32Array.from([1, 8]),\n Int32Array.from([0, 8]),\n ]);\n // From Appendix D in JISX0510:2004 (p. 67)\n MatrixUtil.VERSION_INFO_POLY = 0x1f25; // 1 1111 0010 0101\n // From Appendix C in JISX0510:2004 (p.65).\n MatrixUtil.TYPE_INFO_POLY = 0x537;\n MatrixUtil.TYPE_INFO_MASK_PATTERN = 0x5412;\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*namespace com.google.zxing.qrcode.encoder {*/\n class BlockPair {\n constructor(dataBytes, errorCorrectionBytes) {\n this.dataBytes = dataBytes;\n this.errorCorrectionBytes = errorCorrectionBytes;\n }\n getDataBytes() {\n return this.dataBytes;\n }\n getErrorCorrectionBytes() {\n return this.errorCorrectionBytes;\n }\n }\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.io.UnsupportedEncodingException;*/\n /*import java.util.ArrayList;*/\n /*import java.util.Collection;*/\n /*import java.util.Map;*/\n /**\n * @author satorux@google.com (Satoru Takabayashi) - creator\n * @author dswitkin@google.com (Daniel Switkin) - ported from C++\n */\n class Encoder {\n // TYPESCRIPTPORT: changed to UTF8, the default for js\n constructor() { }\n // The mask penalty calculation is complicated. See Table 21 of JISX0510:2004 (p.45) for details.\n // Basically it applies four rules and summate all penalties.\n static calculateMaskPenalty(matrix) {\n return MaskUtil.applyMaskPenaltyRule1(matrix)\n + MaskUtil.applyMaskPenaltyRule2(matrix)\n + MaskUtil.applyMaskPenaltyRule3(matrix)\n + MaskUtil.applyMaskPenaltyRule4(matrix);\n }\n /**\n * @param content text to encode\n * @param ecLevel error correction level to use\n * @return {@link QRCode} representing the encoded QR code\n * @throws WriterException if encoding can't succeed, because of for example invalid content\n * or configuration\n */\n // public static encode(content: string, ecLevel: ErrorCorrectionLevel): QRCode /*throws WriterException*/ {\n // return encode(content, ecLevel, null)\n // }\n static encode(content, ecLevel, hints = null) {\n // Determine what character encoding has been specified by the caller, if any\n let encoding = Encoder.DEFAULT_BYTE_MODE_ENCODING;\n const hasEncodingHint = hints !== null && undefined !== hints.get(EncodeHintType$1.CHARACTER_SET);\n if (hasEncodingHint) {\n encoding = hints.get(EncodeHintType$1.CHARACTER_SET).toString();\n }\n // Pick an encoding mode appropriate for the content. Note that this will not attempt to use\n // multiple modes / segments even if that were more efficient. Twould be nice.\n const mode = this.chooseMode(content, encoding);\n // This will store the header information, like mode and\n // length, as well as \"header\" segments like an ECI segment.\n const headerBits = new BitArray();\n // Append ECI segment if applicable\n if (mode === Mode$1.BYTE && (hasEncodingHint || Encoder.DEFAULT_BYTE_MODE_ENCODING !== encoding)) {\n const eci = CharacterSetECI.getCharacterSetECIByName(encoding);\n if (eci !== undefined) {\n this.appendECI(eci, headerBits);\n }\n }\n // (With ECI in place,) Write the mode marker\n this.appendModeInfo(mode, headerBits);\n // Collect data within the main segment, separately, to count its size if needed. Don't add it to\n // main payload yet.\n const dataBits = new BitArray();\n this.appendBytes(content, mode, dataBits, encoding);\n let version;\n if (hints !== null && undefined !== hints.get(EncodeHintType$1.QR_VERSION)) {\n const versionNumber = Number.parseInt(hints.get(EncodeHintType$1.QR_VERSION).toString(), 10);\n version = Version$1.getVersionForNumber(versionNumber);\n const bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, version);\n if (!this.willFit(bitsNeeded, version, ecLevel)) {\n throw new WriterException('Data too big for requested version');\n }\n }\n else {\n version = this.recommendVersion(ecLevel, mode, headerBits, dataBits);\n }\n const headerAndDataBits = new BitArray();\n headerAndDataBits.appendBitArray(headerBits);\n // Find \"length\" of main segment and write it\n const numLetters = mode === Mode$1.BYTE ? dataBits.getSizeInBytes() : content.length;\n this.appendLengthInfo(numLetters, version, mode, headerAndDataBits);\n // Put data together into the overall payload\n headerAndDataBits.appendBitArray(dataBits);\n const ecBlocks = version.getECBlocksForLevel(ecLevel);\n const numDataBytes = version.getTotalCodewords() - ecBlocks.getTotalECCodewords();\n // Terminate the bits properly.\n this.terminateBits(numDataBytes, headerAndDataBits);\n // Interleave data bits with error correction code.\n const finalBits = this.interleaveWithECBytes(headerAndDataBits, version.getTotalCodewords(), numDataBytes, ecBlocks.getNumBlocks());\n const qrCode = new QRCode();\n qrCode.setECLevel(ecLevel);\n qrCode.setMode(mode);\n qrCode.setVersion(version);\n // Choose the mask pattern and set to \"qrCode\".\n const dimension = version.getDimensionForVersion();\n const matrix = new ByteMatrix(dimension, dimension);\n const maskPattern = this.chooseMaskPattern(finalBits, ecLevel, version, matrix);\n qrCode.setMaskPattern(maskPattern);\n // Build the matrix and set it to \"qrCode\".\n MatrixUtil.buildMatrix(finalBits, ecLevel, version, maskPattern, matrix);\n qrCode.setMatrix(matrix);\n return qrCode;\n }\n /**\n * Decides the smallest version of QR code that will contain all of the provided data.\n *\n * @throws WriterException if the data cannot fit in any version\n */\n static recommendVersion(ecLevel, mode, headerBits, dataBits) {\n // Hard part: need to know version to know how many bits length takes. But need to know how many\n // bits it takes to know version. First we take a guess at version by assuming version will be\n // the minimum, 1:\n const provisionalBitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, Version$1.getVersionForNumber(1));\n const provisionalVersion = this.chooseVersion(provisionalBitsNeeded, ecLevel);\n // Use that guess to calculate the right version. I am still not sure this works in 100% of cases.\n const bitsNeeded = this.calculateBitsNeeded(mode, headerBits, dataBits, provisionalVersion);\n return this.chooseVersion(bitsNeeded, ecLevel);\n }\n static calculateBitsNeeded(mode, headerBits, dataBits, version) {\n return headerBits.getSize() + mode.getCharacterCountBits(version) + dataBits.getSize();\n }\n /**\n * @return the code point of the table used in alphanumeric mode or\n * -1 if there is no corresponding code in the table.\n */\n static getAlphanumericCode(code /*int*/) {\n if (code < Encoder.ALPHANUMERIC_TABLE.length) {\n return Encoder.ALPHANUMERIC_TABLE[code];\n }\n return -1;\n }\n // public static chooseMode(content: string): Mode {\n // return chooseMode(content, null);\n // }\n /**\n * Choose the best mode by examining the content. Note that 'encoding' is used as a hint;\n * if it is Shift_JIS, and the input is only double-byte Kanji, then we return {@link Mode#KANJI}.\n */\n static chooseMode(content, encoding = null) {\n if (CharacterSetECI.SJIS.getName() === encoding && this.isOnlyDoubleByteKanji(content)) {\n // Choose Kanji mode if all input are double-byte characters\n return Mode$1.KANJI;\n }\n let hasNumeric = false;\n let hasAlphanumeric = false;\n for (let i = 0, length = content.length; i < length; ++i) {\n const c = content.charAt(i);\n if (Encoder.isDigit(c)) {\n hasNumeric = true;\n }\n else if (this.getAlphanumericCode(c.charCodeAt(0)) !== -1) {\n hasAlphanumeric = true;\n }\n else {\n return Mode$1.BYTE;\n }\n }\n if (hasAlphanumeric) {\n return Mode$1.ALPHANUMERIC;\n }\n if (hasNumeric) {\n return Mode$1.NUMERIC;\n }\n return Mode$1.BYTE;\n }\n static isOnlyDoubleByteKanji(content) {\n let bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS); // content.getBytes(\"Shift_JIS\"))\n }\n catch (ignored /*: UnsupportedEncodingException*/) {\n return false;\n }\n const length = bytes.length;\n if (length % 2 !== 0) {\n return false;\n }\n for (let i = 0; i < length; i += 2) {\n const byte1 = bytes[i] & 0xFF;\n if ((byte1 < 0x81 || byte1 > 0x9F) && (byte1 < 0xE0 || byte1 > 0xEB)) {\n return false;\n }\n }\n return true;\n }\n static chooseMaskPattern(bits, ecLevel, version, matrix) {\n let minPenalty = Number.MAX_SAFE_INTEGER; // Lower penalty is better.\n let bestMaskPattern = -1;\n // We try all mask patterns to choose the best one.\n for (let maskPattern = 0; maskPattern < QRCode.NUM_MASK_PATTERNS; maskPattern++) {\n MatrixUtil.buildMatrix(bits, ecLevel, version, maskPattern, matrix);\n let penalty = this.calculateMaskPenalty(matrix);\n if (penalty < minPenalty) {\n minPenalty = penalty;\n bestMaskPattern = maskPattern;\n }\n }\n return bestMaskPattern;\n }\n static chooseVersion(numInputBits /*int*/, ecLevel) {\n for (let versionNum = 1; versionNum <= 40; versionNum++) {\n const version = Version$1.getVersionForNumber(versionNum);\n if (Encoder.willFit(numInputBits, version, ecLevel)) {\n return version;\n }\n }\n throw new WriterException('Data too big');\n }\n /**\n * @return true if the number of input bits will fit in a code with the specified version and\n * error correction level.\n */\n static willFit(numInputBits /*int*/, version, ecLevel) {\n // In the following comments, we use numbers of Version 7-H.\n // numBytes = 196\n const numBytes = version.getTotalCodewords();\n // getNumECBytes = 130\n const ecBlocks = version.getECBlocksForLevel(ecLevel);\n const numEcBytes = ecBlocks.getTotalECCodewords();\n // getNumDataBytes = 196 - 130 = 66\n const numDataBytes = numBytes - numEcBytes;\n const totalInputBytes = (numInputBits + 7) / 8;\n return numDataBytes >= totalInputBytes;\n }\n /**\n * Terminate bits as described in 8.4.8 and 8.4.9 of JISX0510:2004 (p.24).\n */\n static terminateBits(numDataBytes /*int*/, bits) {\n const capacity = numDataBytes * 8;\n if (bits.getSize() > capacity) {\n throw new WriterException('data bits cannot fit in the QR Code' + bits.getSize() + ' > ' +\n capacity);\n }\n for (let i = 0; i < 4 && bits.getSize() < capacity; ++i) {\n bits.appendBit(false);\n }\n // Append termination bits. See 8.4.8 of JISX0510:2004 (p.24) for details.\n // If the last byte isn't 8-bit aligned, we'll add padding bits.\n const numBitsInLastByte = bits.getSize() & 0x07;\n if (numBitsInLastByte > 0) {\n for (let i = numBitsInLastByte; i < 8; i++) {\n bits.appendBit(false);\n }\n }\n // If we have more space, we'll fill the space with padding patterns defined in 8.4.9 (p.24).\n const numPaddingBytes = numDataBytes - bits.getSizeInBytes();\n for (let i = 0; i < numPaddingBytes; ++i) {\n bits.appendBits((i & 0x01) === 0 ? 0xEC : 0x11, 8);\n }\n if (bits.getSize() !== capacity) {\n throw new WriterException('Bits size does not equal capacity');\n }\n }\n /**\n * Get number of data bytes and number of error correction bytes for block id \"blockID\". Store\n * the result in \"numDataBytesInBlock\", and \"numECBytesInBlock\". See table 12 in 8.5.1 of\n * JISX0510:2004 (p.30)\n */\n static getNumDataBytesAndNumECBytesForBlockID(numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/, blockID /*int*/, numDataBytesInBlock, numECBytesInBlock) {\n if (blockID >= numRSBlocks) {\n throw new WriterException('Block ID too large');\n }\n // numRsBlocksInGroup2 = 196 % 5 = 1\n const numRsBlocksInGroup2 = numTotalBytes % numRSBlocks;\n // numRsBlocksInGroup1 = 5 - 1 = 4\n const numRsBlocksInGroup1 = numRSBlocks - numRsBlocksInGroup2;\n // numTotalBytesInGroup1 = 196 / 5 = 39\n const numTotalBytesInGroup1 = Math.floor(numTotalBytes / numRSBlocks);\n // numTotalBytesInGroup2 = 39 + 1 = 40\n const numTotalBytesInGroup2 = numTotalBytesInGroup1 + 1;\n // numDataBytesInGroup1 = 66 / 5 = 13\n const numDataBytesInGroup1 = Math.floor(numDataBytes / numRSBlocks);\n // numDataBytesInGroup2 = 13 + 1 = 14\n const numDataBytesInGroup2 = numDataBytesInGroup1 + 1;\n // numEcBytesInGroup1 = 39 - 13 = 26\n const numEcBytesInGroup1 = numTotalBytesInGroup1 - numDataBytesInGroup1;\n // numEcBytesInGroup2 = 40 - 14 = 26\n const numEcBytesInGroup2 = numTotalBytesInGroup2 - numDataBytesInGroup2;\n // Sanity checks.\n // 26 = 26\n if (numEcBytesInGroup1 !== numEcBytesInGroup2) {\n throw new WriterException('EC bytes mismatch');\n }\n // 5 = 4 + 1.\n if (numRSBlocks !== numRsBlocksInGroup1 + numRsBlocksInGroup2) {\n throw new WriterException('RS blocks mismatch');\n }\n // 196 = (13 + 26) * 4 + (14 + 26) * 1\n if (numTotalBytes !==\n ((numDataBytesInGroup1 + numEcBytesInGroup1) *\n numRsBlocksInGroup1) +\n ((numDataBytesInGroup2 + numEcBytesInGroup2) *\n numRsBlocksInGroup2)) {\n throw new WriterException('Total bytes mismatch');\n }\n if (blockID < numRsBlocksInGroup1) {\n numDataBytesInBlock[0] = numDataBytesInGroup1;\n numECBytesInBlock[0] = numEcBytesInGroup1;\n }\n else {\n numDataBytesInBlock[0] = numDataBytesInGroup2;\n numECBytesInBlock[0] = numEcBytesInGroup2;\n }\n }\n /**\n * Interleave \"bits\" with corresponding error correction bytes. On success, store the result in\n * \"result\". The interleave rule is complicated. See 8.6 of JISX0510:2004 (p.37) for details.\n */\n static interleaveWithECBytes(bits, numTotalBytes /*int*/, numDataBytes /*int*/, numRSBlocks /*int*/) {\n // \"bits\" must have \"getNumDataBytes\" bytes of data.\n if (bits.getSizeInBytes() !== numDataBytes) {\n throw new WriterException('Number of bits and data bytes does not match');\n }\n // Step 1. Divide data bytes into blocks and generate error correction bytes for them. We'll\n // store the divided data bytes blocks and error correction bytes blocks into \"blocks\".\n let dataBytesOffset = 0;\n let maxNumDataBytes = 0;\n let maxNumEcBytes = 0;\n // Since, we know the number of reedsolmon blocks, we can initialize the vector with the number.\n const blocks = new Array(); // new Array(numRSBlocks)\n for (let i = 0; i < numRSBlocks; ++i) {\n const numDataBytesInBlock = new Int32Array(1);\n const numEcBytesInBlock = new Int32Array(1);\n Encoder.getNumDataBytesAndNumECBytesForBlockID(numTotalBytes, numDataBytes, numRSBlocks, i, numDataBytesInBlock, numEcBytesInBlock);\n const size = numDataBytesInBlock[0];\n const dataBytes = new Uint8Array(size);\n bits.toBytes(8 * dataBytesOffset, dataBytes, 0, size);\n const ecBytes = Encoder.generateECBytes(dataBytes, numEcBytesInBlock[0]);\n blocks.push(new BlockPair(dataBytes, ecBytes));\n maxNumDataBytes = Math.max(maxNumDataBytes, size);\n maxNumEcBytes = Math.max(maxNumEcBytes, ecBytes.length);\n dataBytesOffset += numDataBytesInBlock[0];\n }\n if (numDataBytes !== dataBytesOffset) {\n throw new WriterException('Data bytes does not match offset');\n }\n const result = new BitArray();\n // First, place data blocks.\n for (let i = 0; i < maxNumDataBytes; ++i) {\n for (const block of blocks) {\n const dataBytes = block.getDataBytes();\n if (i < dataBytes.length) {\n result.appendBits(dataBytes[i], 8);\n }\n }\n }\n // Then, place error correction blocks.\n for (let i = 0; i < maxNumEcBytes; ++i) {\n for (const block of blocks) {\n const ecBytes = block.getErrorCorrectionBytes();\n if (i < ecBytes.length) {\n result.appendBits(ecBytes[i], 8);\n }\n }\n }\n if (numTotalBytes !== result.getSizeInBytes()) { // Should be same.\n throw new WriterException('Interleaving error: ' + numTotalBytes + ' and ' +\n result.getSizeInBytes() + ' differ.');\n }\n return result;\n }\n static generateECBytes(dataBytes, numEcBytesInBlock /*int*/) {\n const numDataBytes = dataBytes.length;\n const toEncode = new Int32Array(numDataBytes + numEcBytesInBlock); // int[numDataBytes + numEcBytesInBlock]\n for (let i = 0; i < numDataBytes; i++) {\n toEncode[i] = dataBytes[i] & 0xFF;\n }\n new ReedSolomonEncoder(GenericGF.QR_CODE_FIELD_256).encode(toEncode, numEcBytesInBlock);\n const ecBytes = new Uint8Array(numEcBytesInBlock);\n for (let i = 0; i < numEcBytesInBlock; i++) {\n ecBytes[i] = /*(byte) */ toEncode[numDataBytes + i];\n }\n return ecBytes;\n }\n /**\n * Append mode info. On success, store the result in \"bits\".\n */\n static appendModeInfo(mode, bits) {\n bits.appendBits(mode.getBits(), 4);\n }\n /**\n * Append length info. On success, store the result in \"bits\".\n */\n static appendLengthInfo(numLetters /*int*/, version, mode, bits) {\n const numBits = mode.getCharacterCountBits(version);\n if (numLetters >= (1 << numBits)) {\n throw new WriterException(numLetters + ' is bigger than ' + ((1 << numBits) - 1));\n }\n bits.appendBits(numLetters, numBits);\n }\n /**\n * Append \"bytes\" in \"mode\" mode (encoding) into \"bits\". On success, store the result in \"bits\".\n */\n static appendBytes(content, mode, bits, encoding) {\n switch (mode) {\n case Mode$1.NUMERIC:\n Encoder.appendNumericBytes(content, bits);\n break;\n case Mode$1.ALPHANUMERIC:\n Encoder.appendAlphanumericBytes(content, bits);\n break;\n case Mode$1.BYTE:\n Encoder.append8BitBytes(content, bits, encoding);\n break;\n case Mode$1.KANJI:\n Encoder.appendKanjiBytes(content, bits);\n break;\n default:\n throw new WriterException('Invalid mode: ' + mode);\n }\n }\n static getDigit(singleCharacter) {\n return singleCharacter.charCodeAt(0) - 48;\n }\n static isDigit(singleCharacter) {\n const cn = Encoder.getDigit(singleCharacter);\n return cn >= 0 && cn <= 9;\n }\n static appendNumericBytes(content, bits) {\n const length = content.length;\n let i = 0;\n while (i < length) {\n const num1 = Encoder.getDigit(content.charAt(i));\n if (i + 2 < length) {\n // Encode three numeric letters in ten bits.\n const num2 = Encoder.getDigit(content.charAt(i + 1));\n const num3 = Encoder.getDigit(content.charAt(i + 2));\n bits.appendBits(num1 * 100 + num2 * 10 + num3, 10);\n i += 3;\n }\n else if (i + 1 < length) {\n // Encode two numeric letters in seven bits.\n const num2 = Encoder.getDigit(content.charAt(i + 1));\n bits.appendBits(num1 * 10 + num2, 7);\n i += 2;\n }\n else {\n // Encode one numeric letter in four bits.\n bits.appendBits(num1, 4);\n i++;\n }\n }\n }\n static appendAlphanumericBytes(content, bits) {\n const length = content.length;\n let i = 0;\n while (i < length) {\n const code1 = Encoder.getAlphanumericCode(content.charCodeAt(i));\n if (code1 === -1) {\n throw new WriterException();\n }\n if (i + 1 < length) {\n const code2 = Encoder.getAlphanumericCode(content.charCodeAt(i + 1));\n if (code2 === -1) {\n throw new WriterException();\n }\n // Encode two alphanumeric letters in 11 bits.\n bits.appendBits(code1 * 45 + code2, 11);\n i += 2;\n }\n else {\n // Encode one alphanumeric letter in six bits.\n bits.appendBits(code1, 6);\n i++;\n }\n }\n }\n static append8BitBytes(content, bits, encoding) {\n let bytes;\n try {\n bytes = StringEncoding.encode(content, encoding);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n for (let i = 0, length = bytes.length; i !== length; i++) {\n const b = bytes[i];\n bits.appendBits(b, 8);\n }\n }\n /**\n * @throws WriterException\n */\n static appendKanjiBytes(content, bits) {\n let bytes;\n try {\n bytes = StringEncoding.encode(content, CharacterSetECI.SJIS);\n }\n catch (uee /*: UnsupportedEncodingException*/) {\n throw new WriterException(uee);\n }\n const length = bytes.length;\n for (let i = 0; i < length; i += 2) {\n const byte1 = bytes[i] & 0xFF;\n const byte2 = bytes[i + 1] & 0xFF;\n const code = ((byte1 << 8) & 0xFFFFFFFF) | byte2;\n let subtracted = -1;\n if (code >= 0x8140 && code <= 0x9ffc) {\n subtracted = code - 0x8140;\n }\n else if (code >= 0xe040 && code <= 0xebbf) {\n subtracted = code - 0xc140;\n }\n if (subtracted === -1) {\n throw new WriterException('Invalid byte sequence');\n }\n const encoded = ((subtracted >> 8) * 0xc0) + (subtracted & 0xff);\n bits.appendBits(encoded, 13);\n }\n }\n static appendECI(eci, bits) {\n bits.appendBits(Mode$1.ECI.getBits(), 4);\n // This is correct for values up to 127, which is all we need now.\n bits.appendBits(eci.getValue(), 8);\n }\n }\n // The original table is defined in the table 5 of JISX0510:2004 (p.19).\n Encoder.ALPHANUMERIC_TABLE = Int32Array.from([\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,\n ]);\n Encoder.DEFAULT_BYTE_MODE_ENCODING = CharacterSetECI.UTF8.getName(); // \"ISO-8859-1\"\n\n /**\n * @deprecated Moving to @zxing/browser\n */\n class BrowserQRCodeSvgWriter {\n /**\n * Writes and renders a QRCode SVG element.\n *\n * @param contents\n * @param width\n * @param height\n * @param hints\n */\n write(contents, width, height, hints = null) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n // if (format != BarcodeFormat.QR_CODE) {\n // throw new IllegalArgumentException(\"Can only encode QR_CODE, but got \" + format)\n // }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException('Requested dimensions are too small: ' + width + 'x' + height);\n }\n let errorCorrectionLevel = ErrorCorrectionLevel.L;\n let quietZone = BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE;\n if (hints !== null) {\n if (undefined !== hints.get(EncodeHintType$1.ERROR_CORRECTION)) {\n errorCorrectionLevel = ErrorCorrectionLevel.fromString(hints.get(EncodeHintType$1.ERROR_CORRECTION).toString());\n }\n if (undefined !== hints.get(EncodeHintType$1.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType$1.MARGIN).toString(), 10);\n }\n }\n const code = Encoder.encode(contents, errorCorrectionLevel, hints);\n return this.renderResult(code, width, height, quietZone);\n }\n /**\n * Renders the result and then appends it to the DOM.\n */\n writeToDom(containerElement, contents, width, height, hints = null) {\n if (typeof containerElement === 'string') {\n containerElement = document.querySelector(containerElement);\n }\n const svgElement = this.write(contents, width, height, hints);\n if (containerElement)\n containerElement.appendChild(svgElement);\n }\n /**\n * Note that the input matrix uses 0 == white, 1 == black.\n * The output matrix uses 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n */\n renderResult(code, width /*int*/, height /*int*/, quietZone /*int*/) {\n const input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n const inputWidth = input.getWidth();\n const inputHeight = input.getHeight();\n const qrWidth = inputWidth + (quietZone * 2);\n const qrHeight = inputHeight + (quietZone * 2);\n const outputWidth = Math.max(width, qrWidth);\n const outputHeight = Math.max(height, qrHeight);\n const multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n const leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n const topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n const svgElement = this.createSVGElement(outputWidth, outputHeight);\n for (let inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (let inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n const svgRectElement = this.createSvgRectElement(outputX, outputY, multiple, multiple);\n svgElement.appendChild(svgRectElement);\n }\n }\n }\n return svgElement;\n }\n /**\n * Creates a SVG element.\n *\n * @param w SVG's width attribute\n * @param h SVG's height attribute\n */\n createSVGElement(w, h) {\n const svgElement = document.createElementNS(BrowserQRCodeSvgWriter.SVG_NS, 'svg');\n svgElement.setAttributeNS(null, 'height', w.toString());\n svgElement.setAttributeNS(null, 'width', h.toString());\n return svgElement;\n }\n /**\n * Creates a SVG rect element.\n *\n * @param x Element's x coordinate\n * @param y Element's y coordinate\n * @param w Element's width attribute\n * @param h Element's height attribute\n */\n createSvgRectElement(x, y, w, h) {\n const rect = document.createElementNS(BrowserQRCodeSvgWriter.SVG_NS, 'rect');\n rect.setAttributeNS(null, 'x', x.toString());\n rect.setAttributeNS(null, 'y', y.toString());\n rect.setAttributeNS(null, 'height', w.toString());\n rect.setAttributeNS(null, 'width', h.toString());\n rect.setAttributeNS(null, 'fill', '#000000');\n return rect;\n }\n }\n BrowserQRCodeSvgWriter.QUIET_ZONE_SIZE = 4;\n /**\n * SVG markup NameSpace\n */\n BrowserQRCodeSvgWriter.SVG_NS = 'http://www.w3.org/2000/svg';\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.util.Map;*/\n /**\n * This object renders a QR Code as a BitMatrix 2D array of greyscale values.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class QRCodeWriter {\n /*@Override*/\n // public encode(contents: string, format: BarcodeFormat, width: number /*int*/, height: number /*int*/): BitMatrix\n // /*throws WriterException */ {\n // return encode(contents, format, width, height, null)\n // }\n /*@Override*/\n encode(contents, format, width /*int*/, height /*int*/, hints) {\n if (contents.length === 0) {\n throw new IllegalArgumentException('Found empty contents');\n }\n if (format !== BarcodeFormat$1.QR_CODE) {\n throw new IllegalArgumentException('Can only encode QR_CODE, but got ' + format);\n }\n if (width < 0 || height < 0) {\n throw new IllegalArgumentException(`Requested dimensions are too small: ${width}x${height}`);\n }\n let errorCorrectionLevel = ErrorCorrectionLevel.L;\n let quietZone = QRCodeWriter.QUIET_ZONE_SIZE;\n if (hints !== null) {\n if (undefined !== hints.get(EncodeHintType$1.ERROR_CORRECTION)) {\n errorCorrectionLevel = ErrorCorrectionLevel.fromString(hints.get(EncodeHintType$1.ERROR_CORRECTION).toString());\n }\n if (undefined !== hints.get(EncodeHintType$1.MARGIN)) {\n quietZone = Number.parseInt(hints.get(EncodeHintType$1.MARGIN).toString(), 10);\n }\n }\n const code = Encoder.encode(contents, errorCorrectionLevel, hints);\n return QRCodeWriter.renderResult(code, width, height, quietZone);\n }\n // Note that the input matrix uses 0 == white, 1 == black, while the output matrix uses\n // 0 == black, 255 == white (i.e. an 8 bit greyscale bitmap).\n static renderResult(code, width /*int*/, height /*int*/, quietZone /*int*/) {\n const input = code.getMatrix();\n if (input === null) {\n throw new IllegalStateException();\n }\n const inputWidth = input.getWidth();\n const inputHeight = input.getHeight();\n const qrWidth = inputWidth + (quietZone * 2);\n const qrHeight = inputHeight + (quietZone * 2);\n const outputWidth = Math.max(width, qrWidth);\n const outputHeight = Math.max(height, qrHeight);\n const multiple = Math.min(Math.floor(outputWidth / qrWidth), Math.floor(outputHeight / qrHeight));\n // Padding includes both the quiet zone and the extra white pixels to accommodate the requested\n // dimensions. For example, if input is 25x25 the QR will be 33x33 including the quiet zone.\n // If the requested size is 200x160, the multiple will be 4, for a QR of 132x132. These will\n // handle all the padding from 100x100 (the actual QR) up to 200x160.\n const leftPadding = Math.floor((outputWidth - (inputWidth * multiple)) / 2);\n const topPadding = Math.floor((outputHeight - (inputHeight * multiple)) / 2);\n const output = new BitMatrix(outputWidth, outputHeight);\n for (let inputY = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (let inputX = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY) === 1) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n }\n }\n QRCodeWriter.QUIET_ZONE_SIZE = 4;\n\n /*\n * Copyright 2008 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*import java.util.Map;*/\n /**\n * This is a factory class which finds the appropriate Writer subclass for the BarcodeFormat\n * requested and encodes the barcode with the supplied contents.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class MultiFormatWriter {\n /*@Override*/\n // public encode(contents: string,\n // format: BarcodeFormat,\n // width: number /*int*/,\n // height: number /*int*/): BitMatrix /*throws WriterException */ {\n // return encode(contents, format, width, height, null)\n // }\n /*@Override*/\n encode(contents, format, width /*int*/, height /*int*/, hints) {\n let writer;\n switch (format) {\n // case BarcodeFormat.EAN_8:\n // writer = new EAN8Writer()\n // break\n // case BarcodeFormat.UPC_E:\n // writer = new UPCEWriter()\n // break\n // case BarcodeFormat.EAN_13:\n // writer = new EAN13Writer()\n // break\n // case BarcodeFormat.UPC_A:\n // writer = new UPCAWriter()\n // break\n case BarcodeFormat$1.QR_CODE:\n writer = new QRCodeWriter();\n break;\n // case BarcodeFormat.CODE_39:\n // writer = new Code39Writer()\n // break\n // case BarcodeFormat.CODE_93:\n // writer = new Code93Writer()\n // break\n // case BarcodeFormat.CODE_128:\n // writer = new Code128Writer()\n // break\n // case BarcodeFormat.ITF:\n // writer = new ITFWriter()\n // break\n // case BarcodeFormat.PDF_417:\n // writer = new PDF417Writer()\n // break\n // case BarcodeFormat.CODABAR:\n // writer = new CodaBarWriter()\n // break\n // case BarcodeFormat.DATA_MATRIX:\n // writer = new DataMatrixWriter()\n // break\n // case BarcodeFormat.AZTEC:\n // writer = new AztecWriter()\n // break\n default:\n throw new IllegalArgumentException('No encoder available for format ' + format);\n }\n return writer.encode(contents, format, width, height, hints);\n }\n }\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * This object extends LuminanceSource around an array of YUV data returned from the camera driver,\n * with the option to crop to a rectangle within the full data. This can be used to exclude\n * superfluous pixels around the perimeter and speed up decoding.\n *\n * It works for any pixel format where the Y channel is planar and appears first, including\n * YCbCr_420_SP and YCbCr_422_SP.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n */\n class PlanarYUVLuminanceSource extends LuminanceSource {\n constructor(yuvData, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/, width /*int*/, height /*int*/, reverseHorizontal) {\n super(width, height);\n this.yuvData = yuvData;\n this.dataWidth = dataWidth;\n this.dataHeight = dataHeight;\n this.left = left;\n this.top = top;\n if (left + width > dataWidth || top + height > dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n if (reverseHorizontal) {\n this.reverseHorizontal(width, height);\n }\n }\n /*@Override*/\n getRow(y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n const width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n const offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.yuvData, offset, row, 0, width);\n return row;\n }\n /*@Override*/\n getMatrix() {\n const width = this.getWidth();\n const height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.yuvData;\n }\n const area = width * height;\n const matrix = new Uint8ClampedArray(area);\n let inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.yuvData, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (let y = 0; y < height; y++) {\n const outputOffset = y * width;\n System.arraycopy(this.yuvData, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n }\n /*@Override*/\n isCropSupported() {\n return true;\n }\n /*@Override*/\n crop(left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new PlanarYUVLuminanceSource(this.yuvData, this.dataWidth, this.dataHeight, this.left + left, this.top + top, width, height, false);\n }\n renderThumbnail() {\n const width = this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n const height = this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n const pixels = new Int32Array(width * height);\n const yuv = this.yuvData;\n let inputOffset = this.top * this.dataWidth + this.left;\n for (let y = 0; y < height; y++) {\n const outputOffset = y * width;\n for (let x = 0; x < width; x++) {\n const grey = yuv[inputOffset + x * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR] & 0xff;\n pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101);\n }\n inputOffset += this.dataWidth * PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n }\n return pixels;\n }\n /**\n * @return width of image from {@link #renderThumbnail()}\n */\n getThumbnailWidth() {\n return this.getWidth() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n }\n /**\n * @return height of image from {@link #renderThumbnail()}\n */\n getThumbnailHeight() {\n return this.getHeight() / PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR;\n }\n reverseHorizontal(width /*int*/, height /*int*/) {\n const yuvData = this.yuvData;\n for (let y = 0, rowStart = this.top * this.dataWidth + this.left; y < height; y++, rowStart += this.dataWidth) {\n const middle = rowStart + width / 2;\n for (let x1 = rowStart, x2 = rowStart + width - 1; x1 < middle; x1++, x2--) {\n const temp = yuvData[x1];\n yuvData[x1] = yuvData[x2];\n yuvData[x2] = temp;\n }\n }\n }\n invert() {\n return new InvertedLuminanceSource(this);\n }\n }\n PlanarYUVLuminanceSource.THUMBNAIL_SCALE_FACTOR = 2;\n\n /*\n * Copyright 2009 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * This class is used to help decode images from files which arrive as RGB data from\n * an ARGB pixel array. It does not support rotation.\n *\n * @author dswitkin@google.com (Daniel Switkin)\n * @author Betaminos\n */\n class RGBLuminanceSource extends LuminanceSource {\n constructor(luminances, width /*int*/, height /*int*/, dataWidth /*int*/, dataHeight /*int*/, left /*int*/, top /*int*/) {\n super(width, height);\n this.dataWidth = dataWidth;\n this.dataHeight = dataHeight;\n this.left = left;\n this.top = top;\n if (luminances.BYTES_PER_ELEMENT === 4) { // Int32Array\n const size = width * height;\n const luminancesUint8Array = new Uint8ClampedArray(size);\n for (let offset = 0; offset < size; offset++) {\n const pixel = luminances[offset];\n const r = (pixel >> 16) & 0xff; // red\n const g2 = (pixel >> 7) & 0x1fe; // 2 * green\n const b = pixel & 0xff; // blue\n // Calculate green-favouring average cheaply\n luminancesUint8Array[offset] = /*(byte) */ ((r + g2 + b) / 4) & 0xFF;\n }\n this.luminances = luminancesUint8Array;\n }\n else {\n this.luminances = luminances;\n }\n if (undefined === dataWidth) {\n this.dataWidth = width;\n }\n if (undefined === dataHeight) {\n this.dataHeight = height;\n }\n if (undefined === left) {\n this.left = 0;\n }\n if (undefined === top) {\n this.top = 0;\n }\n if (this.left + width > this.dataWidth || this.top + height > this.dataHeight) {\n throw new IllegalArgumentException('Crop rectangle does not fit within image data.');\n }\n }\n /*@Override*/\n getRow(y /*int*/, row) {\n if (y < 0 || y >= this.getHeight()) {\n throw new IllegalArgumentException('Requested row is outside the image: ' + y);\n }\n const width = this.getWidth();\n if (row === null || row === undefined || row.length < width) {\n row = new Uint8ClampedArray(width);\n }\n const offset = (y + this.top) * this.dataWidth + this.left;\n System.arraycopy(this.luminances, offset, row, 0, width);\n return row;\n }\n /*@Override*/\n getMatrix() {\n const width = this.getWidth();\n const height = this.getHeight();\n // If the caller asks for the entire underlying image, save the copy and give them the\n // original data. The docs specifically warn that result.length must be ignored.\n if (width === this.dataWidth && height === this.dataHeight) {\n return this.luminances;\n }\n const area = width * height;\n const matrix = new Uint8ClampedArray(area);\n let inputOffset = this.top * this.dataWidth + this.left;\n // If the width matches the full width of the underlying data, perform a single copy.\n if (width === this.dataWidth) {\n System.arraycopy(this.luminances, inputOffset, matrix, 0, area);\n return matrix;\n }\n // Otherwise copy one cropped row at a time.\n for (let y = 0; y < height; y++) {\n const outputOffset = y * width;\n System.arraycopy(this.luminances, inputOffset, matrix, outputOffset, width);\n inputOffset += this.dataWidth;\n }\n return matrix;\n }\n /*@Override*/\n isCropSupported() {\n return true;\n }\n /*@Override*/\n crop(left /*int*/, top /*int*/, width /*int*/, height /*int*/) {\n return new RGBLuminanceSource(this.luminances, width, height, this.dataWidth, this.dataHeight, this.left + left, this.top + top);\n }\n invert() {\n return new InvertedLuminanceSource(this);\n }\n }\n\n /**\n * Just to make a shortcut between Java code and TS code.\n */\n class Charset extends CharacterSetECI {\n static forName(name) {\n return this.getCharacterSetECIByName(name);\n }\n }\n\n /**\n * Just to make a shortcut between Java code and TS code.\n */\n class StandardCharsets {\n }\n StandardCharsets.ISO_8859_1 = CharacterSetECI.ISO8859_1;\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * Aztec 2D code representation\n *\n * @author Rustam Abdullaev\n */\n /*public final*/ class AztecCode {\n /**\n * @return {@code true} if compact instead of full mode\n */\n isCompact() {\n return this.compact;\n }\n setCompact(compact) {\n this.compact = compact;\n }\n /**\n * @return size in pixels (width and height)\n */\n getSize() {\n return this.size;\n }\n setSize(size) {\n this.size = size;\n }\n /**\n * @return number of levels\n */\n getLayers() {\n return this.layers;\n }\n setLayers(layers) {\n this.layers = layers;\n }\n /**\n * @return number of data codewords\n */\n getCodeWords() {\n return this.codeWords;\n }\n setCodeWords(codeWords) {\n this.codeWords = codeWords;\n }\n /**\n * @return the symbol image\n */\n getMatrix() {\n return this.matrix;\n }\n setMatrix(matrix) {\n this.matrix = matrix;\n }\n }\n\n class Collections {\n /**\n * The singletonList(T) method is used to return an immutable list containing only the specified object.\n */\n static singletonList(item) {\n return [item];\n }\n /**\n * The min(Collection, Comparator) method is used to return the minimum element of the given collection, according to the order induced by the specified comparator.\n */\n static min(collection, comparator) {\n return collection.sort(comparator)[0];\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n class Token {\n constructor(previous) {\n this.previous = previous;\n }\n getPrevious() {\n return this.previous;\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*final*/ class SimpleToken extends Token {\n constructor(previous, value, bitCount) {\n super(previous);\n this.value = value;\n this.bitCount = bitCount;\n }\n /**\n * @Override\n */\n appendTo(bitArray, text) {\n bitArray.appendBits(this.value, this.bitCount);\n }\n add(value, bitCount) {\n return new SimpleToken(this, value, bitCount);\n }\n addBinaryShift(start, byteCount) {\n // no-op can't binary shift a simple token\n console.warn('addBinaryShift on SimpleToken, this simply returns a copy of this token');\n return new SimpleToken(this, start, byteCount);\n }\n /**\n * @Override\n */\n toString() {\n let value = this.value & ((1 << this.bitCount) - 1);\n value |= 1 << this.bitCount;\n return '<' + Integer.toBinaryString(value | (1 << this.bitCount)).substring(1) + '>';\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /*final*/ class BinaryShiftToken extends SimpleToken {\n constructor(previous, binaryShiftStart, binaryShiftByteCount) {\n super(previous, 0, 0);\n this.binaryShiftStart = binaryShiftStart;\n this.binaryShiftByteCount = binaryShiftByteCount;\n }\n /**\n * @Override\n */\n appendTo(bitArray, text) {\n for (let i = 0; i < this.binaryShiftByteCount; i++) {\n if (i === 0 || (i === 31 && this.binaryShiftByteCount <= 62)) {\n // We need a header before the first character, and before\n // character 31 when the total byte code is <= 62\n bitArray.appendBits(31, 5); // BINARY_SHIFT\n if (this.binaryShiftByteCount > 62) {\n bitArray.appendBits(this.binaryShiftByteCount - 31, 16);\n }\n else if (i === 0) {\n // 1 <= binaryShiftByteCode <= 62\n bitArray.appendBits(Math.min(this.binaryShiftByteCount, 31), 5);\n }\n else {\n // 32 <= binaryShiftCount <= 62 and i == 31\n bitArray.appendBits(this.binaryShiftByteCount - 31, 5);\n }\n }\n bitArray.appendBits(text[this.binaryShiftStart + i], 8);\n }\n }\n addBinaryShift(start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(this, start, byteCount);\n }\n /**\n * @Override\n */\n toString() {\n return '<' + this.binaryShiftStart + '::' + (this.binaryShiftStart + this.binaryShiftByteCount - 1) + '>';\n }\n }\n\n function addBinaryShift(token, start, byteCount) {\n // int bitCount = (byteCount * 8) + (byteCount <= 31 ? 10 : byteCount <= 62 ? 20 : 21);\n return new BinaryShiftToken(token, start, byteCount);\n }\n function add(token, value, bitCount) {\n return new SimpleToken(token, value, bitCount);\n }\n\n const /*final*/ MODE_NAMES = [\n 'UPPER',\n 'LOWER',\n 'DIGIT',\n 'MIXED',\n 'PUNCT'\n ];\n const /*final*/ MODE_UPPER = 0; // 5 bits\n const /*final*/ MODE_LOWER = 1; // 5 bits\n const /*final*/ MODE_DIGIT = 2; // 4 bits\n const /*final*/ MODE_MIXED = 3; // 5 bits\n const /*final*/ MODE_PUNCT = 4; // 5 bits\n const EMPTY_TOKEN = new SimpleToken(null, 0, 0);\n\n // The Latch Table shows, for each pair of Modes, the optimal method for\n // getting from one mode to another. In the worst possible case, this can\n // be up to 14 bits. In the best possible case, we are already there!\n // The high half-word of each entry gives the number of bits.\n // The low half-word of each entry are the actual bits necessary to change\n const LATCH_TABLE = [\n Int32Array.from([\n 0,\n (5 << 16) + 28,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (9 << 16) + (30 << 4) + 14,\n 0,\n (5 << 16) + 30,\n (5 << 16) + 29,\n (10 << 16) + (29 << 5) + 30 // LOWER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (4 << 16) + 14,\n (9 << 16) + (14 << 5) + 28,\n 0,\n (9 << 16) + (14 << 5) + 29,\n (14 << 16) + (14 << 10) + (29 << 5) + 30\n // DIGIT -> UPPER -> MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 29,\n (5 << 16) + 28,\n (10 << 16) + (29 << 5) + 30,\n 0,\n (5 << 16) + 30 // MIXED -> PUNCT\n ]),\n Int32Array.from([\n (5 << 16) + 31,\n (10 << 16) + (31 << 5) + 28,\n (10 << 16) + (31 << 5) + 30,\n (10 << 16) + (31 << 5) + 29,\n 0\n ])\n ];\n\n function static_SHIFT_TABLE(SHIFT_TABLE) {\n for (let table /*Int32Array*/ of SHIFT_TABLE) {\n Arrays.fill(table, -1);\n }\n SHIFT_TABLE[MODE_UPPER][MODE_PUNCT] = 0;\n SHIFT_TABLE[MODE_LOWER][MODE_PUNCT] = 0;\n SHIFT_TABLE[MODE_LOWER][MODE_UPPER] = 28;\n SHIFT_TABLE[MODE_MIXED][MODE_PUNCT] = 0;\n SHIFT_TABLE[MODE_DIGIT][MODE_PUNCT] = 0;\n SHIFT_TABLE[MODE_DIGIT][MODE_UPPER] = 15;\n return SHIFT_TABLE;\n }\n const /*final*/ SHIFT_TABLE = static_SHIFT_TABLE(Arrays.createInt32Array(6, 6)); // mode shift codes, per table\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * State represents all information about a sequence necessary to generate the current output.\n * Note that a state is immutable.\n */\n /*final*/ class State {\n constructor(token, mode, binaryBytes, bitCount) {\n this.token = token;\n this.mode = mode;\n this.binaryShiftByteCount = binaryBytes;\n this.bitCount = bitCount;\n // Make sure we match the token\n // int binaryShiftBitCount = (binaryShiftByteCount * 8) +\n // (binaryShiftByteCount === 0 ? 0 :\n // binaryShiftByteCount <= 31 ? 10 :\n // binaryShiftByteCount <= 62 ? 20 : 21);\n // assert this.bitCount === token.getTotalBitCount() + binaryShiftBitCount;\n }\n getMode() {\n return this.mode;\n }\n getToken() {\n return this.token;\n }\n getBinaryShiftByteCount() {\n return this.binaryShiftByteCount;\n }\n getBitCount() {\n return this.bitCount;\n }\n // Create a new state representing this state with a latch to a (not\n // necessary different) mode, and then a code.\n latchAndAppend(mode, value) {\n // assert binaryShiftByteCount === 0;\n let bitCount = this.bitCount;\n let token = this.token;\n if (mode !== this.mode) {\n let latch = LATCH_TABLE[this.mode][mode];\n token = add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n }\n let latchModeBitCount = mode === MODE_DIGIT ? 4 : 5;\n token = add(token, value, latchModeBitCount);\n return new State(token, mode, 0, bitCount + latchModeBitCount);\n }\n // Create a new state representing this state, with a temporary shift\n // to a different mode to output a single value.\n shiftAndAppend(mode, value) {\n // assert binaryShiftByteCount === 0 && this.mode !== mode;\n let token = this.token;\n let thisModeBitCount = this.mode === MODE_DIGIT ? 4 : 5;\n // Shifts exist only to UPPER and PUNCT, both with tokens size 5.\n token = add(token, SHIFT_TABLE[this.mode][mode], thisModeBitCount);\n token = add(token, value, 5);\n return new State(token, this.mode, 0, this.bitCount + thisModeBitCount + 5);\n }\n // Create a new state representing this state, but an additional character\n // output in Binary Shift mode.\n addBinaryShiftChar(index) {\n let token = this.token;\n let mode = this.mode;\n let bitCount = this.bitCount;\n if (this.mode === MODE_PUNCT || this.mode === MODE_DIGIT) {\n // assert binaryShiftByteCount === 0;\n let latch = LATCH_TABLE[mode][MODE_UPPER];\n token = add(token, latch & 0xffff, latch >> 16);\n bitCount += latch >> 16;\n mode = MODE_UPPER;\n }\n let deltaBitCount = this.binaryShiftByteCount === 0 || this.binaryShiftByteCount === 31\n ? 18\n : this.binaryShiftByteCount === 62\n ? 9\n : 8;\n let result = new State(token, mode, this.binaryShiftByteCount + 1, bitCount + deltaBitCount);\n if (result.binaryShiftByteCount === 2047 + 31) {\n // The string is as long as it's allowed to be. We should end it.\n result = result.endBinaryShift(index + 1);\n }\n return result;\n }\n // Create the state identical to this one, but we are no longer in\n // Binary Shift mode.\n endBinaryShift(index) {\n if (this.binaryShiftByteCount === 0) {\n return this;\n }\n let token = this.token;\n token = addBinaryShift(token, index - this.binaryShiftByteCount, this.binaryShiftByteCount);\n // assert token.getTotalBitCount() === this.bitCount;\n return new State(token, this.mode, 0, this.bitCount);\n }\n // Returns true if \"this\" state is better (equal: or) to be in than \"that\"\n // state under all possible circumstances.\n isBetterThanOrEqualTo(other) {\n let newModeBitCount = this.bitCount + (LATCH_TABLE[this.mode][other.mode] >> 16);\n if (this.binaryShiftByteCount < other.binaryShiftByteCount) {\n // add additional B/S encoding cost of other, if any\n newModeBitCount +=\n State.calculateBinaryShiftCost(other) -\n State.calculateBinaryShiftCost(this);\n }\n else if (this.binaryShiftByteCount > other.binaryShiftByteCount &&\n other.binaryShiftByteCount > 0) {\n // maximum possible additional cost (it: h)\n newModeBitCount += 10;\n }\n return newModeBitCount <= other.bitCount;\n }\n toBitArray(text) {\n // Reverse the tokens, so that they are in the order that they should\n // be output\n let symbols = [];\n for (let token = this.endBinaryShift(text.length).token; token !== null; token = token.getPrevious()) {\n symbols.unshift(token);\n }\n let bitArray = new BitArray();\n // Add each token to the result.\n for (const symbol of symbols) {\n symbol.appendTo(bitArray, text);\n }\n // assert bitArray.getSize() === this.bitCount;\n return bitArray;\n }\n /**\n * @Override\n */\n toString() {\n return StringUtils.format('%s bits=%d bytes=%d', MODE_NAMES[this.mode], this.bitCount, this.binaryShiftByteCount);\n }\n static calculateBinaryShiftCost(state) {\n if (state.binaryShiftByteCount > 62) {\n return 21; // B/S with extended length\n }\n if (state.binaryShiftByteCount > 31) {\n return 20; // two B/S\n }\n if (state.binaryShiftByteCount > 0) {\n return 10; // one B/S\n }\n return 0;\n }\n }\n State.INITIAL_STATE = new State(EMPTY_TOKEN, MODE_UPPER, 0, 0);\n\n function static_CHAR_MAP(CHAR_MAP) {\n const spaceCharCode = StringUtils.getCharCode(' ');\n const pointCharCode = StringUtils.getCharCode('.');\n const commaCharCode = StringUtils.getCharCode(',');\n CHAR_MAP[MODE_UPPER][spaceCharCode] = 1;\n const zUpperCharCode = StringUtils.getCharCode('Z');\n const aUpperCharCode = StringUtils.getCharCode('A');\n for (let c = aUpperCharCode; c <= zUpperCharCode; c++) {\n CHAR_MAP[MODE_UPPER][c] = c - aUpperCharCode + 2;\n }\n CHAR_MAP[MODE_LOWER][spaceCharCode] = 1;\n const zLowerCharCode = StringUtils.getCharCode('z');\n const aLowerCharCode = StringUtils.getCharCode('a');\n for (let c = aLowerCharCode; c <= zLowerCharCode; c++) {\n CHAR_MAP[MODE_LOWER][c] = c - aLowerCharCode + 2;\n }\n CHAR_MAP[MODE_DIGIT][spaceCharCode] = 1;\n const nineCharCode = StringUtils.getCharCode('9');\n const zeroCharCode = StringUtils.getCharCode('0');\n for (let c = zeroCharCode; c <= nineCharCode; c++) {\n CHAR_MAP[MODE_DIGIT][c] = c - zeroCharCode + 2;\n }\n CHAR_MAP[MODE_DIGIT][commaCharCode] = 12;\n CHAR_MAP[MODE_DIGIT][pointCharCode] = 13;\n const mixedTable = [\n '\\x00',\n ' ',\n '\\x01',\n '\\x02',\n '\\x03',\n '\\x04',\n '\\x05',\n '\\x06',\n '\\x07',\n '\\b',\n '\\t',\n '\\n',\n '\\x0b',\n '\\f',\n '\\r',\n '\\x1b',\n '\\x1c',\n '\\x1d',\n '\\x1e',\n '\\x1f',\n '@',\n '\\\\',\n '^',\n '_',\n '`',\n '|',\n '~',\n '\\x7f'\n ];\n for (let i = 0; i < mixedTable.length; i++) {\n CHAR_MAP[MODE_MIXED][StringUtils.getCharCode(mixedTable[i])] = i;\n }\n const punctTable = [\n '\\x00',\n '\\r',\n '\\x00',\n '\\x00',\n '\\x00',\n '\\x00',\n '!',\n '\\'',\n '#',\n '$',\n '%',\n '&',\n '\\'',\n '(',\n ')',\n '*',\n '+',\n ',',\n '-',\n '.',\n '/',\n ':',\n ';',\n '<',\n '=',\n '>',\n '?',\n '[',\n ']',\n '{',\n '}'\n ];\n for (let i = 0; i < punctTable.length; i++) {\n if (StringUtils.getCharCode(punctTable[i]) > 0) {\n CHAR_MAP[MODE_PUNCT][StringUtils.getCharCode(punctTable[i])] = i;\n }\n }\n return CHAR_MAP;\n }\n const CHAR_MAP = static_CHAR_MAP(Arrays.createInt32Array(5, 256));\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * This produces nearly optimal encodings of text into the first-level of\n * encoding used by Aztec code.\n *\n * It uses a dynamic algorithm. For each prefix of the string, it determines\n * a set of encodings that could lead to this prefix. We repeatedly add a\n * character and generate a new set of optimal encodings until we have read\n * through the entire input.\n *\n * @author Frank Yellin\n * @author Rustam Abdullaev\n */\n /*public final*/ class HighLevelEncoder {\n constructor(text) {\n this.text = text;\n }\n /**\n * @return text represented by this encoder encoded as a {@link BitArray}\n */\n encode() {\n const spaceCharCode = StringUtils.getCharCode(' ');\n const lineBreakCharCode = StringUtils.getCharCode('\\n');\n let states = Collections.singletonList(State.INITIAL_STATE);\n for (let index = 0; index < this.text.length; index++) {\n let pairCode;\n let nextChar = index + 1 < this.text.length ? this.text[index + 1] : 0;\n switch (this.text[index]) {\n case StringUtils.getCharCode('\\r'):\n pairCode = nextChar === lineBreakCharCode ? 2 : 0;\n break;\n case StringUtils.getCharCode('.'):\n pairCode = nextChar === spaceCharCode ? 3 : 0;\n break;\n case StringUtils.getCharCode(','):\n pairCode = nextChar === spaceCharCode ? 4 : 0;\n break;\n case StringUtils.getCharCode(':'):\n pairCode = nextChar === spaceCharCode ? 5 : 0;\n break;\n default:\n pairCode = 0;\n }\n if (pairCode > 0) {\n // We have one of the four special PUNCT pairs. Treat them specially.\n // Get a new set of states for the two new characters.\n states = HighLevelEncoder.updateStateListForPair(states, index, pairCode);\n index++;\n }\n else {\n // Get a new set of states for the new character.\n states = this.updateStateListForChar(states, index);\n }\n }\n // We are left with a set of states. Find the shortest one.\n const minState = Collections.min(states, (a, b) => {\n return a.getBitCount() - b.getBitCount();\n });\n // Convert it to a bit array, and return.\n return minState.toBitArray(this.text);\n }\n // We update a set of states for a new character by updating each state\n // for the new character, merging the results, and then removing the\n // non-optimal states.\n updateStateListForChar(states, index) {\n const result = [];\n for (let state /*State*/ of states) {\n this.updateStateForChar(state, index, result);\n }\n return HighLevelEncoder.simplifyStates(result);\n }\n // Return a set of states that represent the possible ways of updating this\n // state for the next character. The resulting set of states are added to\n // the \"result\" list.\n updateStateForChar(state, index, result) {\n let ch = (this.text[index] & 0xff);\n let charInCurrentTable = CHAR_MAP[state.getMode()][ch] > 0;\n let stateNoBinary = null;\n for (let mode /*int*/ = 0; mode <= MODE_PUNCT; mode++) {\n let charInMode = CHAR_MAP[mode][ch];\n if (charInMode > 0) {\n if (stateNoBinary == null) {\n // Only create stateNoBinary the first time it's required.\n stateNoBinary = state.endBinaryShift(index);\n }\n // Try generating the character by latching to its mode\n if (!charInCurrentTable ||\n mode === state.getMode() ||\n mode === MODE_DIGIT) {\n // If the character is in the current table, we don't want to latch to\n // any other mode except possibly digit (which uses only 4 bits). Any\n // other latch would be equally successful *after* this character, and\n // so wouldn't save any bits.\n const latchState = stateNoBinary.latchAndAppend(mode, charInMode);\n result.push(latchState);\n }\n // Try generating the character by switching to its mode.\n if (!charInCurrentTable &&\n SHIFT_TABLE[state.getMode()][mode] >= 0) {\n // It never makes sense to temporarily shift to another mode if the\n // character exists in the current mode. That can never save bits.\n const shiftState = stateNoBinary.shiftAndAppend(mode, charInMode);\n result.push(shiftState);\n }\n }\n }\n if (state.getBinaryShiftByteCount() > 0 ||\n CHAR_MAP[state.getMode()][ch] === 0) {\n // It's never worthwhile to go into binary shift mode if you're not already\n // in binary shift mode, and the character exists in your current mode.\n // That can never save bits over just outputting the char in the current mode.\n let binaryState = state.addBinaryShiftChar(index);\n result.push(binaryState);\n }\n }\n static updateStateListForPair(states, index, pairCode) {\n const result = [];\n for (let state /*State*/ of states) {\n this.updateStateForPair(state, index, pairCode, result);\n }\n return this.simplifyStates(result);\n }\n static updateStateForPair(state, index, pairCode, result) {\n let stateNoBinary = state.endBinaryShift(index);\n // Possibility 1. Latch to C.MODE_PUNCT, and then append this code\n result.push(stateNoBinary.latchAndAppend(MODE_PUNCT, pairCode));\n if (state.getMode() !== MODE_PUNCT) {\n // Possibility 2. Shift to C.MODE_PUNCT, and then append this code.\n // Every state except C.MODE_PUNCT (handled above) can shift\n result.push(stateNoBinary.shiftAndAppend(MODE_PUNCT, pairCode));\n }\n if (pairCode === 3 || pairCode === 4) {\n // both characters are in DIGITS. Sometimes better to just add two digits\n let digitState = stateNoBinary\n .latchAndAppend(MODE_DIGIT, 16 - pairCode) // period or comma in DIGIT\n .latchAndAppend(MODE_DIGIT, 1); // space in DIGIT\n result.push(digitState);\n }\n if (state.getBinaryShiftByteCount() > 0) {\n // It only makes sense to do the characters as binary if we're already\n // in binary mode.\n let binaryState = state\n .addBinaryShiftChar(index)\n .addBinaryShiftChar(index + 1);\n result.push(binaryState);\n }\n }\n static simplifyStates(states) {\n let result = [];\n for (const newState of states) {\n let add = true;\n for (const oldState of result) {\n if (oldState.isBetterThanOrEqualTo(newState)) {\n add = false;\n break;\n }\n if (newState.isBetterThanOrEqualTo(oldState)) {\n // iterator.remove();\n result = result.filter(x => x !== oldState); // remove old state\n }\n }\n if (add) {\n result.push(newState);\n }\n }\n return result;\n }\n }\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n // package com.google.zxing.aztec.encoder;\n // import com.google.zxing.common.BitArray;\n // import com.google.zxing.common.BitMatrix;\n // import com.google.zxing.common.reedsolomon.GenericGF;\n // import com.google.zxing.common.reedsolomon.ReedSolomonEncoder;\n /**\n * Generates Aztec 2D barcodes.\n *\n * @author Rustam Abdullaev\n */\n /*public final*/ class Encoder$1 {\n constructor() {\n }\n /**\n * Encodes the given binary content as an Aztec symbol\n *\n * @param data input data string\n * @return Aztec symbol matrix with metadata\n */\n static encodeBytes(data) {\n return Encoder$1.encode(data, Encoder$1.DEFAULT_EC_PERCENT, Encoder$1.DEFAULT_AZTEC_LAYERS);\n }\n /**\n * Encodes the given binary content as an Aztec symbol\n *\n * @param data input data string\n * @param minECCPercent minimal percentage of error check words (According to ISO/IEC 24778:2008,\n * a minimum of 23% + 3 words is recommended)\n * @param userSpecifiedLayers if non-zero, a user-specified value for the number of layers\n * @return Aztec symbol matrix with metadata\n */\n static encode(data, minECCPercent, userSpecifiedLayers) {\n // High-level encode\n let bits = new HighLevelEncoder(data).encode();\n // stuff bits and choose symbol size\n let eccBits = Integer.truncDivision((bits.getSize() * minECCPercent), 100) + 11;\n let totalSizeBits = bits.getSize() + eccBits;\n let compact;\n let layers;\n let totalBitsInLayer;\n let wordSize;\n let stuffedBits;\n if (userSpecifiedLayers !== Encoder$1.DEFAULT_AZTEC_LAYERS) {\n compact = userSpecifiedLayers < 0;\n layers = Math.abs(userSpecifiedLayers);\n if (layers > (compact ? Encoder$1.MAX_NB_BITS_COMPACT : Encoder$1.MAX_NB_BITS)) {\n throw new IllegalArgumentException(StringUtils.format('Illegal value %s for layers', userSpecifiedLayers));\n }\n totalBitsInLayer = Encoder$1.totalBitsInLayer(layers, compact);\n wordSize = Encoder$1.WORD_SIZE[layers];\n let usableBitsInLayers = totalBitsInLayer - (totalBitsInLayer % wordSize);\n stuffedBits = Encoder$1.stuffBits(bits, wordSize);\n if (stuffedBits.getSize() + eccBits > usableBitsInLayers) {\n throw new IllegalArgumentException('Data to large for user specified layer');\n }\n if (compact && stuffedBits.getSize() > wordSize * 64) {\n // Compact format only allows 64 data words, though C4 can hold more words than that\n throw new IllegalArgumentException('Data to large for user specified layer');\n }\n }\n else {\n wordSize = 0;\n stuffedBits = null;\n // We look at the possible table sizes in the order Compact1, Compact2, Compact3,\n // Compact4, Normal4,... Normal(i) for i < 4 isn't typically used since Compact(i+1)\n // is the same size, but has more data.\n for (let i /*int*/ = 0;; i++) {\n if (i > Encoder$1.MAX_NB_BITS) {\n throw new IllegalArgumentException('Data too large for an Aztec code');\n }\n compact = i <= 3;\n layers = compact ? i + 1 : i;\n totalBitsInLayer = Encoder$1.totalBitsInLayer(layers, compact);\n if (totalSizeBits > totalBitsInLayer) {\n continue;\n }\n // [Re]stuff the bits if this is the first opportunity, or if the\n // wordSize has changed\n if (stuffedBits == null || wordSize !== Encoder$1.WORD_SIZE[layers]) {\n wordSize = Encoder$1.WORD_SIZE[layers];\n stuffedBits = Encoder$1.stuffBits(bits, wordSize);\n }\n let usableBitsInLayers = totalBitsInLayer - (totalBitsInLayer % wordSize);\n if (compact && stuffedBits.getSize() > wordSize * 64) {\n // Compact format only allows 64 data words, though C4 can hold more words than that\n continue;\n }\n if (stuffedBits.getSize() + eccBits <= usableBitsInLayers) {\n break;\n }\n }\n }\n let messageBits = Encoder$1.generateCheckWords(stuffedBits, totalBitsInLayer, wordSize);\n // generate mode message\n let messageSizeInWords = stuffedBits.getSize() / wordSize;\n let modeMessage = Encoder$1.generateModeMessage(compact, layers, messageSizeInWords);\n // allocate symbol\n let baseMatrixSize = (compact ? 11 : 14) + layers * 4; // not including alignment lines\n let alignmentMap = new Int32Array(baseMatrixSize);\n let matrixSize;\n if (compact) {\n // no alignment marks in compact mode, alignmentMap is a no-op\n matrixSize = baseMatrixSize;\n for (let i /*int*/ = 0; i < alignmentMap.length; i++) {\n alignmentMap[i] = i;\n }\n }\n else {\n matrixSize = baseMatrixSize + 1 + 2 * Integer.truncDivision((Integer.truncDivision(baseMatrixSize, 2) - 1), 15);\n let origCenter = Integer.truncDivision(baseMatrixSize, 2);\n let center = Integer.truncDivision(matrixSize, 2);\n for (let i /*int*/ = 0; i < origCenter; i++) {\n let newOffset = i + Integer.truncDivision(i, 15);\n alignmentMap[origCenter - i - 1] = center - newOffset - 1;\n alignmentMap[origCenter + i] = center + newOffset + 1;\n }\n }\n let matrix = new BitMatrix(matrixSize);\n // draw data bits\n for (let i /*int*/ = 0, rowOffset = 0; i < layers; i++) {\n let rowSize = (layers - i) * 4 + (compact ? 9 : 12);\n for (let j /*int*/ = 0; j < rowSize; j++) {\n let columnOffset = j * 2;\n for (let k /*int*/ = 0; k < 2; k++) {\n if (messageBits.get(rowOffset + columnOffset + k)) {\n matrix.set(alignmentMap[i * 2 + k], alignmentMap[i * 2 + j]);\n }\n if (messageBits.get(rowOffset + rowSize * 2 + columnOffset + k)) {\n matrix.set(alignmentMap[i * 2 + j], alignmentMap[baseMatrixSize - 1 - i * 2 - k]);\n }\n if (messageBits.get(rowOffset + rowSize * 4 + columnOffset + k)) {\n matrix.set(alignmentMap[baseMatrixSize - 1 - i * 2 - k], alignmentMap[baseMatrixSize - 1 - i * 2 - j]);\n }\n if (messageBits.get(rowOffset + rowSize * 6 + columnOffset + k)) {\n matrix.set(alignmentMap[baseMatrixSize - 1 - i * 2 - j], alignmentMap[i * 2 + k]);\n }\n }\n }\n rowOffset += rowSize * 8;\n }\n // draw mode message\n Encoder$1.drawModeMessage(matrix, compact, matrixSize, modeMessage);\n // draw alignment marks\n if (compact) {\n Encoder$1.drawBullsEye(matrix, Integer.truncDivision(matrixSize, 2), 5);\n }\n else {\n Encoder$1.drawBullsEye(matrix, Integer.truncDivision(matrixSize, 2), 7);\n for (let i /*int*/ = 0, j = 0; i < Integer.truncDivision(baseMatrixSize, 2) - 1; i += 15, j += 16) {\n for (let k /*int*/ = Integer.truncDivision(matrixSize, 2) & 1; k < matrixSize; k += 2) {\n matrix.set(Integer.truncDivision(matrixSize, 2) - j, k);\n matrix.set(Integer.truncDivision(matrixSize, 2) + j, k);\n matrix.set(k, Integer.truncDivision(matrixSize, 2) - j);\n matrix.set(k, Integer.truncDivision(matrixSize, 2) + j);\n }\n }\n }\n let aztec = new AztecCode();\n aztec.setCompact(compact);\n aztec.setSize(matrixSize);\n aztec.setLayers(layers);\n aztec.setCodeWords(messageSizeInWords);\n aztec.setMatrix(matrix);\n return aztec;\n }\n static drawBullsEye(matrix, center, size) {\n for (let i /*int*/ = 0; i < size; i += 2) {\n for (let j /*int*/ = center - i; j <= center + i; j++) {\n matrix.set(j, center - i);\n matrix.set(j, center + i);\n matrix.set(center - i, j);\n matrix.set(center + i, j);\n }\n }\n matrix.set(center - size, center - size);\n matrix.set(center - size + 1, center - size);\n matrix.set(center - size, center - size + 1);\n matrix.set(center + size, center - size);\n matrix.set(center + size, center - size + 1);\n matrix.set(center + size, center + size - 1);\n }\n static generateModeMessage(compact, layers, messageSizeInWords) {\n let modeMessage = new BitArray();\n if (compact) {\n modeMessage.appendBits(layers - 1, 2);\n modeMessage.appendBits(messageSizeInWords - 1, 6);\n modeMessage = Encoder$1.generateCheckWords(modeMessage, 28, 4);\n }\n else {\n modeMessage.appendBits(layers - 1, 5);\n modeMessage.appendBits(messageSizeInWords - 1, 11);\n modeMessage = Encoder$1.generateCheckWords(modeMessage, 40, 4);\n }\n return modeMessage;\n }\n static drawModeMessage(matrix, compact, matrixSize, modeMessage) {\n let center = Integer.truncDivision(matrixSize, 2);\n if (compact) {\n for (let i /*int*/ = 0; i < 7; i++) {\n let offset = center - 3 + i;\n if (modeMessage.get(i)) {\n matrix.set(offset, center - 5);\n }\n if (modeMessage.get(i + 7)) {\n matrix.set(center + 5, offset);\n }\n if (modeMessage.get(20 - i)) {\n matrix.set(offset, center + 5);\n }\n if (modeMessage.get(27 - i)) {\n matrix.set(center - 5, offset);\n }\n }\n }\n else {\n for (let i /*int*/ = 0; i < 10; i++) {\n let offset = center - 5 + i + Integer.truncDivision(i, 5);\n if (modeMessage.get(i)) {\n matrix.set(offset, center - 7);\n }\n if (modeMessage.get(i + 10)) {\n matrix.set(center + 7, offset);\n }\n if (modeMessage.get(29 - i)) {\n matrix.set(offset, center + 7);\n }\n if (modeMessage.get(39 - i)) {\n matrix.set(center - 7, offset);\n }\n }\n }\n }\n static generateCheckWords(bitArray, totalBits, wordSize) {\n // bitArray is guaranteed to be a multiple of the wordSize, so no padding needed\n let messageSizeInWords = bitArray.getSize() / wordSize;\n let rs = new ReedSolomonEncoder(Encoder$1.getGF(wordSize));\n let totalWords = Integer.truncDivision(totalBits, wordSize);\n let messageWords = Encoder$1.bitsToWords(bitArray, wordSize, totalWords);\n rs.encode(messageWords, totalWords - messageSizeInWords);\n let startPad = totalBits % wordSize;\n let messageBits = new BitArray();\n messageBits.appendBits(0, startPad);\n for (const messageWord /*: int*/ of Array.from(messageWords)) {\n messageBits.appendBits(messageWord, wordSize);\n }\n return messageBits;\n }\n static bitsToWords(stuffedBits, wordSize, totalWords) {\n let message = new Int32Array(totalWords);\n let i;\n let n;\n for (i = 0, n = stuffedBits.getSize() / wordSize; i < n; i++) {\n let value = 0;\n for (let j /*int*/ = 0; j < wordSize; j++) {\n value |= stuffedBits.get(i * wordSize + j) ? (1 << wordSize - j - 1) : 0;\n }\n message[i] = value;\n }\n return message;\n }\n static getGF(wordSize) {\n switch (wordSize) {\n case 4:\n return GenericGF.AZTEC_PARAM;\n case 6:\n return GenericGF.AZTEC_DATA_6;\n case 8:\n return GenericGF.AZTEC_DATA_8;\n case 10:\n return GenericGF.AZTEC_DATA_10;\n case 12:\n return GenericGF.AZTEC_DATA_12;\n default:\n throw new IllegalArgumentException('Unsupported word size ' + wordSize);\n }\n }\n static stuffBits(bits, wordSize) {\n let out = new BitArray();\n let n = bits.getSize();\n let mask = (1 << wordSize) - 2;\n for (let i /*int*/ = 0; i < n; i += wordSize) {\n let word = 0;\n for (let j /*int*/ = 0; j < wordSize; j++) {\n if (i + j >= n || bits.get(i + j)) {\n word |= 1 << (wordSize - 1 - j);\n }\n }\n if ((word & mask) === mask) {\n out.appendBits(word & mask, wordSize);\n i--;\n }\n else if ((word & mask) === 0) {\n out.appendBits(word | 1, wordSize);\n i--;\n }\n else {\n out.appendBits(word, wordSize);\n }\n }\n return out;\n }\n static totalBitsInLayer(layers, compact) {\n return ((compact ? 88 : 112) + 16 * layers) * layers;\n }\n }\n Encoder$1.DEFAULT_EC_PERCENT = 33; // default minimal percentage of error check words\n Encoder$1.DEFAULT_AZTEC_LAYERS = 0;\n Encoder$1.MAX_NB_BITS = 32;\n Encoder$1.MAX_NB_BITS_COMPACT = 4;\n Encoder$1.WORD_SIZE = Int32Array.from([\n 4, 6, 6, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n 12, 12, 12, 12, 12, 12, 12, 12, 12, 12\n ]);\n\n /*\n * Copyright 2013 ZXing authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n /**\n * Renders an Aztec code as a {@link BitMatrix}.\n */\n /*public final*/ class AztecWriter {\n // @Override\n encode(contents, format, width, height) {\n return this.encodeWithHints(contents, format, width, height, null);\n }\n // @Override\n encodeWithHints(contents, format, width, height, hints) {\n let charset = StandardCharsets.ISO_8859_1;\n let eccPercent = Encoder$1.DEFAULT_EC_PERCENT;\n let layers = Encoder$1.DEFAULT_AZTEC_LAYERS;\n if (hints != null) {\n if (hints.has(EncodeHintType$1.CHARACTER_SET)) {\n charset = Charset.forName(hints.get(EncodeHintType$1.CHARACTER_SET).toString());\n }\n if (hints.has(EncodeHintType$1.ERROR_CORRECTION)) {\n eccPercent = Integer.parseInt(hints.get(EncodeHintType$1.ERROR_CORRECTION).toString());\n }\n if (hints.has(EncodeHintType$1.AZTEC_LAYERS)) {\n layers = Integer.parseInt(hints.get(EncodeHintType$1.AZTEC_LAYERS).toString());\n }\n }\n return AztecWriter.encodeLayers(contents, format, width, height, charset, eccPercent, layers);\n }\n static encodeLayers(contents, format, width, height, charset, eccPercent, layers) {\n if (format !== BarcodeFormat$1.AZTEC) {\n throw new IllegalArgumentException('Can only encode AZTEC, but got ' + format);\n }\n let aztec = Encoder$1.encode(StringUtils.getBytes(contents, charset), eccPercent, layers);\n return AztecWriter.renderResult(aztec, width, height);\n }\n static renderResult(code, width, height) {\n let input = code.getMatrix();\n if (input == null) {\n throw new IllegalStateException();\n }\n let inputWidth = input.getWidth();\n let inputHeight = input.getHeight();\n let outputWidth = Math.max(width, inputWidth);\n let outputHeight = Math.max(height, inputHeight);\n let multiple = Math.min(outputWidth / inputWidth, outputHeight / inputHeight);\n let leftPadding = (outputWidth - (inputWidth * multiple)) / 2;\n let topPadding = (outputHeight - (inputHeight * multiple)) / 2;\n let output = new BitMatrix(outputWidth, outputHeight);\n for (let inputY /*int*/ = 0, outputY = topPadding; inputY < inputHeight; inputY++, outputY += multiple) {\n // Write the contents of this row of the barcode\n for (let inputX /*int*/ = 0, outputX = leftPadding; inputX < inputWidth; inputX++, outputX += multiple) {\n if (input.get(inputX, inputY)) {\n output.setRegion(outputX, outputY, multiple, multiple);\n }\n }\n }\n return output;\n }\n }\n\n exports.ArgumentException = ArgumentException;\n exports.ArithmeticException = ArithmeticException;\n exports.AztecCode = AztecCode;\n exports.AztecCodeReader = AztecReader;\n exports.AztecCodeWriter = AztecWriter;\n exports.AztecDecoder = Decoder;\n exports.AztecDetector = Detector;\n exports.AztecDetectorResult = AztecDetectorResult;\n exports.AztecEncoder = Encoder$1;\n exports.AztecHighLevelEncoder = HighLevelEncoder;\n exports.AztecPoint = Point;\n exports.BarcodeFormat = BarcodeFormat$1;\n exports.Binarizer = Binarizer;\n exports.BinaryBitmap = BinaryBitmap;\n exports.BitArray = BitArray;\n exports.BitMatrix = BitMatrix;\n exports.BitSource = BitSource;\n exports.BrowserAztecCodeReader = BrowserAztecCodeReader;\n exports.BrowserBarcodeReader = BrowserBarcodeReader;\n exports.BrowserCodeReader = BrowserCodeReader;\n exports.BrowserDatamatrixCodeReader = BrowserDatamatrixCodeReader;\n exports.BrowserMultiFormatReader = BrowserMultiFormatReader;\n exports.BrowserPDF417Reader = BrowserPDF417Reader;\n exports.BrowserQRCodeReader = BrowserQRCodeReader;\n exports.BrowserQRCodeSvgWriter = BrowserQRCodeSvgWriter;\n exports.CharacterSetECI = CharacterSetECI;\n exports.ChecksumException = ChecksumException;\n exports.Code128Reader = Code128Reader;\n exports.Code39Reader = Code39Reader;\n exports.DataMatrixDecodedBitStreamParser = DecodedBitStreamParser;\n exports.DataMatrixReader = DataMatrixReader;\n exports.DecodeHintType = DecodeHintType$1;\n exports.DecoderResult = DecoderResult;\n exports.DefaultGridSampler = DefaultGridSampler;\n exports.DetectorResult = DetectorResult;\n exports.EAN13Reader = EAN13Reader;\n exports.EncodeHintType = EncodeHintType$1;\n exports.Exception = Exception;\n exports.FormatException = FormatException;\n exports.GenericGF = GenericGF;\n exports.GenericGFPoly = GenericGFPoly;\n exports.GlobalHistogramBinarizer = GlobalHistogramBinarizer;\n exports.GridSampler = GridSampler;\n exports.GridSamplerInstance = GridSamplerInstance;\n exports.HTMLCanvasElementLuminanceSource = HTMLCanvasElementLuminanceSource;\n exports.HybridBinarizer = HybridBinarizer;\n exports.ITFReader = ITFReader;\n exports.IllegalArgumentException = IllegalArgumentException;\n exports.IllegalStateException = IllegalStateException;\n exports.InvertedLuminanceSource = InvertedLuminanceSource;\n exports.LuminanceSource = LuminanceSource;\n exports.MathUtils = MathUtils;\n exports.MultiFormatOneDReader = MultiFormatOneDReader;\n exports.MultiFormatReader = MultiFormatReader;\n exports.MultiFormatWriter = MultiFormatWriter;\n exports.NotFoundException = NotFoundException;\n exports.OneDReader = OneDReader;\n exports.PDF417DecodedBitStreamParser = DecodedBitStreamParser$2;\n exports.PDF417DecoderErrorCorrection = ErrorCorrection;\n exports.PDF417Reader = PDF417Reader;\n exports.PDF417ResultMetadata = PDF417ResultMetadata;\n exports.PerspectiveTransform = PerspectiveTransform;\n exports.PlanarYUVLuminanceSource = PlanarYUVLuminanceSource;\n exports.QRCodeByteMatrix = ByteMatrix;\n exports.QRCodeDataMask = DataMask;\n exports.QRCodeDecodedBitStreamParser = DecodedBitStreamParser$1;\n exports.QRCodeDecoderErrorCorrectionLevel = ErrorCorrectionLevel;\n exports.QRCodeDecoderFormatInformation = FormatInformation;\n exports.QRCodeEncoder = Encoder;\n exports.QRCodeEncoderQRCode = QRCode;\n exports.QRCodeMaskUtil = MaskUtil;\n exports.QRCodeMatrixUtil = MatrixUtil;\n exports.QRCodeMode = Mode$1;\n exports.QRCodeReader = QRCodeReader;\n exports.QRCodeVersion = Version$1;\n exports.QRCodeWriter = QRCodeWriter;\n exports.RGBLuminanceSource = RGBLuminanceSource;\n exports.RSS14Reader = RSS14Reader;\n exports.RSSExpandedReader = RSSExpandedReader;\n exports.ReaderException = ReaderException;\n exports.ReedSolomonDecoder = ReedSolomonDecoder;\n exports.ReedSolomonEncoder = ReedSolomonEncoder;\n exports.ReedSolomonException = ReedSolomonException;\n exports.Result = Result;\n exports.ResultMetadataType = ResultMetadataType$1;\n exports.ResultPoint = ResultPoint;\n exports.StringUtils = StringUtils;\n exports.UnsupportedOperationException = UnsupportedOperationException;\n exports.VideoInputDevice = VideoInputDevice;\n exports.WhiteRectangleDetector = WhiteRectangleDetector;\n exports.WriterException = WriterException;\n exports.ZXingArrays = Arrays;\n exports.ZXingCharset = Charset;\n exports.ZXingInteger = Integer;\n exports.ZXingStandardCharsets = StandardCharsets;\n exports.ZXingStringBuilder = StringBuilder;\n exports.ZXingStringEncoding = StringEncoding;\n exports.ZXingSystem = System;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=index.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom-server-legacy.browser.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var aa=require(\"react\");function k(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c
\n \n );\n};\n","import { Default, cssTransition } from '../utils';\n\nconst getConfig = (animationName: string, appendPosition = false) => ({\n enter: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-enter`,\n exit: `${Default.CSS_NAMESPACE}--animate ${Default.CSS_NAMESPACE}__${animationName}-exit`,\n appendPosition\n});\n\nconst Bounce = cssTransition(getConfig('bounce', true));\n\nconst Slide = cssTransition(getConfig('slide', true));\n\nconst Zoom = cssTransition(getConfig('zoom'));\n\nconst Flip = cssTransition(getConfig('flip'));\n\nexport { Bounce, Slide, Zoom, Flip };\n","// https://github.com/yannickcr/eslint-plugin-react/issues/3140\n/* eslint react/prop-types: \"off\" */\nimport React, { forwardRef, StyleHTMLAttributes, useEffect } from 'react';\nimport cx from 'clsx';\n\nimport { Toast } from './Toast';\nimport { CloseButton } from './CloseButton';\nimport { Bounce } from './Transitions';\nimport { Direction, Default, parseClassName, isFn } from '../utils';\nimport { useToastContainer } from '../hooks/useToastContainer';\nimport { ToastContainerProps, ToastPosition } from '../types';\n\nexport const ToastContainer = forwardRef(\n (props, ref) => {\n const { getToastToRender, containerRef, isToastActive } =\n useToastContainer(props);\n const { className, style, rtl, containerId } = props;\n\n function getClassName(position: ToastPosition) {\n const defaultClassName = cx(\n `${Default.CSS_NAMESPACE}__toast-container`,\n `${Default.CSS_NAMESPACE}__toast-container--${position}`,\n { [`${Default.CSS_NAMESPACE}__toast-container--rtl`]: rtl }\n );\n return isFn(className)\n ? className({\n position,\n rtl,\n defaultClassName\n })\n : cx(defaultClassName, parseClassName(className));\n }\n\n useEffect(() => {\n if (ref) {\n (ref as React.MutableRefObject).current =\n containerRef.current!;\n }\n }, []);\n\n return (\n \n {getToastToRender((position, toastList) => {\n const containerStyle: React.CSSProperties = !toastList.length\n ? { ...style, pointerEvents: 'none' }\n : { ...style };\n\n return (\n \n {toastList.map(({ content, props: toastProps }, i) => {\n return (\n \n }\n key={`toast-${toastProps.key}`}\n >\n {content}\n \n );\n })}\n
\n );\n })}\n
\n );\n }\n);\n\nToastContainer.displayName = 'ToastContainer';\n\nToastContainer.defaultProps = {\n position: 'top-right',\n transition: Bounce,\n autoClose: 5000,\n closeButton: CloseButton,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n closeOnClick: true,\n draggable: true,\n draggablePercent: Default.DRAGGABLE_PERCENT as number,\n draggableDirection: Direction.X,\n role: 'alert',\n theme: 'light'\n};\n","import { POSITION, TYPE, isStr, isNum, isFn, Type } from '../utils';\nimport { eventManager, OnChangeCallback, Event } from './eventManager';\nimport {\n ToastContent,\n ToastOptions,\n ToastProps,\n Id,\n UpdateOptions,\n ClearWaitingQueueParams,\n NotValidatedToastProps,\n TypeOptions\n} from '../types';\nimport { ContainerInstance } from '../hooks';\n\ninterface EnqueuedToast {\n content: ToastContent;\n options: NotValidatedToastProps;\n}\n\nlet containers = new Map();\nlet latestInstance: ContainerInstance | Id;\nlet queue: EnqueuedToast[] = [];\nlet TOAST_ID = 1;\n\n/**\n * Get the toast by id, given it's in the DOM, otherwise returns null\n */\nfunction getToast(toastId: Id, { containerId }: ToastOptions) {\n const container = containers.get(containerId || latestInstance);\n return container && container.getToast(toastId);\n}\n\n/**\n * Generate a random toastId\n */\nfunction generateToastId() {\n return `${TOAST_ID++}`;\n}\n\n/**\n * Generate a toastId or use the one provided\n */\nfunction getToastId(options?: ToastOptions) {\n return options && (isStr(options.toastId) || isNum(options.toastId))\n ? options.toastId\n : generateToastId();\n}\n\n/**\n * If the container is not mounted, the toast is enqueued and\n * the container lazy mounted\n */\nfunction dispatchToast(\n content: ToastContent,\n options: NotValidatedToastProps\n): Id {\n if (containers.size > 0) {\n eventManager.emit(Event.Show, content, options);\n } else {\n queue.push({ content, options });\n }\n\n return options.toastId;\n}\n\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\nfunction mergeOptions(type: string, options?: ToastOptions) {\n return {\n ...options,\n type: (options && options.type) || type,\n toastId: getToastId(options)\n } as NotValidatedToastProps;\n}\n\nfunction createToastByType(type: string) {\n return (\n content: ToastContent,\n options?: ToastOptions\n ) => dispatchToast(content, mergeOptions(type, options));\n}\n\nfunction toast(\n content: ToastContent,\n options?: ToastOptions\n) {\n return dispatchToast(content, mergeOptions(Type.DEFAULT, options));\n}\n\ntoast.loading = (\n content: ToastContent,\n options?: ToastOptions\n) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n isLoading: true,\n autoClose: false,\n closeOnClick: false,\n closeButton: false,\n draggable: false,\n ...options\n })\n );\n\nexport interface ToastPromiseParams<\n TData = unknown,\n TError = unknown,\n TPending = unknown\n> {\n pending?: string | UpdateOptions;\n success?: string | UpdateOptions;\n error?: string | UpdateOptions;\n}\n\nfunction handlePromise(\n promise: Promise | (() => Promise),\n { pending, error, success }: ToastPromiseParams,\n options?: ToastOptions\n) {\n let id: Id;\n\n if (pending) {\n id = isStr(pending)\n ? toast.loading(pending, options)\n : toast.loading(pending.render, {\n ...options,\n ...(pending as ToastOptions)\n });\n }\n\n const resetParams = {\n isLoading: null,\n autoClose: null,\n closeOnClick: null,\n closeButton: null,\n draggable: null,\n delay: 100\n };\n\n const resolver = (\n type: TypeOptions,\n input: string | UpdateOptions | undefined,\n result: T\n ) => {\n // Remove the toast if the input has not been provided. This prevents the toast from hanging\n // in the pending state if a success/error toast has not been provided.\n if (input == null) {\n toast.dismiss(id);\n return;\n }\n\n const baseParams = {\n type,\n ...resetParams,\n ...options,\n data: result\n };\n const params = isStr(input) ? { render: input } : input;\n\n // if the id is set we know that it's an update\n if (id) {\n toast.update(id, {\n ...baseParams,\n ...params\n } as UpdateOptions);\n } else {\n // using toast.promise without loading\n toast(params!.render, {\n ...baseParams,\n ...params\n } as ToastOptions);\n }\n\n return result;\n };\n\n const p = isFn(promise) ? promise() : promise;\n\n //call the resolvers only when needed\n p.then(result => resolver('success', success, result)).catch(err =>\n resolver('error', error, err)\n );\n\n return p;\n}\n\ntoast.promise = handlePromise;\ntoast.success = createToastByType(Type.SUCCESS);\ntoast.info = createToastByType(Type.INFO);\ntoast.error = createToastByType(Type.ERROR);\ntoast.warning = createToastByType(Type.WARNING);\ntoast.warn = toast.warning;\ntoast.dark = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(\n content,\n mergeOptions(Type.DEFAULT, {\n theme: 'dark',\n ...options\n })\n );\n\n/**\n * Remove toast programmaticaly\n */\ntoast.dismiss = (id?: Id) => {\n if (containers.size > 0) {\n eventManager.emit(Event.Clear, id);\n } else {\n queue = queue.filter(t => id != null && t.options.toastId !== id);\n }\n};\n\n/**\n * Clear waiting queue when limit is used\n */\ntoast.clearWaitingQueue = (params: ClearWaitingQueueParams = {}) =>\n eventManager.emit(Event.ClearWaitingQueue, params);\n\n/**\n * return true if one container is displaying the toast\n */\ntoast.isActive = (id: Id) => {\n let isToastActive = false;\n\n containers.forEach(container => {\n if (container.isToastActive && container.isToastActive(id)) {\n isToastActive = true;\n }\n });\n\n return isToastActive;\n};\n\ntoast.update = (\n toastId: Id,\n options: UpdateOptions = {}\n) => {\n // if you call toast and toast.update directly nothing will be displayed\n // this is why I defered the update\n setTimeout(() => {\n const toast = getToast(toastId, options as ToastOptions);\n if (toast) {\n const { props: oldOptions, content: oldContent } = toast;\n\n const nextOptions = {\n ...oldOptions,\n ...options,\n toastId: options.toastId || toastId,\n updateId: generateToastId()\n } as ToastProps & UpdateOptions;\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n\n const content = nextOptions.render || oldContent;\n delete nextOptions.render;\n\n dispatchToast(content, nextOptions);\n }\n }, 0);\n};\n\n/**\n * Used for controlled progress bar.\n */\ntoast.done = (id: Id) => {\n toast.update(id, {\n progress: 1\n });\n};\n\n/**\n * Subscribe to change when a toast is added, removed and updated\n *\n * Usage:\n * ```\n * const unsubscribe = toast.onChange((payload) => {\n * switch (payload.status) {\n * case \"added\":\n * // new toast added\n * break;\n * case \"updated\":\n * // toast updated\n * break;\n * case \"removed\":\n * // toast has been removed\n * break;\n * }\n * })\n * ```\n */\ntoast.onChange = (callback: OnChangeCallback) => {\n eventManager.on(Event.Change, callback);\n return () => {\n eventManager.off(Event.Change, callback);\n };\n};\n\n/**\n * @deprecated\n * Will be removed in the next major release.\n */\ntoast.POSITION = POSITION;\n\n/**\n * @deprecated\n * Will be removed in the next major release.\n */\ntoast.TYPE = TYPE;\n\n/**\n * Wait until the ToastContainer is mounted to dispatch the toast\n * and attach isActive method\n */\neventManager\n .on(Event.DidMount, (containerInstance: ContainerInstance) => {\n latestInstance = containerInstance.containerId || containerInstance;\n containers.set(latestInstance, containerInstance);\n\n queue.forEach(item => {\n eventManager.emit(Event.Show, item.content, item.options);\n });\n\n queue = [];\n })\n .on(Event.WillUnmount, (containerInstance: ContainerInstance) => {\n containers.delete(containerInstance.containerId || containerInstance);\n\n if (containers.size === 0) {\n eventManager\n .off(Event.Show)\n .off(Event.Clear)\n .off(Event.ClearWaitingQueue);\n }\n });\n\nexport { toast };\n","import { ToastPosition, TypeOptions } from '../types';\n\ntype KeyOfPosition =\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'TOP_CENTER'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT'\n | 'BOTTOM_CENTER';\n\ntype KeyOfType = 'INFO' | 'SUCCESS' | 'WARNING' | 'ERROR' | 'DEFAULT';\n\n/**\n * @deprecated\n */\nexport const POSITION: { [key in KeyOfPosition]: ToastPosition } = {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n};\n\n/**\n * @deprecated\n */\nexport const TYPE: { [key in KeyOfType]: TypeOptions } = {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default'\n};\n\nexport const enum Type {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error',\n DEFAULT = 'default'\n}\n\nexport const enum Default {\n COLLAPSE_DURATION = 300,\n DEBOUNCE_DURATION = 50,\n CSS_NAMESPACE = 'Toastify',\n DRAGGABLE_PERCENT = 80\n}\n\nexport const enum Direction {\n X = 'x',\n Y = 'y'\n}\n\nexport const enum SyntheticEvent {\n ENTRANCE_ANIMATION_END = 'd'\n}\n","import React, { useRef, useEffect, useState } from 'react';\r\nimport ParticleService from '../ParticleService';\r\nimport { toast } from 'react-toastify';\r\nimport mapboxgl from '!mapbox-gl'; // eslint-disable-line import/no-webpack-loader-syntax\r\nimport 'mapbox-gl/dist/mapbox-gl.css';\r\nimport './styles.scss';\r\n\r\nmapboxgl.accessToken = 'pk.eyJ1IjoiamFja3k0NTY2IiwiYSI6ImNrdm54ODFqcGUzOWsycXE2Y2YxZXR3MDIifQ.pJwfydUY9qaUrkCb2NKxyA';\r\n\r\nasync function fireAll() {\r\n toast('Fire All')\r\n console.log(\"Fire All\");\r\n const data = await ParticleService.getDevices();\r\n data.forEach(obj => {\r\n ParticleService.fireCannon(obj.id).then(callback => {\r\n if (callback.error) {\r\n console.error(callback);\r\n toast.error(\"Could not fire \" + obj.name)\r\n }\r\n return callback;\r\n });\r\n })\r\n}\r\n\r\nclass FireAllControl {\r\n onAdd(map) {\r\n this.map = map;\r\n this.container = document.createElement('div');\r\n this.container.className = 'mapboxgl-ctrl';\r\n\r\n const button = this._createButton('map-fire-btn')\r\n this.container.appendChild(button);\r\n return this.container;\r\n }\r\n onRemove() {\r\n this.container.parentNode.removeChild(this.container);\r\n this.map = undefined;\r\n }\r\n _createButton(className) {\r\n const el = window.document.createElement('button')\r\n el.className = className;\r\n el.textContent = 'FIRE ALL';\r\n el.addEventListener('click', (e) => {\r\n console.log(\"Fire All\");\r\n fireAll();\r\n e.stopPropagation()\r\n }, false)\r\n return el;\r\n }\r\n}\r\n\r\nexport default function Map() {\r\n const mapContainer = useRef(null);\r\n const map = useRef(null);\r\n const [currentMarkers] = useState([]);\r\n\r\n function getCenter() {\r\n //Get preferences from storage\r\n const storedSettings = JSON.parse(localStorage.getItem(\"mapbox.lastCentre\"));\r\n if (storedSettings) {\r\n return mapboxgl.LngLat.convert(storedSettings);\r\n }\r\n return new mapboxgl.LngLat(-113.9749, 50.7736);\r\n }\r\n\r\n function getZoom() {\r\n //Get preferences from storage\r\n const storedSettings = JSON.parse(localStorage.getItem(\"mapbox.lastZoom\"));\r\n if (storedSettings) {\r\n return storedSettings;\r\n }\r\n return 12;\r\n }\r\n\r\n async function addDevices() {\r\n let deviceCount = 0;\r\n let mytoast = toast(\"Fetching Devices\", { autoClose: 30000 })\r\n if (currentMarkers !== null) {\r\n for (let i = currentMarkers.length - 1; i >= 0; i--) {\r\n currentMarkers[i].remove();\r\n }\r\n }\r\n const data = await ParticleService.getDevices();\r\n deviceCount = data.length;\r\n data.forEach(obj => {\r\n ParticleService.getCannonLocation(obj.id).then(locateCallback => {\r\n deviceCount = deviceCount - 1;\r\n if (locateCallback.error) {\r\n toast.error(\"Could not Find \" + obj.name)\r\n } else {\r\n const devicelatlng = new mapboxgl.LngLat(locateCallback.result.split(',')[1], locateCallback.result.split(',')[0]);\r\n const el = document.createElement('div');\r\n el.className = 'map-marker';\r\n el.title = obj.name;\r\n el.style.backgroundImage = `url(${process.env.PUBLIC_URL + '/mapIcons/Location3.svg'})`;\r\n el.setAttribute('mydata', obj);\r\n const marker = new mapboxgl.Marker(el)\r\n .setLngLat(devicelatlng);\r\n currentMarkers.push(marker);\r\n marker.addTo(map.current);\r\n el.addEventListener('click', () => { deviceClick(obj) });\r\n };\r\n if (deviceCount <= 0)\r\n toast.dismiss(mytoast);\r\n })\r\n });\r\n }\r\n\r\n async function deviceClick(device) {\r\n toast.success(\"Firing Cannon\" + device.name)\r\n let response = await ParticleService.fireCannon(device.id);\r\n if (response.errors) {\r\n console.error(response);\r\n toast.error(response.errors[0]);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n //Add Devices once except for refresh button\r\n toast(\"Click To Fire\", { autoClose: 10000 })\r\n addDevices();\r\n document.addEventListener('dataRefresh', () => {\r\n addDevices();\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (map.current) return; // initialize map only once\r\n map.current = new mapboxgl.Map({\r\n container: mapContainer.current,\r\n style: 'mapbox://styles/mapbox/outdoors-v11',\r\n center: getCenter(),\r\n zoom: getZoom(),\r\n });\r\n const geolocate = new mapboxgl.GeolocateControl({\r\n positionOptions: {\r\n enableHighAccuracy: true\r\n },\r\n trackUserLocation: true,\r\n showUserHeading: true\r\n });\r\n const nav = new mapboxgl.NavigationControl({\r\n showCompass: true\r\n });\r\n //Add basic controls\r\n map.current.addControl(geolocate);\r\n map.current.addControl(nav, 'top-right');\r\n map.current.on('moveend', () => {\r\n localStorage.setItem(\"mapbox.lastCentre\", JSON.stringify(map.current.getCenter()));\r\n localStorage.setItem(\"mapbox.lastZoom\", JSON.stringify(map.current.getZoom()));\r\n });\r\n //Add Fire all\r\n map.current.addControl(new FireAllControl(), 'top-right')\r\n });\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","class DeviceNote {\r\n\r\n checkUserNote(note) {\r\n let defaultObject = { \"AdminNotes\": \"\", \"UserNotes\": \"\", \"UserGroups\": \"\" };\r\n if (!note) {\r\n console.log(\"Return Default\");\r\n defaultObject.UserNotes = note\r\n return defaultObject;\r\n }\r\n try {\r\n const jsonNote = JSON.parse(note);\r\n return jsonNote;\r\n } catch {\r\n console.log(\"Fail to Parse\");\r\n console.error(note);\r\n defaultObject.UserNotes = note\r\n return defaultObject;\r\n }\r\n }\r\n\r\n setUserNote(extNote, newnote) {\r\n let jsondecode = this.checkUserNote(extNote);\r\n jsondecode.UserNotes = newnote;\r\n return JSON.stringify(jsondecode);\r\n }\r\n\r\n getUserNote(extNote) {\r\n const jsondecode = this.checkUserNote(extNote);\r\n if (jsondecode.UserNotes)\r\n return jsondecode.UserNotes;\r\n else\r\n return ''\r\n }\r\n\r\n addUserGroup(extNote, newgroup) {\r\n let jsondecode = this.checkUserNote(extNote);\r\n const currentGroups = jsondecode.UserGroups;\r\n if (currentGroups) {\r\n jsondecode.UserGroups = currentGroups + \",\" + newgroup;\r\n } else {\r\n jsondecode.UserGroups = newgroup;\r\n }\r\n return JSON.stringify(jsondecode);\r\n }\r\n\r\n changeUserGroup(extNote, oldgroup, newgroup) {\r\n let jsondecode = this.checkUserNote(extNote);\r\n var currentGroups = new Array();\r\n currentGroups = jsondecode.UserGroups.split(\",\");\r\n var newGroups = new Array();\r\n currentGroups.forEach(obj => {\r\n if (obj == oldgroup) {\r\n newGroups.push(newgroup)\r\n } else {\r\n newGroups.push(obj)\r\n }\r\n })\r\n jsondecode.UserGroups = newGroups.join(',');\r\n return JSON.stringify(jsondecode);\r\n }\r\n\r\n removeUserGroup(extNote, rmgroup) {\r\n let jsondecode = this.checkUserNote(extNote);\r\n const currentGroups = jsondecode.UserGroups.split(\",\");\r\n let newlist = '';\r\n currentGroups.forEach((el) => {\r\n if (el !== rmgroup) {\r\n if (newlist === '')\r\n newlist = el;\r\n else\r\n newlist = newlist + \",\" + el;\r\n }\r\n })\r\n jsondecode.UserGroups = newlist;\r\n return JSON.stringify(jsondecode);\r\n }\r\n\r\n\r\n getUserGroups(extNote) {\r\n const jsondecode = this.checkUserNote(extNote);\r\n return jsondecode.UserGroups.toString().split(\",\");\r\n }\r\n\r\n}\r\nexport default new DeviceNote();\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport ParticleService from '../../ParticleService';\r\nimport { AgGridReact } from 'ag-grid-react';\r\nimport { toast } from 'react-toastify';\r\nimport DeviceNote from '.././DeviceNote';\r\n\r\nimport 'ag-grid-community/styles/ag-grid.css';\r\nimport 'ag-grid-community/styles/ag-theme-alpine.css';\r\nimport '.././styles.scss';\r\n\r\nexport default function GroupTable() {\r\n const [rowData, setRowData] = useState([]);\r\n const gridRef = useRef();\r\n\r\n useEffect(() => {\r\n fetchTableData()\r\n document.addEventListener('dataRefresh', (event) => {\r\n fetchTableData();\r\n });\r\n }, []);\r\n\r\n async function fetchTableData() {\r\n const data = await ParticleService.getDevices();\r\n if (data.length > 0) {\r\n // Create rows\r\n let rowList = [];\r\n\r\n data.forEach(obj => {\r\n const objGroups = DeviceNote.getUserGroups(obj.notes);\r\n objGroups.forEach(objGroup => {\r\n if (objGroup) {\r\n let found = false;\r\n rowList.forEach(extGroup => {\r\n if (extGroup.group === objGroup) {\r\n extGroup.devices.push(obj);\r\n found = true;\r\n }\r\n })\r\n if (!found) {\r\n const row = { group: objGroup, devices: [] };\r\n row.devices.push(obj);\r\n rowList.push(row); //Push to dataset\r\n }\r\n }\r\n })\r\n });\r\n setRowData(rowList);\r\n } else {\r\n toast.error(\"No Data\");\r\n }\r\n gridRef.current.api.sizeColumnsToFit()\r\n }\r\n\r\n function ActionButtons(props) {\r\n return
\r\n {' '}\r\n {' '}\r\n
\r\n }\r\n\r\n function deviceListRender(props) {\r\n const deviceList = props.data.devices;\r\n const htmlList = Array.from(deviceList).map((data, index) =>
  • {data.name} ({data.id})
  • );\r\n return (\r\n
      {htmlList}
    \r\n )\r\n }\r\n\r\n const [columnDefs] = useState([\r\n {\r\n field: 'group', flex: '2', editable: true, valueSetter: params => {\r\n const currentName = params.data.group;\r\n const newName = params.newValue;\r\n const re = /^[a-zA-Z0-9-_ \\b]+$/;\r\n if (!re.test(newName)) {\r\n toast.error(\"Bad Name\");\r\n return;\r\n } else {\r\n params.data.group = params.newValue;\r\n gridRef.current.api.forEachNode(function (node) {\r\n node.data.devices.forEach(obj => {\r\n console.log(obj.id)\r\n ParticleService.setDeviceNotes(obj.id, DeviceNote.changeUserGroup(obj.notes, currentName, newName));\r\n })\r\n });\r\n }\r\n return true;\r\n }\r\n },\r\n { field: 'action', minWidth: 150, cellRenderer: ActionButtons, flex: '1' },\r\n { field: 'Devices', flex: '2', cellRenderer: deviceListRender }\r\n ])\r\n\r\n const gridOptionGroup = {\r\n columnDefs: columnDefs,\r\n defaultColDef: {\r\n sortable: true,\r\n autoHeight: true,\r\n },\r\n enableCellTextSelection: true,\r\n statusBar: {\r\n statusPanels: [{ statusPanel: 'agAggregationComponent' }],\r\n },\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n}\r\n","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n }\n]","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function RiAncientGateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.901 10a2.999 2.999 0 0 0 4.075 1.113 3.5 3.5 0 0 1-1.975 3.55L21 21h-6v-2a3 3 0 0 0-5.995-.176L9 19v2H3v-6.336a3.5 3.5 0 0 1-1.979-3.553A2.999 2.999 0 0 0 5.098 10h13.803zm-1.865-7a3.5 3.5 0 0 0 4.446 2.86 3.5 3.5 0 0 1-3.29 3.135L18 9H6a3.5 3.5 0 0 1-3.482-3.14A3.5 3.5 0 0 0 6.964 3h10.072z\"}}]}]})(props);\n};\nexport function RiAncientGateLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18.901 10a2.999 2.999 0 0 0 4.075 1.113 3.5 3.5 0 0 1-1.975 3.55L21 21h-7v-2a2 2 0 0 0-1.85-1.995L12 17a2 2 0 0 0-1.995 1.85L10 19v2H3v-6.336a3.5 3.5 0 0 1-1.979-3.553A2.999 2.999 0 0 0 5.098 10h13.803zm-.971 2H6.069l-.076.079c-.431.42-.935.76-1.486 1.002l-.096.039.589.28-.001 5.6 3.002-.001v-.072l.01-.223c.149-2.016 1.78-3.599 3.854-3.698l.208-.005.223.01a4 4 0 0 1 3.699 3.787l.004.201L19 19l.001-5.6.587-.28-.095-.04a5.002 5.002 0 0 1-1.486-1.001L17.93 12zm-.894-9a3.5 3.5 0 0 0 4.446 2.86 3.5 3.5 0 0 1-3.29 3.135L18 9H6a3.5 3.5 0 0 1-3.482-3.14A3.5 3.5 0 0 0 6.964 3h10.072zM15.6 5H8.399a5.507 5.507 0 0 1-1.49 1.816L6.661 7h10.677l-.012-.008a5.518 5.518 0 0 1-1.579-1.722L15.6 5z\"}}]}]})(props);\n};\nexport function RiAncientPavilionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.513 2.001a9.004 9.004 0 0 0 9.97 5.877A4.501 4.501 0 0 1 19 11.888V19l2 .001v2H3v-2h2v-7.113a4.503 4.503 0 0 1-3.484-4.01 9.004 9.004 0 0 0 9.972-5.876h1.025zM17 12H7V19h10v-7z\"}}]}]})(props);\n};\nexport function RiAncientPavilionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12.513 2.001a9.004 9.004 0 0 0 9.97 5.877A4.501 4.501 0 0 1 19 11.888V19l2 .001v2H3v-2h2v-7.113a4.503 4.503 0 0 1-3.484-4.01 9.004 9.004 0 0 0 9.972-5.876h1.025zM17 12H7V19h10v-7zm-5-6.673l-.11.155A11.012 11.012 0 0 1 5.4 9.736l-.358.073.673.19h12.573l.668-.19-.011-.002a11.01 11.01 0 0 1-6.836-4.326L12 5.326z\"}}]}]})(props);\n};\nexport function RiBankFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h20v2H2v-2zm2-8h2v7H4v-7zm5 0h2v7H9v-7zm4 0h2v7h-2v-7zm5 0h2v7h-2v-7zM2 7l10-5 10 5v4H2V7zm10 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiBankLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 20h20v2H2v-2zm2-8h2v7H4v-7zm5 0h2v7H9v-7zm4 0h2v7h-2v-7zm5 0h2v7h-2v-7zM2 7l10-5 10 5v4H2V7zm2 1.236V9h16v-.764l-8-4-8 4zM12 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiBuilding2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19h2V6l6.394 2.74a1 1 0 0 1 .606.92V19h2v2H1v-2h2V5.65a1 1 0 0 1 .594-.914l7.703-3.424A.5.5 0 0 1 12 1.77V19z\"}}]}]})(props);\n};\nexport function RiBuilding2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19V5.7a1 1 0 0 1 .658-.94l9.671-3.516a.5.5 0 0 1 .671.47v4.953l6.316 2.105a1 1 0 0 1 .684.949V19h2v2H1v-2h2zm2 0h7V3.855L5 6.401V19zm14 0v-8.558l-5-1.667V19h5z\"}}]}]})(props);\n};\nexport function RiBuilding3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10.111V1l11 6v14H3V7z\"}}]}]})(props);\n};\nexport function RiBuilding3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10.111V1l11 6v14H3V7l7 3.111zm2-5.742v8.82l-7-3.111V19h14V8.187L12 4.37z\"}}]}]})(props);\n};\nexport function RiBuilding4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20h2v2H1v-2h2V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v17zM8 11v2h3v-2H8zm0-4v2h3V7H8zm0 8v2h3v-2H8zm5 0v2h3v-2h-3zm0-4v2h3v-2h-3zm0-4v2h3V7h-3z\"}}]}]})(props);\n};\nexport function RiBuilding4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20h2v2H1v-2h2V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v17zm-2 0V4H5v16h14zM8 11h3v2H8v-2zm0-4h3v2H8V7zm0 8h3v2H8v-2zm5 0h3v2h-3v-2zm0-4h3v2h-3v-2zm0-4h3v2h-3V7z\"}}]}]})(props);\n};\nexport function RiBuildingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19h2v2H1v-2h2V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v15h2V9h3a1 1 0 0 1 1 1v9zM7 11v2h4v-2H7zm0-4v2h4V7H7z\"}}]}]})(props);\n};\nexport function RiBuildingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19h2v2H1v-2h2V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v15h4v-8h-2V9h3a1 1 0 0 1 1 1v9zM5 5v14h8V5H5zm2 6h4v2H7v-2zm0-4h4v2H7V7z\"}}]}]})(props);\n};\nexport function RiCommunityFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 19h3v-6.058L8 9.454l-4 3.488V19h3v-4h2v4zm12 2H3a1 1 0 0 1-1-1v-7.513a1 1 0 0 1 .343-.754L6 8.544V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1zm-5-10v2h2v-2h-2zm0 4v2h2v-2h-2zm0-8v2h2V7h-2zm-4 0v2h2V7h-2z\"}}]}]})(props);\n};\nexport function RiCommunityLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 21H3a1 1 0 0 1-1-1v-7.513a1 1 0 0 1 .343-.754L6 8.544V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1zM9 19h3v-6.058L8 9.454l-4 3.488V19h3v-4h2v4zm5 0h6V5H8v2.127c.234 0 .469.082.657.247l5 4.359a1 1 0 0 1 .343.754V19zm2-8h2v2h-2v-2zm0 4h2v2h-2v-2zm0-8h2v2h-2V7zm-4 0h2v2h-2V7z\"}}]}]})(props);\n};\nexport function RiGovernmentFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 19V8H1V6h3V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2h3v2h-1v11h1v2H1v-2h1zm11 0v-7h-2v7h2zm-5 0v-7H6v7h2zm10 0v-7h-2v7h2zM6 5v1h12V5H6z\"}}]}]})(props);\n};\nexport function RiGovernmentLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6h3v2h-1v11h1v2H1v-2h1V8H1V6h3V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2zm0 2H4v11h3v-7h2v7h2v-7h2v7h2v-7h2v7h3V8zM6 5v1h12V5H6z\"}}]}]})(props);\n};\nexport function RiHome2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9z\"}}]}]})(props);\n};\nexport function RiHome2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM6 19h12V9.157l-6-5.454-6 5.454V19z\"}}]}]})(props);\n};\nexport function RiHome3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zM8 15v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiHome3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM6 19h12V9.157l-6-5.454-6 5.454V19zm2-4h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiHome4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zm-9-7v6h2v-6h-2z\"}}]}]})(props);\n};\nexport function RiHome4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zm-6-2h5V9.157l-6-5.454-6 5.454V19h5v-6h2v6z\"}}]}]})(props);\n};\nexport function RiHome5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.222a1 1 0 0 1 1.228 0l8 6.222a1 1 0 0 1 .386.79V20zm-10-7v6h2v-6h-2z\"}}]}]})(props);\n};\nexport function RiHome5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 19h6V9.978l-7-5.444-7 5.444V19h6v-6h2v6zm8 1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.222a1 1 0 0 1 1.228 0l8 6.222a1 1 0 0 1 .386.79V20z\"}}]}]})(props);\n};\nexport function RiHome6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.222a1 1 0 0 1 1.228 0l8 6.222a1 1 0 0 1 .386.79V20zM7 15v2h10v-2H7z\"}}]}]})(props);\n};\nexport function RiHome6Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.222a1 1 0 0 1 1.228 0l8 6.222a1 1 0 0 1 .386.79V20zm-2-1V9.978l-7-5.444-7 5.444V19h14zM7 15h10v2H7v-2z\"}}]}]})(props);\n};\nexport function RiHome7Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-9H0l10.327-9.388a1 1 0 0 1 1.346 0L22 11h-3v9zm-8-5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]}]})(props);\n};\nexport function RiHome7Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM6 19h12V9.157l-6-5.454-6 5.454V19zm6-4a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z\"}}]}]})(props);\n};\nexport function RiHome8Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zM9 10v6h6v-6H9zm2 2h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiHome8Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM6 19h12V9.157l-6-5.454-6 5.454V19zm3-9h6v6H9v-6zm2 2v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiHomeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.222a1 1 0 0 1 1.228 0l8 6.222a1 1 0 0 1 .386.79V20z\"}}]}]})(props);\n};\nexport function RiHomeGearFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zM8.592 13.808l-.991.572 1 1.733.993-.573a3.5 3.5 0 0 0 1.405.811v1.145h2.002V16.35a3.5 3.5 0 0 0 1.405-.81l.992.572L16.4 14.38l-.991-.572a3.504 3.504 0 0 0 0-1.62l.991-.573-1-1.733-.993.573A3.5 3.5 0 0 0 13 9.645V8.5h-2.002v1.144a3.5 3.5 0 0 0-1.405.811l-.992-.573L7.6 11.616l.991.572a3.504 3.504 0 0 0 0 1.62zm3.408.69a1.5 1.5 0 1 1-.002-3.001 1.5 1.5 0 0 1 .002 3z\"}}]}]})(props);\n};\nexport function RiHomeGearLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM6 19h12V9.157l-6-5.454-6 5.454V19zm2.591-5.191a3.508 3.508 0 0 1 0-1.622l-.991-.572 1-1.732.991.573a3.495 3.495 0 0 1 1.404-.812V8.5h2v1.144c.532.159 1.01.44 1.404.812l.991-.573 1 1.731-.991.573a3.508 3.508 0 0 1 0 1.622l.991.572-1 1.731-.991-.572a3.495 3.495 0 0 1-1.404.811v1.145h-2V16.35a3.495 3.495 0 0 1-1.404-.811l-.991.572-1-1.73.991-.573zm3.404.688a1.5 1.5 0 1 0 0-2.998 1.5 1.5 0 0 0 0 2.998z\"}}]}]})(props);\n};\nexport function RiHomeHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zm-8-3l3.359-3.359a2.25 2.25 0 1 0-3.182-3.182l-.177.177-.177-.177a2.25 2.25 0 1 0-3.182 3.182L12 17z\"}}]}]})(props);\n};\nexport function RiHomeHeartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zm-2-1V9.157l-6-5.454-6 5.454V19h12zm-6-2l-3.359-3.359a2.25 2.25 0 1 1 3.182-3.182l.177.177.177-.177a2.25 2.25 0 1 1 3.182 3.182L12 17z\"}}]}]})(props);\n};\nexport function RiHomeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.49a1 1 0 0 1 .386-.79l8-6.222a1 1 0 0 1 1.228 0l8 6.222a1 1 0 0 1 .386.79V20zm-2-1V9.978l-7-5.444-7 5.444V19h14z\"}}]}]})(props);\n};\nexport function RiHomeSmile2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.314a1 1 0 0 1 .38-.785l8-6.311a1 1 0 0 1 1.24 0l8 6.31a1 1 0 0 1 .38.786V20zM7 12a5 5 0 0 0 10 0h-2a3 3 0 0 1-6 0H7z\"}}]}]})(props);\n};\nexport function RiHomeSmile2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 19V9.799l-7-5.522-7 5.522V19h14zm2 1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.314a1 1 0 0 1 .38-.785l8-6.311a1 1 0 0 1 1.24 0l8 6.31a1 1 0 0 1 .38.786V20zM7 12h2a3 3 0 0 0 6 0h2a5 5 0 0 1-10 0z\"}}]}]})(props);\n};\nexport function RiHomeSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zM7.5 13a4.5 4.5 0 1 0 9 0h-2a2.5 2.5 0 1 1-5 0h-2z\"}}]}]})(props);\n};\nexport function RiHomeSmileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19h12V9.157l-6-5.454-6 5.454V19zm13 2H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM7.5 13h2a2.5 2.5 0 1 0 5 0h2a4.5 4.5 0 1 1-9 0z\"}}]}]})(props);\n};\nexport function RiHomeWifiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9zM7 11v2a5 5 0 0 1 5 5h2a7 7 0 0 0-7-7zm0 4v3h3a3 3 0 0 0-3-3z\"}}]}]})(props);\n};\nexport function RiHomeWifiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19h12V9.157l-6-5.454-6 5.454V19zm13 2H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1zM8 10a7 7 0 0 1 7 7h-2a5 5 0 0 0-5-5v-2zm0 4a3 3 0 0 1 3 3H8v-3z\"}}]}]})(props);\n};\nexport function RiHospitalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20h2v2H1v-2h2V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v17zM11 8H9v2h2v2h2v-2h2V8h-2V6h-2v2zm3 12h2v-6H8v6h2v-4h4v4z\"}}]}]})(props);\n};\nexport function RiHospitalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8 20v-6h8v6h3V4H5v16h3zm2 0h4v-4h-4v4zm11 0h2v2H1v-2h2V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v17zM11 8V6h2v2h2v2h-2v2h-2v-2H9V8h2z\"}}]}]})(props);\n};\nexport function RiHotelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 19h2v-8h-6v8h2v-6h2v6zM3 19V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v5h2v10h1v2H2v-2h1zm4-8v2h2v-2H7zm0 4v2h2v-2H7zm0-8v2h2V7H7z\"}}]}]})(props);\n};\nexport function RiHotelLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 21H2v-2h1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v5h2v10h1v2zm-5-2h2v-8h-6v8h2v-6h2v6zm0-10V5H5v14h6V9h6zM7 11h2v2H7v-2zm0 4h2v2H7v-2zm0-8h2v2H7V7z\"}}]}]})(props);\n};\nexport function RiStore2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20v2H2v-2h1v-6.758A4.496 4.496 0 0 1 1 9.5c0-.827.224-1.624.633-2.303L4.345 2.5a1 1 0 0 1 .866-.5H18.79a1 1 0 0 1 .866.5l2.702 4.682A4.496 4.496 0 0 1 21 13.242V20h1zM5.789 4L3.356 8.213a2.5 2.5 0 0 0 4.466 2.216c.335-.837 1.52-.837 1.856 0a2.5 2.5 0 0 0 4.644 0c.335-.837 1.52-.837 1.856 0a2.5 2.5 0 1 0 4.457-2.232L18.21 4H5.79z\"}}]}]})(props);\n};\nexport function RiStore2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13.242V20h1v2H2v-2h1v-6.758A4.496 4.496 0 0 1 1 9.5c0-.827.224-1.624.633-2.303L4.345 2.5a1 1 0 0 1 .866-.5H18.79a1 1 0 0 1 .866.5l2.702 4.682A4.496 4.496 0 0 1 21 13.242zm-2 .73a4.496 4.496 0 0 1-3.75-1.36A4.496 4.496 0 0 1 12 14.001a4.496 4.496 0 0 1-3.25-1.387A4.496 4.496 0 0 1 5 13.973V20h14v-6.027zM5.789 4L3.356 8.213a2.5 2.5 0 0 0 4.466 2.216c.335-.837 1.52-.837 1.856 0a2.5 2.5 0 0 0 4.644 0c.335-.837 1.52-.837 1.856 0a2.5 2.5 0 1 0 4.457-2.232L18.21 4H5.79z\"}}]}]})(props);\n};\nexport function RiStore3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-7H2v-2l1-5h18l1 5v2h-1zM5 13v6h14v-6H5zm1 1h8v3H6v-3zM3 3h18v2H3V3z\"}}]}]})(props);\n};\nexport function RiStore3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-7H2v-2l1-5h18l1 5v2h-1zM5 13v6h14v-6H5zm-.96-2h15.92l-.6-3H4.64l-.6 3zM6 14h8v3H6v-3zM3 3h18v2H3V3z\"}}]}]})(props);\n};\nexport function RiStoreFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11.646V21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-9.354A3.985 3.985 0 0 1 2 9V3a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v6c0 1.014-.378 1.94-1 2.646zM14 9a1 1 0 0 1 2 0 2 2 0 1 0 4 0V4H4v5a2 2 0 1 0 4 0 1 1 0 1 1 2 0 2 2 0 1 0 4 0z\"}}]}]})(props);\n};\nexport function RiStoreLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11.646V21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-9.354A3.985 3.985 0 0 1 2 9V3a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v6c0 1.014-.378 1.94-1 2.646zm-2 1.228a4.007 4.007 0 0 1-4-1.228A3.99 3.99 0 0 1 12 13a3.99 3.99 0 0 1-3-1.354 3.99 3.99 0 0 1-4 1.228V20h14v-7.126zM14 9a1 1 0 0 1 2 0 2 2 0 1 0 4 0V4H4v5a2 2 0 1 0 4 0 1 1 0 1 1 2 0 2 2 0 1 0 4 0z\"}}]}]})(props);\n};\nexport function RiAdvertisementFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zM9.399 8h-2l-3.2 8h2.154l.4-1h3.29l.4 1h2.155L9.399 8zM19 8h-2v2h-1a3 3 0 0 0-.176 5.995L16 16h3V8zm-2 4v2h-1l-.117-.007a1 1 0 0 1 0-1.986L16 12h1zm-8.601-1.115L9.244 13H7.552l.847-2.115z\"}}]}]})(props);\n};\nexport function RiAdvertisementLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-1 2H4v14h16V5zM9.399 8l3.199 8h-2.155l-.4-1h-3.29l-.4 1H4.199l3.2-8h2zM19 8v8h-3a3 3 0 0 1 0-6h.999L17 8h2zm-2 4h-1a1 1 0 0 0-.117 1.993L16 14h1v-2zm-8.601-1.115L7.552 13h1.692l-.845-2.115z\"}}]}]})(props);\n};\nexport function RiArchiveDrawerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13h18v8.002c0 .551-.445.998-.993.998H3.993A.995.995 0 0 1 3 21.002V13zM3 2.998C3 2.447 3.445 2 3.993 2h16.014c.548 0 .993.446.993.998V11H3V2.998zM9 5v2h6V5H9zm0 11v2h6v-2H9z\"}}]}]})(props);\n};\nexport function RiArchiveDrawerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.992C3 2.444 3.445 2 3.993 2h16.014a1 1 0 0 1 .993.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992zM19 11V4H5v7h14zm0 2H5v7h14v-7zM9 6h6v2H9V6zm0 9h6v2H9v-2z\"}}]}]})(props);\n};\nexport function RiArchiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10h18v10.004c0 .55-.445.996-.993.996H3.993A.994.994 0 0 1 3 20.004V10zm6 2v2h6v-2H9zM2 4c0-.552.455-1 .992-1h18.016c.548 0 .992.444.992 1v4H2V4z\"}}]}]})(props);\n};\nexport function RiArchiveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10H2V4.003C2 3.449 2.455 3 2.992 3h18.016A.99.99 0 0 1 22 4.003V10h-1v10.001a.996.996 0 0 1-.993.999H3.993A.996.996 0 0 1 3 20.001V10zm16 0H5v9h14v-9zM4 5v3h16V5H4zm5 7h6v2H9v-2z\"}}]}]})(props);\n};\nexport function RiAtFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm8-10a8 8 0 1 0-3.968 6.911l-1.008-1.727A6 6 0 1 1 18 12v1a1 1 0 0 1-2 0V9h-1.354a4 4 0 1 0 .066 5.94A3 3 0 0 0 20 13v-1zm-8-2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiAtLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12a8 8 0 1 0-3.562 6.657l1.11 1.664A9.953 9.953 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10v1.5a3.5 3.5 0 0 1-6.396 1.966A5 5 0 1 1 15 8H17v5.5a1.5 1.5 0 0 0 3 0V12zm-8-3a3 3 0 1 0 0 6 3 3 0 0 0 0-6z\"}}]}]})(props);\n};\nexport function RiAttachmentFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.997 2.992L21 21.008a1 1 0 0 1-.993.992H3.993A.993.993 0 0 1 3 21.008V2.992A1 1 0 0 1 3.993 2h16.01c.549 0 .994.444.994.992zM9 13V9a1 1 0 1 1 2 0v4a1 1 0 0 0 2 0V9a3 3 0 0 0-6 0v4a5 5 0 0 0 10 0V8h-2v5a3 3 0 0 1-6 0z\"}}]}]})(props);\n};\nexport function RiAttachmentLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.5V8a4 4 0 1 0-8 0v5.5a6.5 6.5 0 1 0 13 0V4h2v9.5a8.5 8.5 0 1 1-17 0V8a6 6 0 1 1 12 0v5.5a3.5 3.5 0 0 1-7 0V8h2v5.5a1.5 1.5 0 0 0 3 0z\"}}]}]})(props);\n};\nexport function RiAwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 15.245v6.872a.5.5 0 0 1-.757.429L12 20l-4.243 2.546a.5.5 0 0 1-.757-.43v-6.87a8 8 0 1 1 10 0zM12 15a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm0-2a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]}]})(props);\n};\nexport function RiAwardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 15.245v6.872a.5.5 0 0 1-.757.429L12 20l-4.243 2.546a.5.5 0 0 1-.757-.43v-6.87a8 8 0 1 1 10 0zm-8 1.173v3.05l3-1.8 3 1.8v-3.05A7.978 7.978 0 0 1 12 17a7.978 7.978 0 0 1-3-.582zM12 15a6 6 0 1 0 0-12 6 6 0 0 0 0 12z\"}}]}]})(props);\n};\nexport function RiBarChart2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13h6v8H2v-8zM9 3h6v18H9V3zm7 5h6v13h-6V8z\"}}]}]})(props);\n};\nexport function RiBarChart2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13h6v8H2v-8zm14-5h6v13h-6V8zM9 3h6v18H9V3zM4 15v4h2v-4H4zm7-10v14h2V5h-2zm7 5v9h2v-9h-2z\"}}]}]})(props);\n};\nexport function RiBarChartBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4 10v4h2v-4H7zm4-6v10h2V7h-2zm4 3v7h2v-7h-2z\"}}]}]})(props);\n};\nexport function RiBarChartBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm3 8h2v4H7v-4zm4-6h2v10h-2V7zm4 3h2v7h-2v-7z\"}}]}]})(props);\n};\nexport function RiBarChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12h4v9H3v-9zm14-4h4v13h-4V8zm-7-6h4v19h-4V2z\"}}]}]})(props);\n};\nexport function RiBarChartGroupedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h2v9H2v-9zm3 2h2v7H5v-7zm11-6h2v13h-2V8zm3 2h2v11h-2V10zM9 2h2v19H9V2zm3 2h2v17h-2V4z\"}}]}]})(props);\n};\nexport function RiBarChartGroupedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12h2v9H2v-9zm3 2h2v7H5v-7zm11-6h2v13h-2V8zm3 2h2v11h-2V10zM9 2h2v19H9V2zm3 2h2v17h-2V4z\"}}]}]})(props);\n};\nexport function RiBarChartHorizontalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v4H3V3h9zm4 14v4H3v-4h13zm6-7v4H3v-4h19z\"}}]}]})(props);\n};\nexport function RiBarChartHorizontalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v2H3V3h9zm4 16v2H3v-2h13zm6-8v2H3v-2h19z\"}}]}]})(props);\n};\nexport function RiBarChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12h2v9H3v-9zm16-4h2v13h-2V8zm-8-6h2v19h-2V2z\"}}]}]})(props);\n};\nexport function RiBookmark2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h14a1 1 0 0 1 1 1v19.143a.5.5 0 0 1-.766.424L12 18.03l-7.234 4.536A.5.5 0 0 1 4 22.143V3a1 1 0 0 1 1-1zm3 7v2h8V9H8z\"}}]}]})(props);\n};\nexport function RiBookmark2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h14a1 1 0 0 1 1 1v19.143a.5.5 0 0 1-.766.424L12 18.03l-7.234 4.536A.5.5 0 0 1 4 22.143V3a1 1 0 0 1 1-1zm13 2H6v15.432l6-3.761 6 3.761V4zM8 9h8v2H8V9z\"}}]}]})(props);\n};\nexport function RiBookmark3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2h16a1 1 0 0 1 1 1v19.276a.5.5 0 0 1-.704.457L12 19.03l-8.296 3.702A.5.5 0 0 1 3 22.276V3a1 1 0 0 1 1-1zm8 11.5l2.939 1.545-.561-3.272 2.377-2.318-3.286-.478L12 6l-1.47 2.977-3.285.478 2.377 2.318-.56 3.272L12 13.5z\"}}]}]})(props);\n};\nexport function RiBookmark3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2h16a1 1 0 0 1 1 1v19.276a.5.5 0 0 1-.704.457L12 19.03l-8.296 3.702A.5.5 0 0 1 3 22.276V3a1 1 0 0 1 1-1zm15 17.965V4H5v15.965l7-3.124 7 3.124zM12 13.5l-2.939 1.545.561-3.272-2.377-2.318 3.286-.478L12 6l1.47 2.977 3.285.478-2.377 2.318.56 3.272L12 13.5z\"}}]}]})(props);\n};\nexport function RiBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h14a1 1 0 0 1 1 1v19.143a.5.5 0 0 1-.766.424L12 18.03l-7.234 4.536A.5.5 0 0 1 4 22.143V3a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiBookmarkLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h14a1 1 0 0 1 1 1v19.143a.5.5 0 0 1-.766.424L12 18.03l-7.234 4.536A.5.5 0 0 1 4 22.143V3a1 1 0 0 1 1-1zm13 2H6v15.432l6-3.761 6 3.761V4z\"}}]}]})(props);\n};\nexport function RiBriefcase2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zm10 8v-3h-2v3H9v-3H7v3H4v6h16v-6h-3zM9 3v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcase2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zm13 8H4v6h16v-6zm0-6H4v4h3V9h2v2h6V9h2v2h3V7zM9 3v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcase3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zm10 2v5h3V7h-3zm-2 0H9v5h6V7zM7 7H4v5h3V7zm2-4v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcase3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zm8 2H9v12h6V7zM7 7H4v12h3V7zm10 0v12h3V7h-3zM9 3v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcase4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13v3h6v-3h7v7a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7h7zm2-2h2v3h-2v-3zM7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v5h-7V9H9v2H2V6a1 1 0 0 1 1-1h4zm2-2v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcase4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zm2 8H4v6h16v-6h-5v3H9v-3zm11-6H4v4h5V9h6v2h5V7zm-9 4v3h2v-3h-2zM9 3v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcase5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zm-1 8V7H4v6h2zm2-6v6h3v-2h2v2h3V7H8zm10 6h2V7h-2v6zM9 3v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcase5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zm9 10h-3v1h-2v-1H8v4h8v-4zM8 7v6h3v-1h2v1h3V7H8zm-2 6V7H4v6h2zm12 0h2V7h-2v6zM6 15H4v4h2v-4zm12 0v4h2v-4h-2zM9 3v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zM4 15v4h16v-4H4zm7-4v2h2v-2h-2zM9 3v2h6V3H9z\"}}]}]})(props);\n};\nexport function RiBriefcaseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4zM4 16v3h16v-3H4zm0-2h16V7H4v7zM9 3v2h6V3H9zm2 8h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiBubbleChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16c1.657 0 3 1.343 3 3s-1.343 3-3 3-3-1.343-3-3 1.343-3 3-3zM6 12c2.21 0 4 1.79 4 4s-1.79 4-4 4-4-1.79-4-4 1.79-4 4-4zm8.5-10C17.538 2 20 4.462 20 7.5S17.538 13 14.5 13 9 10.538 9 7.5 11.462 2 14.5 2z\"}}]}]})(props);\n};\nexport function RiBubbleChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16c1.657 0 3 1.343 3 3s-1.343 3-3 3-3-1.343-3-3 1.343-3 3-3zM6 12c2.21 0 4 1.79 4 4s-1.79 4-4 4-4-1.79-4-4 1.79-4 4-4zm10 6c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zM6 14c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2zm8.5-12C17.538 2 20 4.462 20 7.5S17.538 13 14.5 13 9 10.538 9 7.5 11.462 2 14.5 2zm0 2C12.567 4 11 5.567 11 7.5s1.567 3.5 3.5 3.5S18 9.433 18 7.5 16.433 4 14.5 4z\"}}]}]})(props);\n};\nexport function RiCalculatorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 10v2h2v-2H7zm0 4v2h2v-2H7zm4-4v2h2v-2h-2zm0 4v2h2v-2h-2zm4-4v6h2v-6h-2zM7 6v4h10V6H7z\"}}]}]})(props);\n};\nexport function RiCalculatorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm1 2v16h14V4H5zm2 2h10v4H7V6zm0 6h2v2H7v-2zm0 4h2v2H7v-2zm4-4h2v2h-2v-2zm0 4h2v2h-2v-2zm4-4h2v6h-2v-6z\"}}]}]})(props);\n};\nexport function RiCalendar2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zM4 9v10h16V9H4zm2 2h2v2H6v-2zm5 0h2v2h-2v-2zm5 0h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiCalendar2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zm3 8H4v8h16v-8zm-5-6H9v2H7V5H4v4h16V5h-3v2h-2V5zm-9 8h2v2H6v-2zm5 0h2v2h-2v-2zm5 0h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiCalendarCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2zm11 7H4v11h16V8zm-4.964 2.136l1.414 1.414-4.95 4.95-3.536-3.536L9.38 11.55l2.121 2.122 3.536-3.536z\"}}]}]})(props);\n};\nexport function RiCalendarCheckLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2zm11 9H4v9h16v-9zm-4.964 1.136l1.414 1.414-4.95 4.95-3.536-3.536L9.38 12.55l2.121 2.122 3.536-3.536zM7 5H4v3h16V5h-3v1h-2V5H9v1H7V5z\"}}]}]})(props);\n};\nexport function RiCalendarEventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zM4 9v10h16V9H4zm2 4h5v4H6v-4z\"}}]}]})(props);\n};\nexport function RiCalendarEventLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zm3 6V5h-3v2h-2V5H9v2H7V5H4v4h16zm0 2H4v8h16v-8zM6 13h5v4H6v-4z\"}}]}]})(props);\n};\nexport function RiCalendarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11h20v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-9zm15-8h4a1 1 0 0 1 1 1v5H2V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2z\"}}]}]})(props);\n};\nexport function RiCalendarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z\"}}]}]})(props);\n};\nexport function RiCalendarTodoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zM4 9v10h16V9H4zm2 2h2v2H6v-2zm0 4h2v2H6v-2zm4-4h8v2h-8v-2zm0 4h5v2h-5v-2z\"}}]}]})(props);\n};\nexport function RiCalendarTodoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8zM6 14h2v2H6v-2zm4 0h8v2h-8v-2z\"}}]}]})(props);\n};\nexport function RiCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7a8.003 8.003 0 0 0-7.493 5.19l1.874.703A6.002 6.002 0 0 1 23 15a6 6 0 0 1-6 6H7A6 6 0 0 1 5.008 9.339a7 7 0 0 1 13.757-2.143A8.027 8.027 0 0 0 17 7z\"}}]}]})(props);\n};\nexport function RiCloudLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 21H7A6 6 0 0 1 5.008 9.339a7 7 0 1 1 13.984 0A6 6 0 0 1 17 21zm0-12a5 5 0 1 0-9.994.243l.07 1.488-1.404.494A4.002 4.002 0 0 0 7 19h10a4 4 0 1 0-3.796-5.265l-1.898-.633A6.003 6.003 0 0 1 17 9z\"}}]}]})(props);\n};\nexport function RiCloudOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.515 2.1l19.092 19.092-1.415 1.415-2.014-2.015A5.985 5.985 0 0 1 17 21H7A6 6 0 0 1 5.008 9.339a6.992 6.992 0 0 1 .353-2.563L2.1 3.514 3.515 2.1zM17 9a6.003 6.003 0 0 1 5.204 8.989L14.01 9.796C14.89 9.29 15.91 9 17 9zm-5-7a7.003 7.003 0 0 1 6.765 5.195 8.027 8.027 0 0 0-6.206 1.15L7.694 3.48A6.97 6.97 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiCloudOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.515 2.1l19.092 19.092-1.415 1.415-2.014-2.015A5.985 5.985 0 0 1 17 21H7A6 6 0 0 1 5.008 9.339a6.992 6.992 0 0 1 .353-2.563L2.1 3.514 3.515 2.1zM7 9c0 .081.002.163.006.243l.07 1.488-1.404.494A4.002 4.002 0 0 0 7 19h10c.186 0 .369-.013.548-.037L7.03 8.445C7.01 8.627 7 8.812 7 9zm5-7a7 7 0 0 1 6.992 7.339 6.003 6.003 0 0 1 3.212 8.65l-1.493-1.493a3.999 3.999 0 0 0-5.207-5.206L14.01 9.795C14.891 9.29 15.911 9 17 9a5 5 0 0 0-7.876-4.09l-1.43-1.43A6.97 6.97 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiCopyleftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.48 22 2 17.52 2 12S6.48 2 12 2s10 4.48 10 10-4.48 10-10 10zm0-5c2.76 0 5-2.24 5-5s-2.24-5-5-5c-1.82 0-3.413.973-4.288 2.428l1.715 1.028C9.952 9.583 10.907 9 12 9c1.658 0 3 1.342 3 3s-1.342 3-3 3c-1.093 0-2.05-.584-2.574-1.457l-1.714 1.03C8.587 16.026 10.18 17 12 17z\"}}]}]})(props);\n};\nexport function RiCopyleftLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.48 22 2 17.52 2 12S6.48 2 12 2s10 4.48 10 10-4.48 10-10 10zm0-2c4.42 0 8-3.58 8-8s-3.58-8-8-8-8 3.58-8 8 3.58 8 8 8zm0-3c-1.82 0-3.413-.973-4.288-2.428l1.714-1.029C9.951 14.416 10.907 15 12 15c1.658 0 3-1.342 3-3s-1.342-3-3-3c-1.093 0-2.048.583-2.573 1.456L7.712 9.428C8.587 7.973 10.18 7 12 7c2.76 0 5 2.24 5 5s-2.24 5-5 5z\"}}]}]})(props);\n};\nexport function RiCopyrightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 5c-2.76 0-5 2.24-5 5s2.24 5 5 5c1.82 0 3.413-.973 4.288-2.428l-1.715-1.028A3 3 0 1 1 12 9c1.093 0 2.05.584 2.574 1.457l1.714-1.03A4.999 4.999 0 0 0 12 7z\"}}]}]})(props);\n};\nexport function RiCopyrightLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 3c1.82 0 3.413.973 4.288 2.428l-1.714 1.029A3 3 0 1 0 12 15a2.998 2.998 0 0 0 2.573-1.456l1.715 1.028A4.999 4.999 0 0 1 7 12c0-2.76 2.24-5 5-5z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsByFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm2 8h-4a1 1 0 0 0-.993.883L9 11v4h1.5v4h3v-4H15v-4a1 1 0 0 0-.883-.993L14 10zm-2-5a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsByLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm2 6a1 1 0 0 1 1 1v4h-1.5v4h-3v-4H9v-4a1 1 0 0 1 1-1h4zm-2-5a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zM9 8c-2.208 0-4 1.792-4 4a4.001 4.001 0 0 0 6.669 2.979l.159-.151-1.414-1.414a2 2 0 1 1-.125-2.943l.126.116 1.414-1.414A3.988 3.988 0 0 0 9 8zm7 0c-2.208 0-4 1.792-4 4a4.001 4.001 0 0 0 6.669 2.979l.159-.151-1.414-1.414a2 2 0 1 1-.125-2.943l.126.116 1.414-1.414A3.988 3.988 0 0 0 16 8z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zM9 8c1.105 0 2.105.448 2.829 1.173l-1.414 1.414a2 2 0 1 0-.001 2.828l1.414 1.413A4.001 4.001 0 0 1 5 12c0-2.208 1.792-4 4-4zm7 0c1.105 0 2.105.448 2.829 1.173l-1.414 1.414a2 2 0 1 0-.001 2.828l1.414 1.413A4.001 4.001 0 0 1 12 12c0-2.208 1.792-4 4-4z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsNcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.256 5.672l3.58 3.577a2.5 2.5 0 0 0 2 3.746L10 13h4l.09.008a.5.5 0 0 1 0 .984L14 14H8.5v2H11v2h2v-2h1c.121 0 .24-.009.357-.025l.173-.031 3.798 3.8A9.959 9.959 0 0 1 12 22C6.477 22 2 17.523 2 12c0-2.4.846-4.604 2.256-6.328zM12 2c5.523 0 10 4.477 10 10 0 2.4-.846 4.604-2.256 6.328l-3.579-3.577a2.5 2.5 0 0 0-2-3.745L14 11h-4l-.09-.008a.5.5 0 0 1 0-.984L10 10h5.5V8H13V6h-2v2h-1c-.121 0-.24.009-.356.025l-.173.031-3.799-3.8A9.959 9.959 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsNcLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10 0 2.4-.846 4.604-2.256 6.328l.034.036-1.414 1.414-.036-.034A9.959 9.959 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2zM4 12a8 8 0 0 0 12.905 6.32l-2.375-2.376A2.51 2.51 0 0 1 14 16h-1v2h-2v-2H8.5v-2H14a.5.5 0 0 0 .09-.992L14 13h-4a2.5 2.5 0 0 1-2.165-3.75L5.679 7.094A7.965 7.965 0 0 0 4 12zm8-8c-1.848 0-3.55.627-4.905 1.68L9.47 8.055A2.51 2.51 0 0 1 10 8h1V6h2v2h2.5v2H10a.5.5 0 0 0-.09.992L10 11h4a2.5 2.5 0 0 1 2.165 3.75l2.156 2.155A8 8 0 0 0 12 4z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsNdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm4 11H8v2h8v-2zm0-4H8v2h8V9z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsNdLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm4 9v2H8v-2h8zm0-4v2H8V9h8z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsSaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 4C9.895 6 8.094 7.56 7.357 9.77l-.073.23H6l2.5 3 2.5-3H9.401C9.92 8.805 10.89 8 12 8c1.657 0 3 1.79 3 4s-1.343 4-3 4c-1.048 0-1.971-.717-2.508-1.803L9.402 14H7.285C7.97 16.33 9.823 18 12 18c2.761 0 5-2.686 5-6s-2.239-6-5-6z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsSaLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 2c-4.415 0-8 3.585-8 8s3.585 8 8 8 8-3.585 8-8-3.585-8-8-8zm0 2c2.761 0 5 2.686 5 6s-2.239 6-5 6c-2.177 0-4.029-1.67-4.715-4l2.117.001C9.92 15.196 10.89 16 12 16c1.657 0 3-1.79 3-4s-1.343-4-3-4c-1.11 0-2.08.805-2.599 2H11l-2.5 3L6 10h1.284C7.971 7.67 9.823 6 12 6z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsZeroFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 4c-2.761 0-5 2.686-5 6s2.239 6 5 6 5-2.686 5-6-2.239-6-5-6zm2.325 3.472c.422.69.675 1.57.675 2.528 0 2.21-1.343 4-3 4-.378 0-.74-.093-1.073-.263l-.164-.092 3.562-6.173zM12 8c.378 0 .74.093 1.073.263l.164.092-3.562 6.173C9.253 13.838 9 12.958 9 12c0-2.21 1.343-4 3-4z\"}}]}]})(props);\n};\nexport function RiCreativeCommonsZeroLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 2c-4.415 0-8 3.585-8 8s3.585 8 8 8 8-3.585 8-8-3.585-8-8-8zm0 2c2.761 0 5 2.686 5 6s-2.239 6-5 6-5-2.686-5-6 2.239-6 5-6zm2.325 3.472l-3.562 6.173c.377.228.796.355 1.237.355 1.657 0 3-1.79 3-4 0-.959-.253-1.839-.675-2.528zM12 8c-1.657 0-3 1.79-3 4 0 .959.253 1.839.675 2.528l3.562-6.173A2.377 2.377 0 0 0 12 8z\"}}]}]})(props);\n};\nexport function RiCustomerService2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-1.062A8.001 8.001 0 0 1 12 23v-2a6 6 0 0 0 6-6V9A6 6 0 1 0 6 9v7H3a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1.062a8.001 8.001 0 0 1 15.876 0H21zM7.76 15.785l1.06-1.696A5.972 5.972 0 0 0 12 15a5.972 5.972 0 0 0 3.18-.911l1.06 1.696A7.963 7.963 0 0 1 12 17a7.963 7.963 0 0 1-4.24-1.215z\"}}]}]})(props);\n};\nexport function RiCustomerService2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.938 8H21a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-1.062A8.001 8.001 0 0 1 12 23v-2a6 6 0 0 0 6-6V9A6 6 0 1 0 6 9v7H3a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1.062a8.001 8.001 0 0 1 15.876 0zM3 10v4h1v-4H3zm17 0v4h1v-4h-1zM7.76 15.785l1.06-1.696A5.972 5.972 0 0 0 12 15a5.972 5.972 0 0 0 3.18-.911l1.06 1.696A7.963 7.963 0 0 1 12 17a7.963 7.963 0 0 1-4.24-1.215z\"}}]}]})(props);\n};\nexport function RiCustomerServiceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17.002a6.002 6.002 0 0 1-4.713 5.86l-.638-1.914A4.003 4.003 0 0 0 19.465 19H17a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.938a8.001 8.001 0 0 0-15.876 0H7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5C2 6.477 6.477 2 12 2s10 4.477 10 10V17.002z\"}}]}]})(props);\n};\nexport function RiCustomerServiceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 17.002a6.002 6.002 0 0 1-4.713 5.86l-.638-1.914A4.003 4.003 0 0 0 19.465 19H17a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h2.938a8.001 8.001 0 0 0-15.876 0H7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-5C2 6.477 6.477 2 12 2s10 4.477 10 10V17.002zM20 17v-4h-3v4h3zM4 13v4h3v-4H4z\"}}]}]})(props);\n};\nexport function RiDonutChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.05v3.02C7.608 5.557 5 8.475 5 12c0 3.866 3.134 7 7 7 1.572 0 3.024-.518 4.192-1.394l2.137 2.137C16.605 21.153 14.4 22 12 22 6.477 22 2 17.523 2 12c0-5.185 3.947-9.449 9-9.95zM21.95 13c-.2 2.011-.994 3.847-2.207 5.328l-2.137-2.136c.687-.916 1.153-2.006 1.323-3.192h3.022zM13.002 2.05c4.724.469 8.48 4.226 8.95 8.95h-3.022c-.438-3.065-2.863-5.49-5.928-5.929V2.049z\"}}]}]})(props);\n};\nexport function RiDonutChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.05v2.012C7.054 4.554 4 7.92 4 12c0 4.418 3.582 8 8 8 1.849 0 3.55-.627 4.906-1.68l1.423 1.423C16.605 21.153 14.4 22 12 22 6.477 22 2 17.523 2 12c0-5.185 3.947-9.449 9-9.95zM21.95 13c-.2 2.011-.994 3.847-2.207 5.328l-1.423-1.422c.86-1.107 1.436-2.445 1.618-3.906h2.013zM13.002 2.05c4.724.469 8.48 4.226 8.95 8.95h-2.013c-.451-3.618-3.319-6.486-6.937-6.938V2.049z\"}}]}]})(props);\n};\nexport function RiFlag2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h19.138a.5.5 0 0 1 .435.748L18 10l3.573 6.252a.5.5 0 0 1-.435.748H4v5H2V3z\"}}]}]})(props);\n};\nexport function RiFlag2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17v5H2V3h19.138a.5.5 0 0 1 .435.748L18 10l3.573 6.252a.5.5 0 0 1-.435.748H4zM4 5v10h14.554l-2.858-5 2.858-5H4z\"}}]}]})(props);\n};\nexport function RiFlagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h9.382a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5v6H3V3z\"}}]}]})(props);\n};\nexport function RiFlagLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16v6H3V3h9.382a1 1 0 0 1 .894.553L14 5h6a1 1 0 0 1 1 1v11a1 1 0 0 1-1 1h-6.382a1 1 0 0 1-.894-.553L12 16H5zM5 5v9h8.236l1 2H19V7h-6.236l-1-2H5z\"}}]}]})(props);\n};\nexport function RiGlobalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.05 13h5.477a17.9 17.9 0 0 0 2.925 8.88A10.005 10.005 0 0 1 2.05 13zm0-2a10.005 10.005 0 0 1 8.402-8.88A17.9 17.9 0 0 0 7.527 11H2.05zm19.9 0h-5.477a17.9 17.9 0 0 0-2.925-8.88A10.005 10.005 0 0 1 21.95 11zm0 2a10.005 10.005 0 0 1-8.402 8.88A17.9 17.9 0 0 0 16.473 13h5.478zM9.53 13h4.94A15.908 15.908 0 0 1 12 20.592 15.908 15.908 0 0 1 9.53 13zm0-2A15.908 15.908 0 0 1 12 3.408 15.908 15.908 0 0 1 14.47 11H9.53z\"}}]}]})(props);\n};\nexport function RiGlobalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.008 8.008 0 0 0 5.648 6.667zM10.03 13c.151 2.439.848 4.73 1.97 6.752A15.905 15.905 0 0 0 13.97 13h-3.94zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.008 8.008 0 0 0 19.938 13zM4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333 8.008 8.008 0 0 0 4.062 11zm5.969 0h3.938A15.905 15.905 0 0 0 12 4.248 15.905 15.905 0 0 0 10.03 11zm4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.008 8.008 0 0 0-5.648-6.667z\"}}]}]})(props);\n};\nexport function RiHonourFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4v14.721a.5.5 0 0 1-.298.458L12 23.03 3.298 19.18A.5.5 0 0 1 3 18.72V4H1V2h22v2h-2zM8 12v2h8v-2H8zm0-4v2h8V8H8z\"}}]}]})(props);\n};\nexport function RiHonourLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4v14.721a.5.5 0 0 1-.298.458L12 23.03 3.298 19.18A.5.5 0 0 1 3 18.72V4H1V2h22v2h-2zM5 4v13.745l7 3.1 7-3.1V4H5zm3 4h8v2H8V8zm0 4h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiInboxArchiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16l2 4v13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.004L4 3zm9 11v-4h-2v4H8l4 4 4-4h-3zm6.764-7l-1-2H5.237l-1 2h15.527z\"}}]}]})(props);\n};\nexport function RiInboxArchiveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16l2 4v13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.004L4 3zm16 6H4v10h16V9zm-.236-2l-1-2H5.237l-1 2h15.527zM13 14h3l-4 4-4-4h3v-4h2v4z\"}}]}]})(props);\n};\nexport function RiInboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm6 9a3 3 0 0 0 6 0h5V5H4v7h5z\"}}]}]})(props);\n};\nexport function RiInboxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 11h-3.416a5.001 5.001 0 0 1-9.168 0H4v5h16v-5zm0-2V5H4v7h5a3 3 0 0 0 6 0h5z\"}}]}]})(props);\n};\nexport function RiInboxUnarchiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20 3l2 4v13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.004L4 3h16zm-8 7l-4 4h3v4h2v-4h3l-4-4zm6.764-5H5.236l-.999 2h15.527l-1-2z\"}}]}]})(props);\n};\nexport function RiInboxUnarchiveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20 3l2 4v13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.004L4 3h16zm0 6H4v10h16V9zm-8 1l4 4h-3v4h-2v-4H8l4-4zm6.764-5H5.236l-.999 2h15.527l-1-2z\"}}]}]})(props);\n};\nexport function RiLineChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3v16h16v2H3V3h2zm14.94 2.94l2.12 2.12L16 14.122l-3-3-3.94 3.94-2.12-2.122L13 6.88l3 3 3.94-3.94z\"}}]}]})(props);\n};\nexport function RiLineChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3v16h16v2H3V3h2zm15.293 3.293l1.414 1.414L16 13.414l-3-2.999-4.293 4.292-1.414-1.414L13 7.586l3 2.999 4.293-4.292z\"}}]}]})(props);\n};\nexport function RiLinksFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.06 8.11l1.415 1.415a7 7 0 0 1 0 9.9l-.354.353a7 7 0 0 1-9.9-9.9l1.415 1.415a5 5 0 1 0 7.071 7.071l.354-.354a5 5 0 0 0 0-7.07l-1.415-1.415 1.415-1.414zm6.718 6.011l-1.414-1.414a5 5 0 1 0-7.071-7.071l-.354.354a5 5 0 0 0 0 7.07l1.415 1.415-1.415 1.414-1.414-1.414a7 7 0 0 1 0-9.9l.354-.353a7 7 0 0 1 9.9 9.9z\"}}]}]})(props);\n};\nexport function RiLinksLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.06 8.11l1.415 1.415a7 7 0 0 1 0 9.9l-.354.353a7 7 0 0 1-9.9-9.9l1.415 1.415a5 5 0 1 0 7.071 7.071l.354-.354a5 5 0 0 0 0-7.07l-1.415-1.415 1.415-1.414zm6.718 6.011l-1.414-1.414a5 5 0 1 0-7.071-7.071l-.354.354a5 5 0 0 0 0 7.07l1.415 1.415-1.415 1.414-1.414-1.414a7 7 0 0 1 0-9.9l.354-.353a7 7 0 0 1 9.9 9.9z\"}}]}]})(props);\n};\nexport function RiMailAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13.341A6 6 0 0 0 14.341 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v9.341zm-9.94-1.658L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439zM21 18h3v2h-3v3h-2v-3h-3v-2h3v-3h2v3z\"}}]}]})(props);\n};\nexport function RiMailAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13h-2V7.238l-7.928 7.1L4 7.216V19h10v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v9zM4.511 5l7.55 6.662L19.502 5H4.511zM21 18h3v2h-3v3h-2v-3h-3v-2h3v-3h2v3z\"}}]}]})(props);\n};\nexport function RiMailCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13.341A6 6 0 0 0 14.341 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v9.341zm-9.94-1.658L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439zM19 22l-3.536-3.536 1.415-1.414L19 19.172l3.536-3.536 1.414 1.414L19 22z\"}}]}]})(props);\n};\nexport function RiMailCheckLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 14h-2V7.238l-7.928 7.1L4 7.216V19h10v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v10zM4.511 5l7.55 6.662L19.502 5H4.511zM19 22l-3.536-3.536 1.415-1.414L19 19.172l3.536-3.536 1.414 1.414L19 22z\"}}]}]})(props);\n};\nexport function RiMailCloseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13.341A6 6 0 0 0 14.341 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v9.341zm-9.94-1.658L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439zM21.415 19l2.122 2.121-1.415 1.415L20 20.414l-2.121 2.122-1.415-1.415L18.586 19l-2.122-2.121 1.415-1.415L20 17.586l2.121-2.122 1.415 1.415L21.414 19z\"}}]}]})(props);\n};\nexport function RiMailCloseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 14h-2V7.238l-7.928 7.1L4 7.216V19h11v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v10zM4.511 5l7.55 6.662L19.502 5H4.511zm16.903 14l2.122 2.121-1.415 1.415L20 20.414l-2.121 2.122-1.415-1.415L18.586 19l-2.122-2.121 1.415-1.415L20 17.586l2.121-2.122 1.415 1.415L21.414 19z\"}}]}]})(props);\n};\nexport function RiMailDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12.803A6 6 0 0 0 13.803 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v8.803zm-9.94-1.12L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439zM20 18h3l-4 4-4-4h3v-4h2v4z\"}}]}]})(props);\n};\nexport function RiMailDownloadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7.238l-7.928 7.1L4 7.216V19h9v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v8h-2V7.238zM19.501 5H4.511l7.55 6.662L19.502 5zM20 18h3l-4 4-4-4h3v-4h2v4z\"}}]}]})(props);\n};\nexport function RiMailFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm9.06 8.683L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439z\"}}]}]})(props);\n};\nexport function RiMailForbidFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.266 11.554l4.388-3.798-1.308-1.512-6.285 5.439-6.414-5.445-1.294 1.524 7.702 6.54A6.967 6.967 0 0 0 11 18c0 1.074.242 2.09.674 3H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v8.255A6.968 6.968 0 0 0 18 11c-.97 0-1.894.197-2.734.554zm1.44 9.154a3 3 0 0 0 4.001-4.001l-4 4zm-1.414-1.415l4.001-4a3 3 0 0 0-4.001 4.001zM18 23a5 5 0 1 1 0-10 5 5 0 0 1 0 10z\"}}]}]})(props);\n};\nexport function RiMailForbidLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7.238l-7.928 7.1L4 7.216V19h7.07a6.95 6.95 0 0 0 .604 2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v8.255a6.972 6.972 0 0 0-2-.965V7.238zM19.501 5H4.511l7.55 6.662L19.502 5zm-2.794 15.708a3 3 0 0 0 4.001-4.001l-4.001 4zm-1.415-1.415l4.001-4a3 3 0 0 0-4.001 4.001zM18 23a5 5 0 1 1 0-10 5 5 0 0 1 0 10z\"}}]}]})(props);\n};\nexport function RiMailLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 4.238l-7.928 7.1L4 7.216V19h16V7.238zM4.511 5l7.55 6.662L19.502 5H4.511z\"}}]}]})(props);\n};\nexport function RiMailLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12a5.002 5.002 0 0 0-7.9 3H13v6H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v8zm-9.94-.317L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439zM22 17h1v5h-8v-5h1v-1a3 3 0 0 1 6 0v1zm-2 0v-1a1 1 0 0 0-2 0v1h2z\"}}]}]})(props);\n};\nexport function RiMailLockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7.238l-7.928 7.1L4 7.216V19h9v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v7h-2V7.238zM19.501 5H4.511l7.55 6.662L19.502 5zM22 17h1v5h-8v-5h1v-1a3 3 0 0 1 6 0v1zm-2 0v-1a1 1 0 0 0-2 0v1h2z\"}}]}]})(props);\n};\nexport function RiMailOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.243 6.854L11.49 1.31a1 1 0 0 1 1.029 0l9.238 5.545a.5.5 0 0 1 .243.429V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.283a.5.5 0 0 1 .243-.429zm16.103 1.39l-6.285 5.439-6.414-5.445-1.294 1.524 7.72 6.555 7.581-6.56-1.308-1.513z\"}}]}]})(props);\n};\nexport function RiMailOpenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.243 6.854L11.49 1.31a1 1 0 0 1 1.029 0l9.238 5.545a.5.5 0 0 1 .243.429V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7.283a.5.5 0 0 1 .243-.429zM4 8.133V19h16V8.132l-7.996-4.8L4 8.132zm8.06 5.565l5.296-4.463 1.288 1.53-6.57 5.537-6.71-5.53 1.272-1.544 5.424 4.47z\"}}]}]})(props);\n};\nexport function RiMailSendFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5.5V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V19h18V7.3l-8 7.2-10-9zM0 10h5v2H0v-2zm0 5h8v2H0v-2z\"}}]}]})(props);\n};\nexport function RiMailSendLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20.007a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V19h18V7.3l-8 7.2-10-9V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v16.007zM4.434 5L12 11.81 19.566 5H4.434zM0 15h8v2H0v-2zm0-5h5v2H0v-2z\"}}]}]})(props);\n};\nexport function RiMailSettingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13.341A6 6 0 0 0 14.341 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v9.341zm-9.94-1.658L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439zm4.99 7.865a3.017 3.017 0 0 1 0-1.096l-1.014-.586 1-1.732 1.014.586c.278-.238.599-.425.95-.55V15h2v1.17c.351.125.672.312.95.55l1.014-.586 1 1.732-1.014.586a3.017 3.017 0 0 1 0 1.096l1.014.586-1 1.732-1.014-.586a2.997 2.997 0 0 1-.95.55V23h-2v-1.17a2.997 2.997 0 0 1-.95-.55l-1.014.586-1-1.732 1.014-.586zM20 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiMailSettingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7.238l-7.928 7.1L4 7.216V19h10v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v9h-2V7.238zM19.501 5H4.511l7.55 6.662L19.502 5zM17.05 19.548a3.017 3.017 0 0 1 0-1.096l-1.014-.586 1-1.732 1.014.586c.278-.238.599-.425.95-.55V15h2v1.17c.351.125.672.312.95.55l1.014-.586 1 1.732-1.014.586a3.017 3.017 0 0 1 0 1.096l1.014.586-1 1.732-1.014-.586a2.997 2.997 0 0 1-.95.55V23h-2v-1.17a2.997 2.997 0 0 1-.95-.55l-1.014.586-1-1.732 1.014-.586zM20 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiMailStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 14.044A6 6 0 0 0 13.689 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v10.044zm-9.94-2.361L5.648 6.238 4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.285 5.439zM19.5 21.75l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L19.5 15l1.323 2.68 2.957.43-2.14 2.085.505 2.946L19.5 21.75z\"}}]}]})(props);\n};\nexport function RiMailStarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13h-2V7.238l-7.928 7.1L4 7.216V19h10v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v9zM4.511 5l7.55 6.662L19.502 5H4.511zM19.5 21.75l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L19.5 15l1.323 2.68 2.957.43-2.14 2.085.505 2.946L19.5 21.75z\"}}]}]})(props);\n};\nexport function RiMailUnreadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.803 8.493A5.023 5.023 0 0 0 22 8.9V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h13.1c-.066.323-.1.658-.1 1a4.98 4.98 0 0 0 1.193 3.241l-5.132 4.442-6.414-5.445-1.294 1.524 7.72 6.555 6.73-5.824zM21 7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiMailUnreadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.1 3a5.023 5.023 0 0 0 0 2H4.511l7.55 6.662 5.049-4.52c.426.527.958.966 1.563 1.285l-6.601 5.911L4 7.216V19h16V8.9a5.023 5.023 0 0 0 2 0V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h13.1zM21 7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiMailVolumeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14.5v9L16.667 21H14v-4h2.667L20 14.5zM21 3a1 1 0 0 1 1 1v10.529A6 6 0 0 0 12.34 21L3.002 21a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 14a2 2 0 0 1 .15 3.995L21 21v-4zM5.647 6.238L4.353 7.762l7.72 6.555 7.581-6.56-1.308-1.513-6.286 5.438-6.413-5.444z\"}}]}]})(props);\n};\nexport function RiMailVolumeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14.5v9L16.667 21H14v-4h2.667L20 14.5zM21 3a1 1 0 0 1 1 1v9h-2V7.237l-7.928 7.101L4 7.215V19h8v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 14a2 2 0 0 1 .15 3.995L21 21v-4zM19.5 5H4.511l7.55 6.662L19.5 5z\"}}]}]})(props);\n};\nexport function RiMedal2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8.5l2.116 5.088 5.492.44-4.184 3.584 1.278 5.36L12 20.1l-4.702 2.872 1.278-5.36-4.184-3.584 5.492-.44L12 8.5zM8 2v9H6V2h2zm10 0v9h-2V2h2zm-5 0v5h-2V2h2z\"}}]}]})(props);\n};\nexport function RiMedal2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 8.5l2.116 5.088 5.492.44-4.184 3.584 1.278 5.36L12 20.1l-4.702 2.872 1.278-5.36-4.184-3.584 5.492-.44L12 8.5zm0 5.207l-.739 1.777-1.916.153 1.46 1.251-.447 1.871L12 17.756l1.641 1.003-.446-1.87 1.459-1.252-1.915-.153L12 13.707zM8 2v9H6V2h2zm10 0v9h-2V2h2zm-5 0v5h-2V2h2z\"}}]}]})(props);\n};\nexport function RiMedalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm0 3.5l-1.323 2.68-2.957.43 2.14 2.085-.505 2.946L12 17.25l2.645 1.39-.505-2.945 2.14-2.086-2.957-.43L12 10.5zm1-8.501L18 2v3l-1.363 1.138A9.935 9.935 0 0 0 13 5.049L13 2zm-2 0v3.05a9.935 9.935 0 0 0-3.636 1.088L6 5V2l5-.001z\"}}]}]})(props);\n};\nexport function RiMedalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 7a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm0 2a6 6 0 1 0 0 12 6 6 0 0 0 0-12zm0 1.5l1.323 2.68 2.957.43-2.14 2.085.505 2.946L12 17.25l-2.645 1.39.505-2.945-2.14-2.086 2.957-.43L12 10.5zM18 2v3l-1.363 1.138A9.935 9.935 0 0 0 13 5.049L13 2 18 2zm-7-.001v3.05a9.935 9.935 0 0 0-3.636 1.088L6 5V2l5-.001z\"}}]}]})(props);\n};\nexport function RiPieChart2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.05V13h10.95c-.501 5.053-4.765 9-9.95 9-5.523 0-10-4.477-10-10 0-5.185 3.947-9.449 9-9.95zm2-1.507C18.553 1.02 22.979 5.447 23.457 11H13V.543z\"}}]}]})(props);\n};\nexport function RiPieChart2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 .543c.33-.029.663-.043 1-.043C18.351.5 23.5 5.649 23.5 12c0 .337-.014.67-.043 1h-1.506c-.502 5.053-4.766 9-9.951 9-5.523 0-10-4.477-10-10 0-5.185 3.947-9.449 9-9.95V.542zM11 13V4.062A8.001 8.001 0 0 0 12 20a8.001 8.001 0 0 0 7.938-7H11zm10.448-2A9.503 9.503 0 0 0 13 2.552V11h8.448z\"}}]}]})(props);\n};\nexport function RiPieChartBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm13.9 10H11V7.1a5.002 5.002 0 0 0 1 9.9 5.002 5.002 0 0 0 4.9-4zm0-2A5.006 5.006 0 0 0 13 7.1V11h3.9z\"}}]}]})(props);\n};\nexport function RiPieChartBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm12.9 8A5.002 5.002 0 0 1 7 12a5.002 5.002 0 0 1 4-4.9V13h5.9zm0-2H13V7.1a5.006 5.006 0 0 1 3.9 3.9z\"}}]}]})(props);\n};\nexport function RiPieChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.05V13h10.95c-.501 5.053-4.765 9-9.95 9-5.523 0-10-4.477-10-10 0-5.185 3.947-9.449 9-9.95zm2 0A10.003 10.003 0 0 1 21.95 11H13V2.05z\"}}]}]})(props);\n};\nexport function RiPieChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12c0-4.478 2.943-8.268 7-9.542v2.124A8.003 8.003 0 0 0 12 20a8.003 8.003 0 0 0 7.418-5h2.124c-1.274 4.057-5.064 7-9.542 7zm9.95-9H11V2.05c.329-.033.663-.05 1-.05 5.523 0 10 4.477 10 10 0 .337-.017.671-.05 1zM13 4.062V11h6.938A8.004 8.004 0 0 0 13 4.062z\"}}]}]})(props);\n};\nexport function RiPrinterCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.566 17A4.737 4.737 0 0 0 10 19.25c0 1.023.324 1.973.877 2.75H7v-5h3.566zm6.934-4a3.5 3.5 0 0 1 3.5 3.5l-.001.103a2.75 2.75 0 0 1-.581 5.392L20.25 22h-5.5l-.168-.005a2.75 2.75 0 0 1-.579-5.392L14 16.5a3.5 3.5 0 0 1 3.5-3.5zM21 8a1 1 0 0 1 1 1l.001 4.346A5.482 5.482 0 0 0 17.5 11l-.221.004A5.503 5.503 0 0 0 12.207 15H5v5H3a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h18zM8 10H5v2h3v-2zm9-8a1 1 0 0 1 1 1v3H6V3a1 1 0 0 1 1-1h10z\"}}]}]})(props);\n};\nexport function RiPrinterCloudLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2a1 1 0 0 1 1 1v4h3a1 1 0 0 1 1 1l.001 5.346a5.516 5.516 0 0 0-2-1.745L20 9H4v8h2v-1a1 1 0 0 1 1-1h5.207l-.071.283-.03.02A4.763 4.763 0 0 0 10.567 17L8 17v3h2.06a4.73 4.73 0 0 0 .817 2H7a1 1 0 0 1-1-1v-2H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1h10zm.5 11a3.5 3.5 0 0 1 3.5 3.5l-.001.103a2.75 2.75 0 0 1-.581 5.392L20.25 22h-5.5l-.168-.005a2.75 2.75 0 0 1-.579-5.392L14 16.5a3.5 3.5 0 0 1 3.5-3.5zm0 2a1.5 1.5 0 0 0-1.473 1.215l-.02.14L16 16.5v1.62l-1.444.406a.75.75 0 0 0 .08 1.466l.109.008h5.51a.75.75 0 0 0 .19-1.474l-1.013-.283L19 18.12V16.5l-.007-.144A1.5 1.5 0 0 0 17.5 15zM8 10v2H5v-2h3zm8-6H8v3h8V4z\"}}]}]})(props);\n};\nexport function RiPrinterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17h10v5H7v-5zm12 3v-5H5v5H3a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2zM5 10v2h3v-2H5zm2-8h10a1 1 0 0 1 1 1v3H6V3a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiPrinterLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-3v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2zm0-2v-1a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1h2V9H4v8h2zM8 4v3h8V4H8zm0 13v3h8v-3H8zm-3-7h3v2H5v-2z\"}}]}]})(props);\n};\nexport function RiProfileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM6 15v2h12v-2H6zm0-8v6h6V7H6zm8 0v2h4V7h-4zm0 4v2h4v-2h-4zM8 9h2v2H8V9z\"}}]}]})(props);\n};\nexport function RiProfileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM4 5v14h16V5H4zm2 2h6v6H6V7zm2 2v2h2V9H8zm-2 6h12v2H6v-2zm8-8h4v2h-4V7zm0 4h4v2h-4v-2z\"}}]}]})(props);\n};\nexport function RiProjector2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19v2h-2v-2H4v2H2v-2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h9.81a6.481 6.481 0 0 1 4.69-2c1.843 0 3.507.767 4.69 2H22a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1zm-5.5-5a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0-2a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zM4 13v2h2v-2H4zm4 0v2h2v-2H8z\"}}]}]})(props);\n};\nexport function RiProjector2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 19v2h-2v-2H4v2H2v-2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10.528A5.985 5.985 0 0 1 17 3c1.777 0 3.374.773 4.472 2H22a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1zM11.341 7H3v10h18v-3.528A6 6 0 0 1 11.341 7zM17 13a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM5 13h2v2H5v-2zm3 0h2v2H8v-2z\"}}]}]})(props);\n};\nexport function RiProjectorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.112 12a4.502 4.502 0 0 0 8.776 0H22v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8h9.112zM5 16h2v2H5v-2zm10.5-2.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zM11.112 10H2V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v6h-2.112a4.502 4.502 0 0 0-8.776 0z\"}}]}]})(props);\n};\nexport function RiProjectorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8.126 9H4v7h16v-7h-1.126a4.002 4.002 0 0 1-7.748 0zm0-2a4.002 4.002 0 0 1 7.748 0H20V5H4v5h7.126zM15 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-9 2h2v2H6v-2z\"}}]}]})(props);\n};\nexport function RiRecordMailFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.743 15h4.514a5.5 5.5 0 1 1 4.243 2h-13a5.5 5.5 0 1 1 4.243-2zM5.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiRecordMailLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.257 15a5.5 5.5 0 1 1 4.243 2h-13a5.5 5.5 0 1 1 4.243-2h4.514zM5.5 15a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zm13 0a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]}]})(props);\n};\nexport function RiRegisteredFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm.5 5H8v10h2v-3h2.217l2.18 3h2.472l-2.55-3.51a3.5 3.5 0 0 0-1.627-6.486l-.192-.004zm0 2a1.5 1.5 0 0 1 1.493 1.356L14 10.5l-.007.144a1.5 1.5 0 0 1-1.349 1.35L12.5 12H10V9h2.5z\"}}]}]})(props);\n};\nexport function RiRegisteredLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm.5 3a3.5 3.5 0 0 1 1.82 6.49L16.868 17h-2.472l-2.18-3H10v3H8V7h4.5zm0 2H10v3h2.5a1.5 1.5 0 0 0 1.493-1.356L14 10.5A1.5 1.5 0 0 0 12.5 9z\"}}]}]})(props);\n};\nexport function RiReplyAllFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V9c5.523 0 10 4.477 10 10 0 .273-.01.543-.032.81-1.463-2.774-4.33-4.691-7.655-4.805L16 15h-2v4.5L6 12l8-7.5zm-6 0v2.737L2.92 12l5.079 4.761L8 19.5 0 12l8-7.5z\"}}]}]})(props);\n};\nexport function RiReplyAllLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V9c5.523 0 10 4.477 10 10 0 .273-.01.543-.032.81-1.463-2.774-4.33-4.691-7.655-4.805L16 15h-2v4.5L6 12l8-7.5zm-6 0v2.737L2.92 12l5.079 4.761L8 19.5 0 12l8-7.5zm4 4.616L8.924 12 12 14.883V13h4.034l.347.007c1.285.043 2.524.31 3.676.766C18.59 12.075 16.42 11 14 11h-2V9.116z\"}}]}]})(props);\n};\nexport function RiReplyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20L1 12l10-8v5c5.523 0 10 4.477 10 10 0 .273-.01.543-.032.81C19.46 16.95 16.458 15 13 15h-2v5z\"}}]}]})(props);\n};\nexport function RiReplyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20L1 12l10-8v5c5.523 0 10 4.477 10 10 0 .273-.01.543-.032.81-1.463-2.774-4.33-4.691-7.655-4.805L13 15h-2v5zm-2-7h4.034l.347.007c1.285.043 2.524.31 3.676.766C15.59 12.075 13.42 11 11 11H9V8.161L4.202 12 9 15.839V13z\"}}]}]})(props);\n};\nexport function RiSendPlane2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13h6v-2H3V1.846a.5.5 0 0 1 .741-.438l18.462 10.154a.5.5 0 0 1 0 .876L3.741 22.592A.5.5 0 0 1 3 22.154V13z\"}}]}]})(props);\n};\nexport function RiSendPlane2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.741 1.408l18.462 10.154a.5.5 0 0 1 0 .876L3.741 22.592A.5.5 0 0 1 3 22.154V1.846a.5.5 0 0 1 .741-.438zM5 13v6.617L18.85 12 5 4.383V11h5v2H5z\"}}]}]})(props);\n};\nexport function RiSendPlaneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.946 9.315c-.522-.174-.527-.455.01-.634l19.087-6.362c.529-.176.832.12.684.638l-5.454 19.086c-.15.529-.455.547-.679.045L12 14l6-8-8 6-8.054-2.685z\"}}]}]})(props);\n};\nexport function RiSendPlaneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.923 9.37c-.51-.205-.504-.51.034-.689l19.086-6.362c.529-.176.832.12.684.638l-5.454 19.086c-.15.529-.475.553-.717.07L11 13 1.923 9.37zm4.89-.2l5.636 2.255 3.04 6.082 3.546-12.41L6.812 9.17z\"}}]}]})(props);\n};\nexport function RiServiceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.121 10.48a1 1 0 0 0-1.414 0l-.707.706a2 2 0 1 1-2.828-2.828l5.63-5.632a6.5 6.5 0 0 1 6.377 10.568l-2.108 2.135-4.95-4.95zM3.161 4.468a6.503 6.503 0 0 1 8.009-.938L7.757 6.944a4 4 0 0 0 5.513 5.794l.144-.137 4.243 4.242-4.243 4.243a2 2 0 0 1-2.828 0L3.16 13.66a6.5 6.5 0 0 1 0-9.192z\"}}]}]})(props);\n};\nexport function RiServiceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.161 4.469a6.5 6.5 0 0 1 8.84-.328 6.5 6.5 0 0 1 9.178 9.154l-7.765 7.79a2 2 0 0 1-2.719.102l-.11-.101-7.764-7.791a6.5 6.5 0 0 1 .34-8.826zm1.414 1.414a4.5 4.5 0 0 0-.146 6.21l.146.154L12 19.672l5.303-5.304-3.535-3.535-1.06 1.06a3 3 0 1 1-4.244-4.242l2.102-2.103a4.501 4.501 0 0 0-5.837.189l-.154.146zm8.486 2.828a1 1 0 0 1 1.414 0l4.242 4.242.708-.706a4.5 4.5 0 0 0-6.211-6.51l-.153.146-3.182 3.182a1 1 0 0 0-.078 1.327l.078.087a1 1 0 0 0 1.327.078l.087-.078 1.768-1.768z\"}}]}]})(props);\n};\nexport function RiSlideshow2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17v3h5v2H6v-2h5v-3H4a1 1 0 0 1-1-1V4H2V2h20v2h-1v12a1 1 0 0 1-1 1h-7zM10 6v7l5-3.5L10 6z\"}}]}]})(props);\n};\nexport function RiSlideshow2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17v3h5v2H6v-2h5v-3H4a1 1 0 0 1-1-1V4H2V2h20v2h-1v12a1 1 0 0 1-1 1h-7zm-8-2h14V4H5v11zm5-9l5 3.5-5 3.5V6z\"}}]}]})(props);\n};\nexport function RiSlideshow3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18v2h4v2H7v-2h4v-2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-8zM10 7.5v6l5-3-5-3z\"}}]}]})(props);\n};\nexport function RiSlideshow3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18v2h4v2H7v-2h4v-2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-8zM4 5v11h16V5H4zm6 2.5l5 3-5 3v-6z\"}}]}]})(props);\n};\nexport function RiSlideshow4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.17 3A3.001 3.001 0 0 1 11 1h2c1.306 0 2.417.835 2.83 2H21a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5.17zM10 9v6l5-3-5-3zm1-6a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2z\"}}]}]})(props);\n};\nexport function RiSlideshow4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.17 3A3.001 3.001 0 0 1 11 1h2c1.306 0 2.417.835 2.83 2H21a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5.17zM4 5v14h16V5h-4.17A3.001 3.001 0 0 1 13 7h-2a3.001 3.001 0 0 1-2.83-2H4zm7-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2h-2zm-1 6l5 3-5 3V9z\"}}]}]})(props);\n};\nexport function RiSlideshowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21v2h-2v-2H3a1 1 0 0 1-1-1V6h20v14a1 1 0 0 1-1 1h-8zM8 10a3 3 0 1 0 3 3H8v-3zm5 0v2h6v-2h-6zm0 4v2h6v-2h-6zM2 3h20v2H2V3z\"}}]}]})(props);\n};\nexport function RiSlideshowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21v2h-2v-2H3a1 1 0 0 1-1-1V6h20v14a1 1 0 0 1-1 1h-8zm-9-2h16V8H4v11zm9-9h5v2h-5v-2zm0 4h5v2h-5v-2zm-4-4v3h3a3 3 0 1 1-3-3zM2 3h20v2H2V3z\"}}]}]})(props);\n};\nexport function RiStackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.083 10.5l1.202.721a.5.5 0 0 1 0 .858L12 17.65l-9.285-5.571a.5.5 0 0 1 0-.858l1.202-.721L12 15.35l8.083-4.85zm0 4.7l1.202.721a.5.5 0 0 1 0 .858l-8.77 5.262a1 1 0 0 1-1.03 0l-8.77-5.262a.5.5 0 0 1 0-.858l1.202-.721L12 20.05l8.083-4.85zM12.514 1.309l8.771 5.262a.5.5 0 0 1 0 .858L12 13 2.715 7.429a.5.5 0 0 1 0-.858l8.77-5.262a1 1 0 0 1 1.03 0z\"}}]}]})(props);\n};\nexport function RiStackLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.083 15.2l1.202.721a.5.5 0 0 1 0 .858l-8.77 5.262a1 1 0 0 1-1.03 0l-8.77-5.262a.5.5 0 0 1 0-.858l1.202-.721L12 20.05l8.083-4.85zm0-4.7l1.202.721a.5.5 0 0 1 0 .858L12 17.65l-9.285-5.571a.5.5 0 0 1 0-.858l1.202-.721L12 15.35l8.083-4.85zm-7.569-9.191l8.771 5.262a.5.5 0 0 1 0 .858L12 13 2.715 7.429a.5.5 0 0 1 0-.858l8.77-5.262a1 1 0 0 1 1.03 0zM12 3.332L5.887 7 12 10.668 18.113 7 12 3.332z\"}}]}]})(props);\n};\nexport function RiTrademarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6v2H6v10H4V8H0V6h10zm2 0h2.5l3 5.196L20.5 6H23v12h-2V9.133l-3.5 6.063L14 9.135V18h-2V6z\"}}]}]})(props);\n};\nexport function RiTrademarkLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6v2H6v10H4V8H0V6h10zm2 0h2.5l3 5.196L20.5 6H23v12h-2V9.133l-3.5 6.063L14 9.135V18h-2V6z\"}}]}]})(props);\n};\nexport function RiWindow2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 7H4v9h16v-9zm-5-4v2h4V6h-4z\"}}]}]})(props);\n};\nexport function RiWindow2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 8H4v8h16v-8zm0-2V5H4v4h16zm-5-3h4v2h-4V6z\"}}]}]})(props);\n};\nexport function RiWindowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 7H4v9h16v-9zM5 6v2h2V6H5zm4 0v2h2V6H9z\"}}]}]})(props);\n};\nexport function RiWindowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 8H4v8h16v-8zm0-2V5H4v4h16zM9 6h2v2H9V6zM5 6h2v2H5V6z\"}}]}]})(props);\n};\nexport function RiChat1Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3h4a8 8 0 1 1 0 16v3.5c-5-2-12-5-12-11.5a8 8 0 0 1 8-8z\"}}]}]})(props);\n};\nexport function RiChat1Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3h4a8 8 0 1 1 0 16v3.5c-5-2-12-5-12-11.5a8 8 0 0 1 8-8zm2 14h2a6 6 0 1 0 0-12h-4a6 6 0 0 0-6 6c0 3.61 2.462 5.966 8 8.48V17z\"}}]}]})(props);\n};\nexport function RiChat2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.45 19L12 22.5 9.55 19H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-6.55z\"}}]}]})(props);\n};\nexport function RiChat2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.45 19L12 22.5 9.55 19H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-6.55zm-1.041-2H20V5H4v12h6.591L12 19.012 13.409 17z\"}}]}]})(props);\n};\nexport function RiChat3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.291 20.824L2 22l1.176-5.291A9.956 9.956 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.956 9.956 0 0 1-4.709-1.176z\"}}]}]})(props);\n};\nexport function RiChat3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.291 20.824L2 22l1.176-5.291A9.956 9.956 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.956 9.956 0 0 1-4.709-1.176zm.29-2.113l.653.35A7.955 7.955 0 0 0 12 20a8 8 0 1 0-8-8c0 1.334.325 2.618.94 3.766l.349.653-.655 2.947 2.947-.655z\"}}]}]})(props);\n};\nexport function RiChat4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455z\"}}]}]})(props);\n};\nexport function RiChat4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.763 17H20V5H4v13.385L5.763 17zm.692 2L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455z\"}}]}]})(props);\n};\nexport function RiChatCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm4.838-6.879L8.818 9.646l-1.414 1.415 3.889 3.889 5.657-5.657-1.414-1.414-4.243 4.242z\"}}]}]})(props);\n};\nexport function RiChatCheckLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm-.692-2H20V5H4v13.385L5.763 17zm5.53-4.879l4.243-4.242 1.414 1.414-5.657 5.657-3.89-3.89 1.415-1.414 2.475 2.475z\"}}]}]})(props);\n};\nexport function RiChatDeleteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm6.96-8l2.474-2.475-1.414-1.414L12 9.586 9.525 7.11 8.111 8.525 10.586 11 8.11 13.475l1.414 1.414L12 12.414l2.475 2.475 1.414-1.414L13.414 11z\"}}]}]})(props);\n};\nexport function RiChatDeleteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM13.414 11l2.475 2.475-1.414 1.414L12 12.414 9.525 14.89l-1.414-1.414L10.586 11 8.11 8.525l1.414-1.414L12 9.586l2.475-2.475 1.414 1.414L13.414 11z\"}}]}]})(props);\n};\nexport function RiChatDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM13 11V7h-2v4H8l4 4 4-4h-3z\"}}]}]})(props);\n};\nexport function RiChatDownloadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM13 11h3l-4 4-4-4h3V7h2v4z\"}}]}]})(props);\n};\nexport function RiChatFollowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H6.455L2 22.5V4c0-.552.448-1 1-1h18zm-4 4h-2v8h2V7zm-6 1H9v1.999L7 10v2l2-.001V14h2v-2.001L13 12v-2l-2-.001V8z\"}}]}]})(props);\n};\nexport function RiChatFollowUpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H6.455L2 22.5V4c0-.552.448-1 1-1h18zm-1 2H4v13.385L5.763 17H20V5zm-3 2v8h-2V7h2zm-6 1v1.999L13 10v2l-2-.001V14H9v-2.001L7 12v-2l2-.001V8h2z\"}}]}]})(props);\n};\nexport function RiChatForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM12 10H8v2h4v3l4-4-4-4v3z\"}}]}]})(props);\n};\nexport function RiChatForwardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM12 10V7l4 4-4 4v-3H8v-2h4z\"}}]}]})(props);\n};\nexport function RiChatHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm5.563-4.3l3.359-3.359a2.25 2.25 0 0 0-3.182-3.182l-.177.177-.177-.177a2.25 2.25 0 0 0-3.182 3.182l3.359 3.359z\"}}]}]})(props);\n};\nexport function RiChatHeartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zm8.018-3.685L8.659 11.34a2.25 2.25 0 0 1 3.182-3.182l.177.177.177-.177a2.25 2.25 0 0 1 3.182 3.182l-3.36 3.359z\"}}]}]})(props);\n};\nexport function RiChatHistoryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-1.702 0-3.305-.425-4.708-1.175L2 22l1.176-5.29C2.426 15.306 2 13.703 2 12 2 6.477 6.477 2 12 2zm1 5h-2v7h6v-2h-4V7z\"}}]}]})(props);\n};\nexport function RiChatHistoryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-1.702 0-3.305-.425-4.708-1.175L2 22l1.176-5.29C2.426 15.306 2 13.703 2 12 2 6.477 6.477 2 12 2zm0 2c-4.418 0-8 3.582-8 8 0 1.335.326 2.618.94 3.766l.35.654-.656 2.946 2.948-.654.653.349c1.148.614 2.43.939 3.765.939 4.418 0 8-3.582 8-8s-3.582-8-8-8zm1 3v5h4v2h-6V7h2z\"}}]}]})(props);\n};\nexport function RiChatNewFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM11 10H8v2h3v3h2v-3h3v-2h-3V7h-2v3z\"}}]}]})(props);\n};\nexport function RiChatNewLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3v2H4v13.385L5.763 17H20v-7h2v8a1 1 0 0 1-1 1H6.455L2 22.5V4a1 1 0 0 1 1-1h11zm5 0V0h2v3h3v2h-3v3h-2V5h-3V3h3z\"}}]}]})(props);\n};\nexport function RiChatOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.808 1.393l19.799 19.8-1.415 1.414-3.608-3.608L6.455 19 2 22.5V4c0-.17.042-.329.116-.469l-.723-.723 1.415-1.415zM21 3a1 1 0 0 1 1 1v13.785L7.214 3H21z\"}}]}]})(props);\n};\nexport function RiChatOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.808 1.393l19.799 19.8-1.415 1.414-3.608-3.608L6.455 19 2 22.5V4c0-.17.042-.329.116-.469l-.723-.723 1.415-1.415zm1.191 4.02L4 18.385 5.763 17h9.821L4 5.412zM21 3a1 1 0 0 1 1 1v13.785l-2-2V5L9.213 4.999 7.214 3H21z\"}}]}]})(props);\n};\nexport function RiChatPollFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H6.455L2 22.5V4c0-.552.448-1 1-1h18zm-8 4h-2v8h2V7zm4 2h-2v6h2V9zm-8 2H7v4h2v-4z\"}}]}]})(props);\n};\nexport function RiChatPollLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H6.455L2 22.5V4c0-.552.448-1 1-1h18zm-1 2H4v13.385L5.763 17H20V5zm-7 2v8h-2V7h2zm4 2v6h-2V9h2zm-8 2v4H7v-4h2z\"}}]}]})(props);\n};\nexport function RiChatPrivateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-1.702 0-3.305-.425-4.708-1.175L2 22l1.176-5.29C2.426 15.306 2 13.703 2 12 2 6.477 6.477 2 12 2zm0 5c-1.598 0-3 1.34-3 3v1H8v5h8v-5h-1v-1c0-1.657-1.343-3-3-3zm2 6v1h-4v-1h4zm-2-4c.476 0 1 .49 1 1v1h-2v-1c0-.51.487-1 1-1z\"}}]}]})(props);\n};\nexport function RiChatPrivateLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-1.702 0-3.305-.425-4.708-1.175L2 22l1.176-5.29C2.426 15.306 2 13.703 2 12 2 6.477 6.477 2 12 2zm0 2c-4.418 0-8 3.582-8 8 0 1.335.326 2.618.94 3.766l.35.654-.656 2.946 2.948-.654.653.349c1.148.614 2.43.939 3.765.939 4.418 0 8-3.582 8-8s-3.582-8-8-8zm0 3c1.657 0 3 1.343 3 3v1h1v5H8v-5h1v-1c0-1.657 1.343-3 3-3zm2 6h-4v1h4v-1zm-2-4c-.552 0-1 .45-1 1v1h2v-1c0-.552-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiChatQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H6.455L2 22.5V4c0-.552.448-1 1-1h18zM10.962 8.1l-.447-.688C8.728 8.187 7.5 9.755 7.5 11.505c0 .995.277 1.609.792 2.156.324.344.837.589 1.374.589.966 0 1.75-.784 1.75-1.75 0-.92-.711-1.661-1.614-1.745-.16-.015-.324-.012-.479.01v-.092c.006-.422.092-1.633 1.454-2.466l.185-.107-.447-.688zm4.553-.688c-1.787.775-3.015 2.343-3.015 4.093 0 .995.277 1.609.792 2.156.324.344.837.589 1.374.589.966 0 1.75-.784 1.75-1.75 0-.92-.711-1.661-1.614-1.745-.16-.015-.324-.012-.479.01 0-.313-.029-1.762 1.639-2.665z\"}}]}]})(props);\n};\nexport function RiChatQuoteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H6.455L2 22.5V4c0-.552.448-1 1-1h18zm-1 2H4v13.385L5.763 17H20V5zm-9.485 2.412l.447.688c-1.668.903-1.639 2.352-1.639 2.664.155-.02.318-.024.48-.009.902.084 1.613.825 1.613 1.745 0 .966-.784 1.75-1.75 1.75-.537 0-1.05-.245-1.374-.59-.515-.546-.792-1.16-.792-2.155 0-1.75 1.228-3.318 3.015-4.093zm5 0l.447.688c-1.668.903-1.639 2.352-1.639 2.664.155-.02.318-.024.48-.009.902.084 1.613.825 1.613 1.745 0 .966-.784 1.75-1.75 1.75-.537 0-1.05-.245-1.374-.59-.515-.546-.792-1.16-.792-2.155 0-1.75 1.228-3.318 3.015-4.093z\"}}]}]})(props);\n};\nexport function RiChatSettingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm1.69-6.929l-.975.563 1 1.732.976-.563c.501.51 1.14.887 1.854 1.071V16h2v-1.126a3.996 3.996 0 0 0 1.854-1.071l.976.563 1-1.732-.975-.563a4.004 4.004 0 0 0 0-2.142l.975-.563-1-1.732-.976.563A3.996 3.996 0 0 0 13 7.126V6h-2v1.126a3.996 3.996 0 0 0-1.854 1.071l-.976-.563-1 1.732.975.563a4.004 4.004 0 0 0 0 2.142zM12 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiChatSettingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12h-2V5H4v13.385L5.763 17H12v2H6.455L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v8zm-7.855 7.071a4.004 4.004 0 0 1 0-2.142l-.975-.563 1-1.732.976.563A3.996 3.996 0 0 1 17 14.126V13h2v1.126c.715.184 1.353.56 1.854 1.071l.976-.563 1 1.732-.975.563a4.004 4.004 0 0 1 0 2.142l.975.563-1 1.732-.976-.563c-.501.51-1.14.887-1.854 1.071V23h-2v-1.126a3.996 3.996 0 0 1-1.854-1.071l-.976.563-1-1.732.975-.563zM18 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiChatSmile2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.291 20.824L2 22l1.176-5.291A9.956 9.956 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.956 9.956 0 0 1-4.709-1.176zM7 12a5 5 0 0 0 10 0h-2a3 3 0 0 1-6 0H7z\"}}]}]})(props);\n};\nexport function RiChatSmile2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.291 20.824L2 22l1.176-5.291A9.956 9.956 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.956 9.956 0 0 1-4.709-1.176zm.29-2.113l.653.35A7.955 7.955 0 0 0 12 20a8 8 0 1 0-8-8c0 1.334.325 2.618.94 3.766l.349.653-.655 2.947 2.947-.655zM7 12h2a3 3 0 0 0 6 0h2a5 5 0 0 1-10 0z\"}}]}]})(props);\n};\nexport function RiChatSmile3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 19.071A9.969 9.969 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10H2l2.929-2.929zM8 13a4 4 0 1 0 8 0H8z\"}}]}]})(props);\n};\nexport function RiChatSmile3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10H2l2.929-2.929A9.969 9.969 0 0 1 2 12zm4.828 8H12a8 8 0 1 0-8-8c0 2.152.851 4.165 2.343 5.657l1.414 1.414-.929.929zM8 13h8a4 4 0 1 1-8 0z\"}}]}]})(props);\n};\nexport function RiChatSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM7 10a5 5 0 0 0 10 0h-2a3 3 0 0 1-6 0H7z\"}}]}]})(props);\n};\nexport function RiChatSmileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm-.692-2H20V5H4v13.385L5.763 17zM7 10h2a3 3 0 0 0 6 0h2a5 5 0 0 1-10 0z\"}}]}]})(props);\n};\nexport function RiChatUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM13 11h3l-4-4-4 4h3v4h2v-4z\"}}]}]})(props);\n};\nexport function RiChatUploadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM13 11v4h-2v-4H8l4-4 4 4h-3z\"}}]}]})(props);\n};\nexport function RiChatVoiceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 19.071A9.969 9.969 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10H2l2.929-2.929zM11 6v12h2V6h-2zM7 9v6h2V9H7zm8 0v6h2V9h-2z\"}}]}]})(props);\n};\nexport function RiChatVoiceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10H2l2.929-2.929A9.969 9.969 0 0 1 2 12zm4.828 8H12a8 8 0 1 0-8-8c0 2.152.851 4.165 2.343 5.657l1.414 1.414-.929.929zM11 6h2v12h-2V6zM7 9h2v6H7V9zm8 0h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiDiscussFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.8 19L14 22.5 11.2 19H6a1 1 0 0 1-1-1V7.103a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1V18a1 1 0 0 1-1 1h-5.2zM2 2h17v2H3v11H1V3a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiDiscussLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 22.5L11.2 19H6a1 1 0 0 1-1-1V7.103a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1V18a1 1 0 0 1-1 1h-5.2L14 22.5zm1.839-5.5H21V8.103H7V17H12.161L14 19.298 15.839 17zM2 2h17v2H3v11H1V3a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiFeedbackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM11 13v2h2v-2h-2zm0-6v5h2V7h-2z\"}}]}]})(props);\n};\nexport function RiFeedbackLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM4 18.385L5.763 17H20V5H4v13.385zM11 13h2v2h-2v-2zm0-6h2v5h-2V7z\"}}]}]})(props);\n};\nexport function RiMessage2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM7 10v2h2v-2H7zm4 0v2h2v-2h-2zm4 0v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiMessage2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm-.692-2H20V5H4v13.385L5.763 17zM11 10h2v2h-2v-2zm-4 0h2v2H7v-2zm8 0h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiMessage3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8.994A5.99 5.99 0 0 1 8 3h8c3.313 0 6 2.695 6 5.994V21H8c-3.313 0-6-2.695-6-5.994V8.994zM14 11v2h2v-2h-2zm-6 0v2h2v-2H8z\"}}]}]})(props);\n};\nexport function RiMessage3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8.994A5.99 5.99 0 0 1 8 3h8c3.313 0 6 2.695 6 5.994V21H8c-3.313 0-6-2.695-6-5.994V8.994zM20 19V8.994A4.004 4.004 0 0 0 16 5H8a3.99 3.99 0 0 0-4 3.994v6.012A4.004 4.004 0 0 0 8 19h12zm-6-8h2v2h-2v-2zm-6 0h2v2H8v-2z\"}}]}]})(props);\n};\nexport function RiMessageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM8 10v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiMessageLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zm-.692-2H20V5H4v13.385L5.763 17zM8 10h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiQuestionAnswerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18h10.237L20 19.385V9h1a1 1 0 0 1 1 1v13.5L17.545 20H9a1 1 0 0 1-1-1v-1zm-2.545-2L1 19.5V4a1 1 0 0 1 1-1h15a1 1 0 0 1 1 1v12H5.455z\"}}]}]})(props);\n};\nexport function RiQuestionAnswerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.455 15L1 18.5V3a1 1 0 0 1 1-1h15a1 1 0 0 1 1 1v12H5.455zm-.692-2H16V4H3v10.385L4.763 13zM8 17h10.237L20 18.385V8h1a1 1 0 0 1 1 1v13.5L17.545 19H9a1 1 0 0 1-1-1v-1z\"}}]}]})(props);\n};\nexport function RiQuestionnaireFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM11 14v2h2v-2h-2zM8.567 8.813l1.962.393A1.5 1.5 0 1 1 12 11h-1v2h1a3.5 3.5 0 1 0-3.433-4.187z\"}}]}]})(props);\n};\nexport function RiQuestionnaireLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5.763 17H20V5H4v13.385L5.763 17zm.692 2L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM11 14h2v2h-2v-2zM8.567 8.813A3.501 3.501 0 1 1 12 13h-1v-2h1a1.5 1.5 0 1 0-1.471-1.794l-1.962-.393z\"}}]}]})(props);\n};\nexport function RiVideoChatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455zM14 10.25V8H7v6h7v-2.25L17 14V8l-3 2.25z\"}}]}]})(props);\n};\nexport function RiVideoChatLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10.25L17 8v6l-3-2.25V14H7V8h7v2.25zM5.763 17H20V5H4v13.385L5.763 17zm.692 2L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6.455z\"}}]}]})(props);\n};\nexport function RiAnticlockwise2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4h2a5 5 0 0 1 5 5v4h-2V9a3 3 0 0 0-3-3h-2v3L9 5l5-4v3zm1 7v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1z\"}}]}]})(props);\n};\nexport function RiAnticlockwise2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13.414 6l1.829 1.828-1.415 1.415L9.586 5 13.828.757l1.415 1.415L13.414 4H16a5 5 0 0 1 5 5v4h-2V9a3 3 0 0 0-3-3h-2.586zM15 11v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1zm-2 1H5v8h8v-8z\"}}]}]})(props);\n};\nexport function RiAnticlockwiseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10h3l-4 5-4-5h3V8a5 5 0 0 1 5-5h4v2H9a3 3 0 0 0-3 3v2zm5-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiAnticlockwiseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 9h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H11a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1zm1 2v8h8v-8h-8zm-6-.414l1.828-1.829 1.415 1.415L5 14.414.757 10.172l1.415-1.415L4 10.586V8a5 5 0 0 1 5-5h4v2H9a3 3 0 0 0-3 3v2.586z\"}}]}]})(props);\n};\nexport function RiArtboard2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6h12v12H6V6zm0-4h2v3H6V2zm0 17h2v3H6v-3zM2 6h3v2H2V6zm0 10h3v2H2v-2zM19 6h3v2h-3V6zm0 10h3v2h-3v-2zM16 2h2v3h-2V2zm0 17h2v3h-2v-3z\"}}]}]})(props);\n};\nexport function RiArtboard2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8v8h8V8H8zM6 6h12v12H6V6zm0-4h2v3H6V2zm0 17h2v3H6v-3zM2 6h3v2H2V6zm0 10h3v2H2v-2zM19 6h3v2h-3V6zm0 10h3v2h-3v-2zM16 2h2v3h-2V2zm0 17h2v3h-2v-3z\"}}]}]})(props);\n};\nexport function RiArtboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.586 17H3v-2h18v2h-5.586l3.243 3.243-1.414 1.414L13 17.414V20h-2v-2.586l-4.243 4.243-1.414-1.414L8.586 17zM5 3h14a1 1 0 0 1 1 1v10H4V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiArtboardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.586 17H3v-2h18v2h-5.586l3.243 3.243-1.414 1.414L13 17.414V20h-2v-2.586l-4.243 4.243-1.414-1.414L8.586 17zM5 3h14a1 1 0 0 1 1 1v10H4V4a1 1 0 0 1 1-1zm1 2v7h12V5H6z\"}}]}]})(props);\n};\nexport function RiBallPenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.849 11.808l-.707-.707-9.9 9.9H3v-4.243L14.313 5.444l5.657 5.657a1 1 0 0 1 0 1.414l-7.07 7.071-1.415-1.414 6.364-6.364zm.707-9.192l2.829 2.828a1 1 0 0 1 0 1.414L19.97 8.273 15.728 4.03l1.414-1.414a1 1 0 0 1 1.414 0z\"}}]}]})(props);\n};\nexport function RiBallPenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.849 11.808l-.707-.707-9.9 9.9H3v-4.243L14.313 5.444l5.657 5.657a1 1 0 0 1 0 1.414l-7.07 7.071-1.415-1.414 6.364-6.364zm-2.121-2.121l-1.415-1.414L5 17.586v1.415h1.414l9.314-9.314zm2.828-7.071l2.829 2.828a1 1 0 0 1 0 1.414L19.97 8.273 15.728 4.03l1.414-1.414a1 1 0 0 1 1.414 0z\"}}]}]})(props);\n};\nexport function RiBlurOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.432 6.846L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414-3.038-3.04A9 9 0 0 1 5.432 6.848zM8.243 4.03L12 .272l6.364 6.364a9.002 9.002 0 0 1 2.05 9.564L8.244 4.03z\"}}]}]})(props);\n};\nexport function RiBlurOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.154 19.568A9 9 0 0 1 5.432 6.846L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414-3.038-3.04zM6.847 8.262a7 7 0 0 0 9.891 9.89l-9.89-9.89zM20.414 16.2l-1.599-1.599a6.995 6.995 0 0 0-1.865-6.55L12 3.1 9.657 5.443 8.243 4.03 12 .272l6.364 6.364a9.002 9.002 0 0 1 2.05 9.564z\"}}]}]})(props);\n};\nexport function RiBrush2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.536 15.95l2.12-2.122-3.181-3.182 3.535-3.535-2.12-2.121-3.536 3.535-3.182-3.182L8.05 7.464l8.486 8.486zM13.354 5.697l2.828-2.829a1 1 0 0 1 1.414 0l3.536 3.536a1 1 0 0 1 0 1.414l-2.829 2.828 2.475 2.475a1 1 0 0 1 0 1.415L13 22.314a1 1 0 0 1-1.414 0l-9.9-9.9a1 1 0 0 1 0-1.414l7.778-7.778a1 1 0 0 1 1.415 0l2.475 2.475z\"}}]}]})(props);\n};\nexport function RiBrush2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.536 15.95l2.12-2.122-3.181-3.182 3.535-3.535-2.12-2.121-3.536 3.535-3.182-3.182L8.05 7.464l8.486 8.486zm-1.415 1.414L6.636 8.879l-2.828 2.828 8.485 8.485 2.828-2.828zM13.354 5.697l2.828-2.829a1 1 0 0 1 1.414 0l3.536 3.536a1 1 0 0 1 0 1.414l-2.829 2.828 2.475 2.475a1 1 0 0 1 0 1.415L13 22.314a1 1 0 0 1-1.414 0l-9.9-9.9a1 1 0 0 1 0-1.414l7.778-7.778a1 1 0 0 1 1.415 0l2.475 2.475z\"}}]}]})(props);\n};\nexport function RiBrush3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11V8h-6V4h-4v4H4v3h16zm1 2v8a1 1 0 0 1-1 1H10v-6H8v6H4a1 1 0 0 1-1-1v-8H2V7a1 1 0 0 1 1-1h5V3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3h5a1 1 0 0 1 1 1v6h-1z\"}}]}]})(props);\n};\nexport function RiBrush3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20v-5h2v5h9v-7H5v7h3zm-4-9h16V8h-6V4h-4v4H4v3zM3 21v-8H2V7a1 1 0 0 1 1-1h5V3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3h5a1 1 0 0 1 1 1v6h-1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z\"}}]}]})(props);\n};\nexport function RiBrush4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16H4v2h16v-2zM3 14V4a1 1 0 0 1 1-1h3v8.273h2V3h11a1 1 0 0 1 1 1v10h1v5a1 1 0 0 1-1 1h-8v3h-2v-3H3a1 1 0 0 1-1-1v-5h1z\"}}]}]})(props);\n};\nexport function RiBrush4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5v6.273H7V5H5v9h14V5H9zm11 11H4v2h16v-2zM3 14V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10h1v5a1 1 0 0 1-1 1h-8v3h-2v-3H3a1 1 0 0 1-1-1v-5h1z\"}}]}]})(props);\n};\nexport function RiBrushFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.289 6.216l4.939-3.841a1 1 0 0 1 1.32.082l2.995 2.994a1 1 0 0 1 .082 1.321l-3.84 4.938a7.505 7.505 0 0 1-7.283 9.292C8 21.002 3.5 19.5 1 18c3.98-3 3.047-4.81 3.5-6.5 1.058-3.95 4.842-6.257 8.789-5.284zm3.413 1.879c.065.063.13.128.193.194l1.135 1.134 2.475-3.182-1.746-1.746-3.182 2.475 1.125 1.125z\"}}]}]})(props);\n};\nexport function RiBrushLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.456 9.678l-.142-.142a5.475 5.475 0 0 0-2.39-1.349c-2.907-.778-5.699.869-6.492 3.83-.043.16-.066.34-.104.791-.154 1.87-.594 3.265-1.8 4.68 2.26.888 4.938 1.514 6.974 1.514a5.505 5.505 0 0 0 5.31-4.078 5.497 5.497 0 0 0-1.356-5.246zM13.29 6.216l4.939-3.841a1 1 0 0 1 1.32.082l2.995 2.994a1 1 0 0 1 .082 1.321l-3.84 4.938a7.505 7.505 0 0 1-7.283 9.292C8 21.002 3.5 19.5 1 18c3.98-3 3.047-4.81 3.5-6.5 1.058-3.95 4.842-6.257 8.789-5.284zm3.413 1.879c.065.063.13.128.193.194l1.135 1.134 2.475-3.182-1.746-1.746-3.182 2.475 1.125 1.125z\"}}]}]})(props);\n};\nexport function RiClockwise2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4V1l5 4-5 4V6H8a3 3 0 0 0-3 3v4H3V9a5 5 0 0 1 5-5h2zm-1 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V11z\"}}]}]})(props);\n};\nexport function RiClockwise2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10.586 4L8.757 2.172 10.172.757 14.414 5l-4.242 4.243-1.415-1.415L10.586 6H8a3 3 0 0 0-3 3v4H3V9a5 5 0 0 1 5-5h2.586zM9 11a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H10a1 1 0 0 1-1-1V11zm2 1v8h8v-8h-8z\"}}]}]})(props);\n};\nexport function RiClockwiseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10h3l-4 5-4-5h3V8a3 3 0 0 0-3-3h-4V3h4a5 5 0 0 1 5 5v2zm-7-1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h10z\"}}]}]})(props);\n};\nexport function RiClockwiseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20 10.586l1.828-1.829 1.415 1.415L19 14.414l-4.243-4.242 1.415-1.415L18 10.586V8a3 3 0 0 0-3-3h-4V3h4a5 5 0 0 1 5 5v2.586zM13 9a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h10zm-1 2H4v8h8v-8z\"}}]}]})(props);\n};\nexport function RiCollageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.189 13.157L12.57 21 4 21c-.552 0-1-.448-1-1v-5.398l8.189-1.445zM20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1h-5.398L11.428 3H20zM9.397 3l1.444 8.188L3 12.57 3 4c0-.552.448-1 1-1h5.397z\"}}]}]})(props);\n};\nexport function RiCollageLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm-8.811 10.158L5 14.25V19h7.218l-1.03-5.842zM19 5h-7.219l2.468 14H19V5zM9.75 5H5v7.218l5.842-1.03L9.75 5z\"}}]}]})(props);\n};\nexport function RiCompasses2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.33 13.5A6.988 6.988 0 0 0 19 8h2a8.987 8.987 0 0 1-3.662 7.246l2.528 4.378a2 2 0 0 1-.732 2.732l-3.527-6.108A8.97 8.97 0 0 1 12 17a8.97 8.97 0 0 1-3.607-.752l-3.527 6.108a2 2 0 0 1-.732-2.732l5.063-8.77A4.002 4.002 0 0 1 11 4.126V2h2v2.126a4.002 4.002 0 0 1 1.803 6.728L16.33 13.5zM14.6 14.502l-1.528-2.647a4.004 4.004 0 0 1-2.142 0l-1.528 2.647c.804.321 1.68.498 2.599.498.918 0 1.795-.177 2.599-.498zM12 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiCompasses2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.33 13.5A6.988 6.988 0 0 0 19 8h2a8.987 8.987 0 0 1-3.662 7.246l2.528 4.378a2 2 0 0 1-.732 2.732l-3.527-6.108A8.97 8.97 0 0 1 12 17a8.97 8.97 0 0 1-3.607-.752l-3.527 6.108a2 2 0 0 1-.732-2.732l5.063-8.77A4.002 4.002 0 0 1 11 4.126V2h2v2.126a4.002 4.002 0 0 1 1.803 6.728L16.33 13.5zM14.6 14.502l-1.528-2.647a4.004 4.004 0 0 1-2.142 0l-1.528 2.647c.804.321 1.68.498 2.599.498.918 0 1.795-.177 2.599-.498zM12 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiCompassesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4.126V2h2v2.126a4.002 4.002 0 0 1 1.803 6.728l6.063 10.502-1.732 1-6.063-10.501a4.004 4.004 0 0 1-2.142 0L4.866 22.356l-1.732-1 6.063-10.502A4.002 4.002 0 0 1 11 4.126zM12 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiCompassesLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4.126V2h2v2.126a4.002 4.002 0 0 1 1.803 6.728l6.063 10.502-1.732 1-6.063-10.501a4.004 4.004 0 0 1-2.142 0L4.866 22.356l-1.732-1 6.063-10.502A4.002 4.002 0 0 1 11 4.126zM12 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiContrast2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-6.671-5.575A8 8 0 1 0 16.425 5.328a8.997 8.997 0 0 1-2.304 8.793 8.997 8.997 0 0 1-8.792 2.304z\"}}]}]})(props);\n};\nexport function RiContrast2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-5-4.68a8.965 8.965 0 0 0 5.707-2.613A8.965 8.965 0 0 0 15.32 7 6 6 0 1 1 7 15.32z\"}}]}]})(props);\n};\nexport function RiContrastDrop2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.636 6.636L12 .272l6.364 6.364a9 9 0 1 1-12.728 0zM12 3.101L7.05 8.05A6.978 6.978 0 0 0 5 13h14a6.978 6.978 0 0 0-2.05-4.95L12 3.1z\"}}]}]})(props);\n};\nexport function RiContrastDrop2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.1L7.05 8.05a7 7 0 1 0 9.9 0L12 3.1zm0-2.828l6.364 6.364a9 9 0 1 1-12.728 0L12 .272zM7 13h10a5 5 0 0 1-10 0z\"}}]}]})(props);\n};\nexport function RiContrastDropFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.636 6.636L12 .272l6.364 6.364a9 9 0 1 1-12.728 0zM7.05 8.05A7 7 0 0 0 12.004 20L12 3.1 7.05 8.05z\"}}]}]})(props);\n};\nexport function RiContrastDropLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.1L7.05 8.05a7 7 0 1 0 9.9 0L12 3.1zm0-2.828l6.364 6.364a9 9 0 1 1-12.728 0L12 .272zM12 18V8a5 5 0 0 1 0 10z\"}}]}]})(props);\n};\nexport function RiContrastFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2V4a8 8 0 1 0 0 16z\"}}]}]})(props);\n};\nexport function RiContrastLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0-2V6a6 6 0 1 1 0 12z\"}}]}]})(props);\n};\nexport function RiCrop2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.586 5l2.556-2.556 1.414 1.414L19 6.414V17h3v2h-3v3h-2V7H9V5h8.586zM15 17v2H6a1 1 0 0 1-1-1V7H2V5h3V2h2v15h8zM9 9h6v6H9V9z\"}}]}]})(props);\n};\nexport function RiCrop2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.414 17H15v2H6a1 1 0 0 1-1-1V7H2V5h3V2h2v13.586L15.586 7H9V5h8.586l2.556-2.556 1.414 1.414L19 6.414V17h3v2h-3v3h-2V8.414L8.414 17z\"}}]}]})(props);\n};\nexport function RiCropFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 17h3v2h-3v3h-2v-3H6a1 1 0 0 1-1-1V7H2V5h3V2h2v3h11a1 1 0 0 1 1 1v11z\"}}]}]})(props);\n};\nexport function RiCropLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 17v2H6a1 1 0 0 1-1-1V7H2V5h3V2h2v15h8zm2 5V7H9V5h9a1 1 0 0 1 1 1v11h3v2h-3v3h-2z\"}}]}]})(props);\n};\nexport function RiDragDropFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 6h2v2h5a1 1 0 0 1 1 1v7.5L16 13l.036 8.062 2.223-2.15L20.041 22H9a1 1 0 0 1-1-1v-5H6v-2h2V9a1 1 0 0 1 1-1h5V6zm8 11.338V21a1 1 0 0 1-.048.307l-1.96-3.394L22 17.338zM4 14v2H2v-2h2zm0-4v2H2v-2h2zm0-4v2H2V6h2zm0-4v2H2V2h2zm4 0v2H6V2h2zm4 0v2h-2V2h2zm4 0v2h-2V2h2z\"}}]}]})(props);\n};\nexport function RiDragDropLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16 13l6.964 4.062-2.973.85 2.125 3.681-1.732 1-2.125-3.68-2.223 2.15L16 13zm-2-7h2v2h5a1 1 0 0 1 1 1v4h-2v-3H10v10h4v2H9a1 1 0 0 1-1-1v-5H6v-2h2V9a1 1 0 0 1 1-1h5V6zM4 14v2H2v-2h2zm0-4v2H2v-2h2zm0-4v2H2V6h2zm0-4v2H2V2h2zm4 0v2H6V2h2zm4 0v2h-2V2h2zm4 0v2h-2V2h2z\"}}]}]})(props);\n};\nexport function RiDragMove2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11V8l4 4-4 4v-3h-5v5h3l-4 4-4-4h3v-5H6v3l-4-4 4-4v3h5V6H8l4-4 4 4h-3v5z\"}}]}]})(props);\n};\nexport function RiDragMove2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11V5.828L9.172 7.657 7.757 6.243 12 2l4.243 4.243-1.415 1.414L13 5.828V11h5.172l-1.829-1.828 1.414-1.415L22 12l-4.243 4.243-1.414-1.415L18.172 13H13v5.172l1.828-1.829 1.415 1.414L12 22l-4.243-4.243 1.415-1.414L11 18.172V13H5.828l1.829 1.828-1.414 1.415L2 12l4.243-4.243 1.414 1.415L5.828 11z\"}}]}]})(props);\n};\nexport function RiDragMoveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22l-4-4h8l-4 4zm0-20l4 4H8l4-4zm0 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM2 12l4-4v8l-4-4zm20 0l-4 4V8l4 4z\"}}]}]})(props);\n};\nexport function RiDragMoveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2l4.243 4.243-1.415 1.414L12 4.828 9.172 7.657 7.757 6.243 12 2zM2 12l4.243-4.243 1.414 1.415L4.828 12l2.829 2.828-1.414 1.415L2 12zm20 0l-4.243 4.243-1.414-1.415L19.172 12l-2.829-2.828 1.414-1.415L22 12zm-10 2a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 8l-4.243-4.243 1.415-1.414L12 19.172l2.828-2.829 1.415 1.414L12 22z\"}}]}]})(props);\n};\nexport function RiDropFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.636 6.636L12 .272l6.364 6.364a9 9 0 1 1-12.728 0z\"}}]}]})(props);\n};\nexport function RiDropLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.1L7.05 8.05a7 7 0 1 0 9.9 0L12 3.1zm0-2.828l6.364 6.364a9 9 0 1 1-12.728 0L12 .272z\"}}]}]})(props);\n};\nexport function RiEdit2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.243 19H21v2H3v-4.243l9.9-9.9 4.242 4.244L9.242 19zm5.07-13.556l2.122-2.122a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414l-2.122 2.121-4.242-4.242z\"}}]}]})(props);\n};\nexport function RiEdit2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 19h1.414l9.314-9.314-1.414-1.414L5 17.586V19zm16 2H3v-4.243L16.435 3.322a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414L9.243 19H21v2zM15.728 6.858l1.414 1.414 1.414-1.414-1.414-1.414-1.414 1.414z\"}}]}]})(props);\n};\nexport function RiEditBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.757 3l-7.466 7.466.008 4.247 4.238-.007L21 7.243V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12.757zm3.728-.9L21.9 3.516l-9.192 9.192-1.412.003-.002-1.417L20.485 2.1z\"}}]}]})(props);\n};\nexport function RiEditBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.757 3l-2 2H5v14h14V9.243l2-2V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12.757zm3.728-.9L21.9 3.516l-9.192 9.192-1.412.003-.002-1.417L20.485 2.1z\"}}]}]})(props);\n};\nexport function RiEditCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.626 3.132L9.29 10.466l.008 4.247 4.238-.007 7.331-7.332A9.957 9.957 0 0 1 22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2c1.669 0 3.242.409 4.626 1.132zm3.86-1.031l1.413 1.414-9.192 9.192-1.412.003-.002-1.417L20.485 2.1z\"}}]}]})(props);\n};\nexport function RiEditCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.684 4.029a8 8 0 1 0 7.287 7.287 7.936 7.936 0 0 0-.603-2.44l1.5-1.502A9.933 9.933 0 0 1 22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2a9.982 9.982 0 0 1 4.626 1.132l-1.501 1.5a7.941 7.941 0 0 0-2.44-.603zM20.485 2.1L21.9 3.515l-9.192 9.192-1.412.003-.002-1.417L20.485 2.1z\"}}]}]})(props);\n};\nexport function RiEditFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.243 18H3v-4.243L14.435 2.322a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414L7.243 18zM3 20h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiEditLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.414 16L16.556 5.858l-1.414-1.414L5 14.586V16h1.414zm.829 2H3v-4.243L14.435 2.322a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414L7.243 18zM3 20h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiEraserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19h7v2h-9l-3.998.002-6.487-6.487a1 1 0 0 1 0-1.414L12.12 2.494a1 1 0 0 1 1.415 0l7.778 7.778a1 1 0 0 1 0 1.414L14 19zm1.657-4.485l3.535-3.536-6.364-6.364-3.535 3.536 6.364 6.364z\"}}]}]})(props);\n};\nexport function RiEraserLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.586 8.858l-4.95 4.95 5.194 5.194H10V19h1.172l3.778-3.778-6.364-6.364zM10 7.444l6.364 6.364 2.828-2.829-6.364-6.364L10 7.444zM14 19h7v2h-9l-3.998.002-6.487-6.487a1 1 0 0 1 0-1.414L12.12 2.494a1 1 0 0 1 1.415 0l7.778 7.778a1 1 0 0 1 0 1.414L14 19z\"}}]}]})(props);\n};\nexport function RiFocus2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 18c4.427 0 8-3.573 8-8s-3.573-8-8-8a7.99 7.99 0 0 0-8 8c0 4.427 3.573 8 8 8zm0-2c-3.32 0-6-2.68-6-6s2.68-6 6-6 6 2.68 6 6-2.68 6-6 6zm0-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"}}]}]})(props);\n};\nexport function RiFocus2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-6a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0 2a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-4a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiFocus3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1l.001 3.062A8.004 8.004 0 0 1 19.938 11H23v2l-3.062.001a8.004 8.004 0 0 1-6.937 6.937L13 23h-2v-3.062a8.004 8.004 0 0 1-6.938-6.937L1 13v-2h3.062A8.004 8.004 0 0 1 11 4.062V1h2zm-1 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiFocus3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 1l.001 3.062A8.004 8.004 0 0 1 19.938 11H23v2l-3.062.001a8.004 8.004 0 0 1-6.937 6.937L13 23h-2v-3.062a8.004 8.004 0 0 1-6.938-6.937L1 13v-2h3.062A8.004 8.004 0 0 1 11 4.062V1h2zm-1 5a6 6 0 1 0 0 12 6 6 0 0 0 0-12zm0 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiFocusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"}}]}]})(props);\n};\nexport function RiFocusLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-8a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiGridFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10v4h-4v-4h4zm2 0h5v4h-5v-4zm-2 11h-4v-5h4v5zm2 0v-5h5v4a1 1 0 0 1-1 1h-4zM14 3v5h-4V3h4zm2 0h4a1 1 0 0 1 1 1v4h-5V3zm-8 7v4H3v-4h5zm0 11H4a1 1 0 0 1-1-1v-4h5v5zM8 3v5H3V4a1 1 0 0 1 1-1h4z\"}}]}]})(props);\n};\nexport function RiGridLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10h-4v4h4v-4zm2 0v4h3v-4h-3zm-2 9v-3h-4v3h4zm2 0h3v-3h-3v3zM14 5h-4v3h4V5zm2 0v3h3V5h-3zm-8 5H5v4h3v-4zm0 9v-3H5v3h3zM8 5H5v3h3V5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiHammerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8V2h3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-3zm-2 14a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V8H2.5V6.074a1 1 0 0 1 .496-.863L8.5 2H15v20z\"}}]}]})(props);\n};\nexport function RiHammerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5v13a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V9H3.5a1 1 0 0 1-1-1V5.618a1 1 0 0 1 .553-.894L8.5 2H20zm-5 2H8.972L4.5 6.236V7H11v14h2V7h2V4zm4 0h-2v3h2V4z\"}}]}]})(props);\n};\nexport function RiInkBottleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9l4.371 1.749c.38.151.629.52.629.928V21c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1v-9.323c0-.409.249-.777.629-.928L8 9h8zm4 5H8v5h12v-5zM16 3c.552 0 1 .448 1 1v4H7V4c0-.552.448-1 1-1h8z\"}}]}]})(props);\n};\nexport function RiInkBottleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9l4.371 1.749c.38.151.629.52.629.928V21c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1v-9.323c0-.409.249-.777.629-.928L8 9h8zm-.385 2h-7.23L5 12.354V20h14v-1H8v-5h11v-1.646L15.615 11zM16 3c.552 0 1 .448 1 1v4H7V4c0-.552.448-1 1-1h8zm-1 2H9v1h6V5z\"}}]}]})(props);\n};\nexport function RiInputMethodFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm5.869 12h4.262l.82 2h2.216L13 7h-2L6.833 17H9.05l.82-2zm.82-2L12 9.8l1.311 3.2H10.69z\"}}]}]})(props);\n};\nexport function RiInputMethodLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v14h14V5H5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm5.869 12l-.82 2H6.833L11 7h2l4.167 10H14.95l-.82-2H9.87zm.82-2h2.622L12 9.8 10.689 13z\"}}]}]})(props);\n};\nexport function RiLayout2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3v18H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7zm10 10v7a1 1 0 0 1-1 1h-7v-8h8zM20 3a1 1 0 0 1 1 1v7h-8V3h7z\"}}]}]})(props);\n};\nexport function RiLayout2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v16zM11 5H5v14h6V5zm8 8h-6v6h6v-6zm0-8h-6v6h6V5z\"}}]}]})(props);\n};\nexport function RiLayout3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10v11H4a1 1 0 0 1-1-1V10h5zm13 0v10a1 1 0 0 1-1 1H10V10h11zm-1-7a1 1 0 0 1 1 1v4H3V4a1 1 0 0 1 1-1h16z\"}}]}]})(props);\n};\nexport function RiLayout3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M4 21a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4zm4-11H5v9h3v-9zm11 0h-9v9h9v-9zm0-5H5v3h14V5z\"}}]}]})(props);\n};\nexport function RiLayout4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13v8H4a1 1 0 0 1-1-1v-7h8zm2-10h7a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-7V3zM3 4a1 1 0 0 1 1-1h7v8H3V4z\"}}]}]})(props);\n};\nexport function RiLayout4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16zm-9 10H5v6h6v-6zm2 6h6V5h-6v14zM11 5H5v6h6V5z\"}}]}]})(props);\n};\nexport function RiLayout5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10v11H3a1 1 0 0 1-1-1V10h5zm15 0v10a1 1 0 0 1-1 1H9V10h13zm-1-7a1 1 0 0 1 1 1v4H2V4a1 1 0 0 1 1-1h18z\"}}]}]})(props);\n};\nexport function RiLayout5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3 21a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3zm4-11H4v9h3v-9zm13 0H9v9h11v-9zm0-5H4v3h16V5z\"}}]}]})(props);\n};\nexport function RiLayout6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10v11H3a1 1 0 0 1-1-1V10h13zm7 0v10a1 1 0 0 1-1 1h-4V10h5zm-1-7a1 1 0 0 1 1 1v4H2V4a1 1 0 0 1 1-1h18z\"}}]}]})(props);\n};\nexport function RiLayout6Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3 21a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3zm12-11H4v9h11v-9zm5 0h-3v9h3v-9zm0-5H4v3h16V5z\"}}]}]})(props);\n};\nexport function RiLayoutBottom2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-2 13H5v2h14v-2z\"}}]}]})(props);\n};\nexport function RiLayoutBottom2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-1 2H4v14h16V5zm-2 10v2H6v-2h12z\"}}]}]})(props);\n};\nexport function RiLayoutBottomFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 16v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-4h20zM21 3a1 1 0 0 1 1 1v10H2V4a1 1 0 0 1 1-1h18z\"}}]}]})(props);\n};\nexport function RiLayoutBottomLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zM4 16v3h16v-3H4zm0-2h16V5H4v9z\"}}]}]})(props);\n};\nexport function RiLayoutColumnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 5v14h7V5h-7zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiLayoutColumnLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 5H5v14h6V5zm2 0v14h6V5h-6zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiLayoutFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21V10h5v10a1 1 0 0 1-1 1h-4zm-2 0H4a1 1 0 0 1-1-1V10h11v11zm7-13H3V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v4z\"}}]}]})(props);\n};\nexport function RiLayoutGridFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12.999V20a1 1 0 0 1-1 1h-8v-8.001h9zm-11 0V21H3a1 1 0 0 1-1-1v-7.001h9zM11 3v7.999H2V4a1 1 0 0 1 1-1h8zm10 0a1 1 0 0 1 1 1v6.999h-9V3h8z\"}}]}]})(props);\n};\nexport function RiLayoutGridLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zM11 13H4v6h7v-6zm9 0h-7v6h7v-6zm-9-8H4v6h7V5zm9 0h-7v6h7V5z\"}}]}]})(props);\n};\nexport function RiLayoutLeft2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zM7 6H5v12h2V6z\"}}]}]})(props);\n};\nexport function RiLayoutLeft2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-1 2H4v14h16V5zM8 7v10H6V7h2z\"}}]}]})(props);\n};\nexport function RiLayoutLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H9V3h12zM7 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4v18z\"}}]}]})(props);\n};\nexport function RiLayoutLeftLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zM7 5H4v14h3V5zm13 0H9v14h11V5z\"}}]}]})(props);\n};\nexport function RiLayoutLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8h14V5H5v3zm9 11v-9H5v9h9zm2 0h3v-9h-3v9zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiLayoutMasonryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 9.999V20a1 1 0 0 1-1 1h-8V9.999h9zm-11 6V21H3a1 1 0 0 1-1-1v-4.001h9zM11 3v10.999H2V4a1 1 0 0 1 1-1h8zm10 0a1 1 0 0 1 1 1v3.999h-9V3h8z\"}}]}]})(props);\n};\nexport function RiLayoutMasonryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v16zm-11-5H4v4h7v-4zm9-4h-7v8h7v-8zm-9-6H4v8h7V5zm9 0h-7v4h7V5z\"}}]}]})(props);\n};\nexport function RiLayoutRight2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-2 3h-2v12h2V6z\"}}]}]})(props);\n};\nexport function RiLayoutRight2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-1 2H4v14h16V5zm-2 2v10h-2V7h2z\"}}]}]})(props);\n};\nexport function RiLayoutRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4V3h4zm-6 18H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12v18z\"}}]}]})(props);\n};\nexport function RiLayoutRightLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-6 2H4v14h11V5zm5 0h-3v14h3V5z\"}}]}]})(props);\n};\nexport function RiLayoutRowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M19 12H5v7h14v-7zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiLayoutRowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M19 11V5H5v6h14zm0 2H5v6h14v-6zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiLayoutTop2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-2 3H5v2h14V6z\"}}]}]})(props);\n};\nexport function RiLayoutTop2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-1 2H4v14h16V5zm-2 2v2H6V7h12z\"}}]}]})(props);\n};\nexport function RiLayoutTopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 10v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V10h20zm-1-7a1 1 0 0 1 1 1v4H2V4a1 1 0 0 1 1-1h18z\"}}]}]})(props);\n};\nexport function RiLayoutTopLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zM4 10v9h16v-9H4zm0-2h16V5H4v3z\"}}]}]})(props);\n};\nexport function RiMagicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.224 15.508l-2.213 4.65a.6.6 0 0 1-.977.155l-3.542-3.739a.6.6 0 0 0-.357-.182l-5.107-.668a.6.6 0 0 1-.449-.881l2.462-4.524a.6.6 0 0 0 .062-.396L4.16 4.86a.6.6 0 0 1 .7-.7l5.063.943a.6.6 0 0 0 .396-.062l4.524-2.462a.6.6 0 0 1 .881.45l.668 5.106a.6.6 0 0 0 .182.357l3.739 3.542a.6.6 0 0 1-.155.977l-4.65 2.213a.6.6 0 0 0-.284.284zm.797 1.927l1.414-1.414 4.243 4.242-1.415 1.415-4.242-4.243z\"}}]}]})(props);\n};\nexport function RiMagicLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.199 9.945a2.6 2.6 0 0 1-.79-1.551l-.403-3.083-2.73 1.486a2.6 2.6 0 0 1-1.72.273L6.5 6.5l.57 3.056a2.6 2.6 0 0 1-.273 1.72l-1.486 2.73 3.083.403a2.6 2.6 0 0 1 1.55.79l2.138 2.257 1.336-2.807a2.6 2.6 0 0 1 1.23-1.231l2.808-1.336-2.257-2.137zm.025 5.563l-2.213 4.65a.6.6 0 0 1-.977.155l-3.542-3.739a.6.6 0 0 0-.357-.182l-5.107-.668a.6.6 0 0 1-.449-.881l2.462-4.524a.6.6 0 0 0 .062-.396L4.16 4.86a.6.6 0 0 1 .7-.7l5.063.943a.6.6 0 0 0 .396-.062l4.524-2.462a.6.6 0 0 1 .881.45l.668 5.106a.6.6 0 0 0 .182.357l3.739 3.542a.6.6 0 0 1-.155.977l-4.65 2.213a.6.6 0 0 0-.284.284zm.797 1.927l1.414-1.414 4.243 4.242-1.415 1.415-4.242-4.243z\"}}]}]})(props);\n};\nexport function RiMarkPenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.95 2.393l5.657 5.657a1 1 0 0 1 0 1.414l-7.779 7.779-2.12.707-1.415 1.414a1 1 0 0 1-1.414 0l-4.243-4.243a1 1 0 0 1 0-1.414l1.414-1.414.707-2.121 7.779-7.779a1 1 0 0 1 1.414 0zm.707 3.536l-6.364 6.364 1.414 1.414 6.364-6.364-1.414-1.414zM4.282 16.889l2.829 2.829-1.414 1.414-4.243-1.414 2.828-2.829z\"}}]}]})(props);\n};\nexport function RiMarkPenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.243 4.515l-6.738 6.737-.707 2.121-1.04 1.041 2.828 2.829 1.04-1.041 2.122-.707 6.737-6.738-4.242-4.242zm6.364 3.535a1 1 0 0 1 0 1.414l-7.779 7.779-2.12.707-1.415 1.414a1 1 0 0 1-1.414 0l-4.243-4.243a1 1 0 0 1 0-1.414l1.414-1.414.707-2.121 7.779-7.779a1 1 0 0 1 1.414 0l5.657 5.657zm-6.364-.707l1.414 1.414-4.95 4.95-1.414-1.414 4.95-4.95zM4.283 16.89l2.828 2.829-1.414 1.414-4.243-1.414 2.828-2.829z\"}}]}]})(props);\n};\nexport function RiMarkupFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm5.051-3.796l-.862-3.447a1 1 0 0 0-.97-.757H8.781a1 1 0 0 0-.97.757l-.862 3.447A7.967 7.967 0 0 0 12 20a7.967 7.967 0 0 0 5.051-1.796zM10 12h4v-1.5l-1.038-3.635a1 1 0 0 0-1.924 0L10 10.5V12z\"}}]}]})(props);\n};\nexport function RiMarkupLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10 10.5l1.038-3.635a1 1 0 0 1 1.924 0L14 10.5V12h.72a1 1 0 0 1 .97.757l1.361 5.447a8 8 0 1 0-10.102 0l1.362-5.447A1 1 0 0 1 9.28 12H10v-1.5zm2 9.5a7.952 7.952 0 0 0 3.265-.694L13.938 14h-3.876l-1.327 5.306A7.95 7.95 0 0 0 12 20zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiPaintBrushFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm2 9h6a1 1 0 0 1 1 1v3h1v6h-4v-6h1v-2H5a1 1 0 0 1-1-1v-2h2v1zm11.732 1.732l1.768-1.768 1.768 1.768a2.5 2.5 0 1 1-3.536 0z\"}}]}]})(props);\n};\nexport function RiPaintBrushLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v3h14V5H5zM4 3h16a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm2 9h6a1 1 0 0 1 1 1v3h1v6h-4v-6h1v-2H5a1 1 0 0 1-1-1v-2h2v1zm11.732 1.732l1.768-1.768 1.768 1.768a2.5 2.5 0 1 1-3.536 0z\"}}]}]})(props);\n};\nexport function RiPaintFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.228 18.732l1.768-1.768 1.767 1.768a2.5 2.5 0 1 1-3.535 0zM8.878 1.08l11.314 11.313a1 1 0 0 1 0 1.415l-8.485 8.485a1 1 0 0 1-1.414 0l-8.485-8.485a1 1 0 0 1 0-1.415l7.778-7.778-2.122-2.121L8.88 1.08zM11 6.03L3.929 13.1H18.07L11 6.03z\"}}]}]})(props);\n};\nexport function RiPaintLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.228 18.732l1.768-1.768 1.767 1.768a2.5 2.5 0 1 1-3.535 0zM8.878 1.08l11.314 11.313a1 1 0 0 1 0 1.415l-8.485 8.485a1 1 0 0 1-1.414 0l-8.485-8.485a1 1 0 0 1 0-1.415l7.778-7.778-2.122-2.121L8.88 1.08zM11 6.03L3.929 13.1 11 20.173l7.071-7.071L11 6.029z\"}}]}]})(props);\n};\nexport function RiPaletteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.522 0 10 3.978 10 8.889a5.558 5.558 0 0 1-5.556 5.555h-1.966c-.922 0-1.667.745-1.667 1.667 0 .422.167.811.422 1.1.267.3.434.689.434 1.122C13.667 21.256 12.9 22 12 22 6.478 22 2 17.522 2 12S6.478 2 12 2zM7.5 12a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM12 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiPaletteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.522 0 10 3.978 10 8.889a5.558 5.558 0 0 1-5.556 5.555h-1.966c-.922 0-1.667.745-1.667 1.667 0 .422.167.811.422 1.1.267.3.434.689.434 1.122C13.667 21.256 12.9 22 12 22 6.478 22 2 17.522 2 12S6.478 2 12 2zm-1.189 16.111a3.664 3.664 0 0 1 3.667-3.667h1.966A3.558 3.558 0 0 0 20 10.89C20 7.139 16.468 4 12 4a8 8 0 0 0-.676 15.972 3.648 3.648 0 0 1-.513-1.86zM7.5 12a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm9 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM12 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiPantoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18.922l-1.35-.545a1 1 0 0 1-.552-1.302L4 12.367v6.555zM8.86 21H7a1 1 0 0 1-1-1v-6.078L8.86 21zM6.022 5.968l9.272-3.746a1 1 0 0 1 1.301.552l5.62 13.908a1 1 0 0 1-.553 1.302L12.39 21.73a1 1 0 0 1-1.302-.553L5.47 7.27a1 1 0 0 1 .553-1.301zM9 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiPantoneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.764 8l-.295-.73a1 1 0 0 1 .553-1.302l9.272-3.746a1 1 0 0 1 1.301.552l5.62 13.908a1 1 0 0 1-.553 1.302L12.39 21.73a1 1 0 0 1-1.302-.553L11 20.96V21H7a1 1 0 0 1-1-1v-.27l-3.35-1.353a1 1 0 0 1-.552-1.302L5.764 8zM8 19h2.209L8 13.533V19zm-2-6.244l-1.673 4.141L6 17.608v-4.852zm1.698-5.309l4.87 12.054 7.418-2.997-4.87-12.053-7.418 2.996zm2.978 2.033a1 1 0 1 1-.749-1.855 1 1 0 0 1 .75 1.855z\"}}]}]})(props);\n};\nexport function RiPenNibFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 21.485l5.846-5.846a2 2 0 1 0-1.414-1.414l-5.846 5.846-1.06-1.06c2.827-3.3 3.888-6.954 5.302-13.082l6.364-.707 5.657 5.657-.707 6.364c-6.128 1.414-9.782 2.475-13.081 5.303l-1.061-1.06zM16.596 2.04l6.347 6.346a.5.5 0 0 1-.277.848l-1.474.23-5.656-5.656.212-1.485a.5.5 0 0 1 .848-.283z\"}}]}]})(props);\n};\nexport function RiPenNibLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.596 1.04l6.347 6.346a.5.5 0 0 1-.277.848l-1.474.23-5.656-5.656.212-1.485a.5.5 0 0 1 .848-.283zM4.595 20.15c3.722-3.331 7.995-4.328 12.643-5.52l.446-4.018-4.297-4.297-4.018.446c-1.192 4.648-2.189 8.92-5.52 12.643L2.454 18.01c2.828-3.3 3.89-6.953 5.303-13.081l6.364-.707 5.657 5.657-.707 6.364c-6.128 1.414-9.782 2.475-13.081 5.303L4.595 20.15zm5.284-6.03a2 2 0 1 1 2.828-2.828A2 2 0 0 1 9.88 14.12z\"}}]}]})(props);\n};\nexport function RiPencilFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9 6.858l4.242 4.243L7.242 21H3v-4.243l9.9-9.9zm1.414-1.414l2.121-2.122a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414l-2.122 2.121-4.242-4.242z\"}}]}]})(props);\n};\nexport function RiPencilLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.728 9.686l-1.414-1.414L5 17.586V19h1.414l9.314-9.314zm1.414-1.414l1.414-1.414-1.414-1.414-1.414 1.414 1.414 1.414zM7.242 21H3v-4.243L16.435 3.322a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414L7.243 21z\"}}]}]})(props);\n};\nexport function RiPencilRuler2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.636 12.707l1.828 1.829L8.88 13.12 7.05 11.293l1.414-1.414 1.829 1.828 1.414-1.414L9.88 8.464l1.414-1.414L13.12 8.88l1.415-1.415-1.829-1.828 2.829-2.828a1 1 0 0 1 1.414 0l4.242 4.242a1 1 0 0 1 0 1.414L8.464 21.192a1 1 0 0 1-1.414 0L2.808 16.95a1 1 0 0 1 0-1.414l2.828-2.829zm8.485 5.656l4.243-4.242L21 16.757V21h-4.242l-2.637-2.637zM5.636 9.878L2.807 7.05a1 1 0 0 1 0-1.415l2.829-2.828a1 1 0 0 1 1.414 0L9.88 5.635 5.636 9.878z\"}}]}]})(props);\n};\nexport function RiPencilRuler2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05 14.121L4.93 16.243l2.828 2.828L19.071 7.757 16.243 4.93 14.12 7.05l1.415 1.414L14.12 9.88l-1.414-1.415-1.414 1.415 1.414 1.414-1.414 1.414-1.414-1.414-1.415 1.414 1.415 1.414-1.415 1.415L7.05 14.12zm9.9-11.313l4.242 4.242a1 1 0 0 1 0 1.414L8.464 21.192a1 1 0 0 1-1.414 0L2.808 16.95a1 1 0 0 1 0-1.414L15.536 2.808a1 1 0 0 1 1.414 0zM14.12 18.363l1.415-1.414 2.242 2.243h1.414v-1.414l-2.242-2.243 1.414-1.414L21 16.757V21h-4.242l-2.637-2.637zM5.636 9.878L2.807 7.05a1 1 0 0 1 0-1.415l2.829-2.828a1 1 0 0 1 1.414 0L9.88 5.635 8.464 7.05 6.343 4.928 4.929 6.343l2.121 2.12-1.414 1.415z\"}}]}]})(props);\n};\nexport function RiPencilRulerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18v2h4v-2H5zM3 7l4-5 4 5v15H3V7zm18 1h-2v2h2v2h-3v2h3v2h-2v2h2v3a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3z\"}}]}]})(props);\n};\nexport function RiPencilRulerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8v12h4V8H5zM3 7l4-5 4 5v15H3V7zm16 9v-2h-3v-2h3v-2h-2V8h2V6h-4v14h4v-2h-2v-2h2zM14 4h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiQuillPenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2C6 2 4 16 3 22h1.998c.666-3.333 2.333-5.166 5.002-5.5 4-.5 7-4 8-7l-1.5-1 1-1c1-1 2.004-2.5 3.5-5.5z\"}}]}]})(props);\n};\nexport function RiQuillPenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.94 14.036c-.233.624-.43 1.2-.606 1.783.96-.697 2.101-1.139 3.418-1.304 2.513-.314 4.746-1.973 5.876-4.058l-1.456-1.455 1.413-1.415 1-1.001c.43-.43.915-1.224 1.428-2.368-5.593.867-9.018 4.292-11.074 9.818zM17 9.001L18 10c-1 3-4 6-8 6.5-2.669.334-4.336 2.167-5.002 5.5H3C4 16 6 2 21 2c-1 2.997-1.998 4.996-2.997 5.997L17 9.001z\"}}]}]})(props);\n};\nexport function RiRuler2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 21h-2v-3h-2v3H9v-2H7v2H4a1 1 0 0 1-1-1v-3h2v-2H3v-2h3v-2H3V9h2V7H3V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v9h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-3v-2h-2v2z\"}}]}]})(props);\n};\nexport function RiRuler2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 19h2v-5h-9V5H5v2h2v2H5v2h3v2H5v2h2v2H5v2h2v-2h2v2h2v-3h2v3h2v-2h2v2zm-5-7h8a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v8z\"}}]}]})(props);\n};\nexport function RiRulerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 13.207l2.121 2.121 1.414-1.414-2.12-2.121 2.12-2.121 2.829 2.828 1.414-1.414L9.88 8.257 12 6.136l2.121 2.121 1.415-1.414-2.122-2.121 2.829-2.829a1 1 0 0 1 1.414 0l4.95 4.95a1 1 0 0 1 0 1.414l-14.85 14.85a1 1 0 0 1-1.414 0l-4.95-4.95a1 1 0 0 1 0-1.414l3.536-3.536z\"}}]}]})(props);\n};\nexport function RiRulerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.343 14.621L3.515 17.45l3.535 3.535L20.485 7.55 16.95 4.015l-2.122 2.121 1.415 1.414-1.415 1.414-1.414-1.414-2.121 2.122 2.121 2.12L12 13.208l-2.121-2.121-2.122 2.121 1.415 1.414-1.415 1.415-1.414-1.415zM17.657 1.893l4.95 4.95a1 1 0 0 1 0 1.414l-14.85 14.85a1 1 0 0 1-1.414 0l-4.95-4.95a1 1 0 0 1 0-1.414l14.85-14.85a1 1 0 0 1 1.414 0z\"}}]}]})(props);\n};\nexport function RiScissors2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14.121l-2.317 2.317a4 4 0 1 1-2.121-2.121L9.88 12 4.21 6.333a2 2 0 0 1 0-2.829l.708-.707L12 9.88l7.081-7.082.708.707a2 2 0 0 1 0 2.829L14.12 12l2.317 2.317a4 4 0 1 1-2.121 2.121L12 14.12zM6 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm12 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiScissors2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.414l-2.554 2.554a4 4 0 1 1-1.414-1.414L10.586 12 4.565 5.98a2 2 0 0 1 0-2.83L12 10.587l7.435-7.435a2 2 0 0 1 0 2.828L13.415 12l2.553 2.554a4 4 0 1 1-1.414 1.414L12 13.414zM6 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm12 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiScissorsCutFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.879 12L7.562 9.683a4 4 0 1 1 2.121-2.121L12 9.88l6.374-6.375a2 2 0 0 1 2.829 0l.707.707L9.683 16.438a4 4 0 1 1-2.121-2.121L9.88 12zM6 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm9.535-6.587l6.375 6.376-.707.707a2 2 0 0 1-2.829 0l-4.96-4.961 2.12-2.122zM16 11h2v2h-2v-2zm4 0h2v2h-2v-2zM6 11h2v2H6v-2zm-4 0h2v2H2v-2z\"}}]}]})(props);\n};\nexport function RiScissorsCutLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6c0 .732-.197 1.419-.54 2.01L12 10.585l6.728-6.728a2 2 0 0 1 2.828 0l-12.11 12.11a4 4 0 1 1-1.414-1.414L10.586 12 8.032 9.446A4 4 0 1 1 10 6zM8 6a2 2 0 1 0-4 0 2 2 0 0 0 4 0zm13.556 14.142a2 2 0 0 1-2.828 0l-5.317-5.316 1.415-1.415 6.73 6.731zM16 11h2v2h-2v-2zm4 0h2v2h-2v-2zM6 11h2v2H6v-2zm-4 0h2v2H2v-2zm4 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiScissorsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.683 7.562L12 9.88l6.374-6.375a2 2 0 0 1 2.829 0l.707.707L9.683 16.438a4 4 0 1 1-2.121-2.121L9.88 12 7.562 9.683a4 4 0 1 1 2.121-2.121zM6 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm9.535-6.587l6.375 6.376-.707.707a2 2 0 0 1-2.829 0l-4.96-4.961 2.12-2.122z\"}}]}]})(props);\n};\nexport function RiScissorsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.446 8.032L12 10.586l6.728-6.728a2 2 0 0 1 2.828 0l-12.11 12.11a4 4 0 1 1-1.414-1.414L10.586 12 8.032 9.446a4 4 0 1 1 1.414-1.414zm5.38 5.38l6.73 6.73a2 2 0 0 1-2.828 0l-5.317-5.316 1.415-1.415zm-7.412 3.174a2 2 0 1 0-2.828 2.828 2 2 0 0 0 2.828-2.828zm0-9.172a2 2 0 1 0-2.828-2.828 2 2 0 0 0 2.828 2.828z\"}}]}]})(props);\n};\nexport function RiScreenshot2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h2v2H3V3zm4 0h2v2H7V3zm4 0h2v2h-2V3zm4 0h2v2h-2V3zm4 0h2v2h-2V3zm0 4h2v2h-2V7zM3 19h2v2H3v-2zm0-4h2v2H3v-2zm0-4h2v2H3v-2zm0-4h2v2H3V7zm7.667 4l1.036-1.555A1 1 0 0 1 12.535 9h2.93a1 1 0 0 1 .832.445L17.333 11H20a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h2.667zM14 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiScreenshot2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h2v2H3V3zm4 0h2v2H7V3zm4 0h2v2h-2V3zm4 0h2v2h-2V3zm4 0h2v2h-2V3zm0 4h2v2h-2V7zM3 19h2v2H3v-2zm0-4h2v2H3v-2zm0-4h2v2H3v-2zm0-4h2v2H3V7zm7.667 4l1.036-1.555A1 1 0 0 1 12.535 9h2.93a1 1 0 0 1 .832.445L17.333 11H20a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h2.667zM9 19h10v-6h-2.737l-1.333-2h-1.86l-1.333 2H9v6zm5-1a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiScreenshotFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.993 14.407l-1.552 1.552a4 4 0 1 1-1.418-1.41l1.555-1.556-3.124-3.125a1.5 1.5 0 0 1 0-2.121l.354-.354 4.185 4.185 4.189-4.189.353.354a1.5 1.5 0 0 1 0 2.12l-3.128 3.13 1.561 1.56a4 4 0 1 1-1.414 1.414l-1.561-1.56zM19 13V5H5v8H3V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v9h-2zM7 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm10 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiScreenshotLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.993 14.407l-1.552 1.552a4 4 0 1 1-1.418-1.41l1.555-1.556-4.185-4.185 1.415-1.415 4.185 4.185 4.189-4.189 1.414 1.414-4.19 4.19 1.562 1.56a4 4 0 1 1-1.414 1.414l-1.561-1.56zM7 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm10 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm2-7V5H5v8H3V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v9h-2z\"}}]}]})(props);\n};\nexport function RiShape2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2h5v5H2V2zm0 15h5v5H2v-5zM17 2h5v5h-5V2zm0 15h5v5h-5v-5zM8 4h8v2H8V4zM4 8h2v8H4V8zm14 0h2v8h-2V8zM8 18h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiShape2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16h2v6h-6v-2H8v2H2v-6h2V8H2V2h6v2h8V2h6v6h-2v8zm-2 0V8h-2V6H8v2H6v8h2v2h8v-2h2zM4 4v2h2V4H4zm0 14v2h2v-2H4zM18 4v2h2V4h-2zm0 14v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiShapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm14 0a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 14a3 3 0 1 1 0-6 3 3 0 0 1 0 6zM5 22a3 3 0 1 1 0-6 3 3 0 0 1 0 6zM9 4h6v2H9V4zm0 14h6v2H9v-2zM4 9h2v6H4V9zm14 0h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiShapeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.83 20A3.001 3.001 0 1 1 4 16.17V7.83A3.001 3.001 0 1 1 7.83 4h8.34A3.001 3.001 0 1 1 20 7.83v8.34A3.001 3.001 0 1 1 16.17 20H7.83zm0-2h8.34A3.008 3.008 0 0 1 18 16.17V7.83A3.008 3.008 0 0 1 16.17 6H7.83A3.008 3.008 0 0 1 6 7.83v8.34A3.008 3.008 0 0 1 7.83 18zM5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm14 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM5 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiSipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.96 6.504l2.829-2.828a1 1 0 0 1 1.414 0l2.121 2.121a1 1 0 0 1 0 1.414l-2.828 2.829 1.767 1.768-1.414 1.414-7.07-7.071 1.413-1.414 1.768 1.767zM10.778 8.98l4.243 4.243L7.243 21H3v-4.243l7.778-7.778z\"}}]}]})(props);\n};\nexport function RiSipLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.457 18.957l8.564-8.564-1.414-1.414-8.564 8.564 1.414 1.414zm5.735-11.392l-1.414-1.414 1.414-1.414 1.768 1.767 2.829-2.828a1 1 0 0 1 1.414 0l2.121 2.121a1 1 0 0 1 0 1.414l-2.828 2.829 1.767 1.768-1.414 1.414-1.414-1.414L7.243 21H3v-4.243l9.192-9.192z\"}}]}]})(props);\n};\nexport function RiSliceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.768 12.232l2.121 2.122c-4.596 4.596-10.253 6.01-13.788 5.303L17.657 4.1l2.121 2.12-6.01 6.011z\"}}]}]})(props);\n};\nexport function RiSliceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.69 12.918l1.769 1.768c-6.01 6.01-10.96 6.01-15.203 4.596L17.812 3.726l3.536 3.535-5.657 5.657zm-2.828 0l5.657-5.657-.707-.707L6.314 18.052c2.732.107 5.358-.907 8.267-3.416l-1.719-1.718z\"}}]}]})(props);\n};\nexport function RiTBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8H7v2h4v7h2v-7h4V8zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiTBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v14h14V5H5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm9 7v7h-2v-7H7V8h10v2h-4z\"}}]}]})(props);\n};\nexport function RiTableAltFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14V3H3a1 1 0 0 0-1 1v10h5zm8 0V3H9v11h6zm7 0V4a1 1 0 0 0-1-1h-4v11h5zm-1 7a1 1 0 0 0 1-1v-4H2v4a1 1 0 0 0 1 1h18z\"}}]}]})(props);\n};\nexport function RiTableAltLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-1 13H4v3h16v-3zM8 5H4v9h4V5zm6 0h-4v9h4V5zm6 0h-4v9h4V5z\"}}]}]})(props);\n};\nexport function RiTableFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 21H9V10h6v11zm2 0V10h5v10a1 1 0 0 1-1 1h-4zM7 21H3a1 1 0 0 1-1-1V10h5v11zM22 8H2V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v4z\"}}]}]})(props);\n};\nexport function RiTableLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8h16V5H4v3zm10 11v-9h-4v9h4zm2 0h4v-9h-4v9zm-8 0v-9H4v9h4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiToolsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.33 3.271a3.5 3.5 0 0 1 4.472 4.474L20.647 18.59l-2.122 2.121L7.68 9.867a3.5 3.5 0 0 1-4.472-4.474L5.444 7.63a1.5 1.5 0 1 0 2.121-2.121L5.329 3.27zm10.367 1.884l3.182-1.768 1.414 1.414-1.768 3.182-1.768.354-2.12 2.121-1.415-1.414 2.121-2.121.354-1.768zm-7.071 7.778l2.121 2.122-4.95 4.95A1.5 1.5 0 0 1 3.58 17.99l.097-.107 4.95-4.95z\"}}]}]})(props);\n};\nexport function RiToolsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.33 3.271a3.5 3.5 0 0 1 4.254 4.963l10.709 10.71-1.414 1.414-10.71-10.71a3.502 3.502 0 0 1-4.962-4.255L5.444 7.63a1.5 1.5 0 1 0 2.121-2.121L5.329 3.27zm10.367 1.884l3.182-1.768 1.414 1.414-1.768 3.182-1.768.354-2.12 2.121-1.415-1.414 2.121-2.121.354-1.768zm-6.718 8.132l1.414 1.414-5.303 5.303a1 1 0 0 1-1.492-1.327l.078-.087 5.303-5.303z\"}}]}]})(props);\n};\nexport function RiBracesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18v-3.7a1.5 1.5 0 0 0-1.5-1.5H2v-1.6h.5A1.5 1.5 0 0 0 4 9.7V6a3 3 0 0 1 3-3h1v2H7a1 1 0 0 0-1 1v4.1A2 2 0 0 1 4.626 12 2 2 0 0 1 6 13.9V18a1 1 0 0 0 1 1h1v2H7a3 3 0 0 1-3-3zm16-3.7V18a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-4.1a2 2 0 0 1 1.374-1.9A2 2 0 0 1 18 10.1V6a1 1 0 0 0-1-1h-1V3h1a3 3 0 0 1 3 3v3.7a1.5 1.5 0 0 0 1.5 1.5h.5v1.6h-.5a1.5 1.5 0 0 0-1.5 1.5z\"}}]}]})(props);\n};\nexport function RiBracesLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18v-3.7a1.5 1.5 0 0 0-1.5-1.5H2v-1.6h.5A1.5 1.5 0 0 0 4 9.7V6a3 3 0 0 1 3-3h1v2H7a1 1 0 0 0-1 1v4.1A2 2 0 0 1 4.626 12 2 2 0 0 1 6 13.9V18a1 1 0 0 0 1 1h1v2H7a3 3 0 0 1-3-3zm16-3.7V18a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-4.1a2 2 0 0 1 1.374-1.9A2 2 0 0 1 18 10.1V6a1 1 0 0 0-1-1h-1V3h1a3 3 0 0 1 3 3v3.7a1.5 1.5 0 0 0 1.5 1.5h.5v1.6h-.5a1.5 1.5 0 0 0-1.5 1.5z\"}}]}]})(props);\n};\nexport function RiBracketsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3v2H6v14h3v2H4V3h5zm6 0h5v18h-5v-2h3V5h-3V3z\"}}]}]})(props);\n};\nexport function RiBracketsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3v2H6v14h3v2H4V3h5zm6 0h5v18h-5v-2h3V5h-3V3z\"}}]}]})(props);\n};\nexport function RiBug2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.07 16A7.06 7.06 0 0 1 5 15v-1H3v-2h2v-1c0-.34.024-.673.07-1H3V8h2.674a7.03 7.03 0 0 1 2.84-3.072l-1.05-1.05L8.88 2.465l1.683 1.684a7.03 7.03 0 0 1 2.876 0l1.683-1.684 1.415 1.415-1.05 1.05A7.03 7.03 0 0 1 18.326 8H21v2h-2.07c.046.327.07.66.07 1v1h2v2h-2v1c0 .34-.024.673-.07 1H21v2h-2.674a7 7 0 0 1-12.652 0H3v-2h2.07zM9 10v2h6v-2H9zm0 4v2h6v-2H9z\"}}]}]})(props);\n};\nexport function RiBug2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.562 4.148a7.03 7.03 0 0 1 2.876 0l1.683-1.684 1.415 1.415-1.05 1.05A7.03 7.03 0 0 1 18.326 8H21v2h-2.07c.046.327.07.66.07 1v1h2v2h-2v1c0 .34-.024.673-.07 1H21v2h-2.674a7 7 0 0 1-12.652 0H3v-2h2.07A7.06 7.06 0 0 1 5 15v-1H3v-2h2v-1c0-.34.024-.673.07-1H3V8h2.674a7.03 7.03 0 0 1 2.84-3.072l-1.05-1.05L8.88 2.465l1.683 1.684zM12 6a5 5 0 0 0-5 5v4a5 5 0 0 0 10 0v-4a5 5 0 0 0-5-5zm-3 8h6v2H9v-2zm0-4h6v2H9v-2z\"}}]}]})(props);\n};\nexport function RiBugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.056 8.3a7.01 7.01 0 0 1 .199-.3h11.49c.069.098.135.199.199.3l2.02-1.166 1 1.732-2.213 1.278c.162.59.249 1.213.249 1.856v1h3v2h-3c0 .953-.19 1.862-.536 2.69l2.5 1.444-1 1.732-2.526-1.458A6.992 6.992 0 0 1 13 21.929V14h-2v7.93a6.992 6.992 0 0 1-4.438-2.522l-2.526 1.458-1-1.732 2.5-1.443A6.979 6.979 0 0 1 5 15H2v-2h3v-1c0-.643.087-1.265.249-1.856L3.036 8.866l1-1.732L6.056 8.3zM8 6a4 4 0 1 1 8 0H8z\"}}]}]})(props);\n};\nexport function RiBugLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 19.9a5.002 5.002 0 0 0 4-4.9v-3a4.98 4.98 0 0 0-.415-2h-9.17A4.98 4.98 0 0 0 7 12v3a5.002 5.002 0 0 0 4 4.9V14h2v5.9zm-7.464-2.21A6.979 6.979 0 0 1 5 15H2v-2h3v-1c0-.643.087-1.265.249-1.856L3.036 8.866l1-1.732L6.056 8.3a7.01 7.01 0 0 1 .199-.3h11.49c.069.098.135.199.199.3l2.02-1.166 1 1.732-2.213 1.278c.162.59.249 1.213.249 1.856v1h3v2h-3c0 .953-.19 1.862-.536 2.69l2.5 1.444-1 1.732-2.526-1.458A6.986 6.986 0 0 1 12 22a6.986 6.986 0 0 1-5.438-2.592l-2.526 1.458-1-1.732 2.5-1.443zM8 6a4 4 0 1 1 8 0H8z\"}}]}]})(props);\n};\nexport function RiCodeBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm13.464 12.536L20 12l-3.536-3.536L15.05 9.88 17.172 12l-2.122 2.121 1.414 1.415zM6.828 12L8.95 9.879 7.536 8.464 4 12l3.536 3.536L8.95 14.12 6.828 12zm4.416 5l3.64-10h-2.128l-3.64 10h2.128z\"}}]}]})(props);\n};\nexport function RiCodeBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm16 7l-3.536 3.536-1.414-1.415L17.172 12 15.05 9.879l1.414-1.415L20 12zM6.828 12l2.122 2.121-1.414 1.415L4 12l3.536-3.536L8.95 9.88 6.828 12zm4.416 5H9.116l3.64-10h2.128l-3.64 10z\"}}]}]})(props);\n};\nexport function RiCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23 12l-7.071 7.071-1.414-1.414L20.172 12l-5.657-5.657 1.414-1.414L23 12zM3.828 12l5.657 5.657-1.414 1.414L1 12l7.071-7.071 1.414 1.414L3.828 12z\"}}]}]})(props);\n};\nexport function RiCodeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23 12l-7.071 7.071-1.414-1.414L20.172 12l-5.657-5.657 1.414-1.414L23 12zM3.828 12l5.657 5.657-1.414 1.414L1 12l7.071-7.071 1.414 1.414L3.828 12z\"}}]}]})(props);\n};\nexport function RiCodeSFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M24 12l-5.657 5.657-1.414-1.414L21.172 12l-4.243-4.243 1.414-1.414L24 12zM2.828 12l4.243 4.243-1.414 1.414L0 12l5.657-5.657L7.07 7.757 2.828 12z\"}}]}]})(props);\n};\nexport function RiCodeSLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M24 12l-5.657 5.657-1.414-1.414L21.172 12l-4.243-4.243 1.414-1.414L24 12zM2.828 12l4.243 4.243-1.414 1.414L0 12l5.657-5.657L7.07 7.757 2.828 12z\"}}]}]})(props);\n};\nexport function RiCodeSSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M24 12l-5.657 5.657-1.414-1.414L21.172 12l-4.243-4.243 1.414-1.414L24 12zM2.828 12l4.243 4.243-1.414 1.414L0 12l5.657-5.657L7.07 7.757 2.828 12zm6.96 9H7.66l6.552-18h2.128L9.788 21z\"}}]}]})(props);\n};\nexport function RiCodeSSlashLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M24 12l-5.657 5.657-1.414-1.414L21.172 12l-4.243-4.243 1.414-1.414L24 12zM2.828 12l4.243 4.243-1.414 1.414L0 12l5.657-5.657L7.07 7.757 2.828 12zm6.96 9H7.66l6.552-18h2.128L9.788 21z\"}}]}]})(props);\n};\nexport function RiCommandFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10 8h4V6.5a3.5 3.5 0 1 1 3.5 3.5H16v4h1.5a3.5 3.5 0 1 1-3.5 3.5V16h-4v1.5A3.5 3.5 0 1 1 6.5 14H8v-4H6.5A3.5 3.5 0 1 1 10 6.5V8zM8 8V6.5A1.5 1.5 0 1 0 6.5 8H8zm0 8H6.5A1.5 1.5 0 1 0 8 17.5V16zm8-8h1.5A1.5 1.5 0 1 0 16 6.5V8zm0 8v1.5a1.5 1.5 0 1 0 1.5-1.5H16zm-6-6v4h4v-4h-4z\"}}]}]})(props);\n};\nexport function RiCommandLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10 8h4V6.5a3.5 3.5 0 1 1 3.5 3.5H16v4h1.5a3.5 3.5 0 1 1-3.5 3.5V16h-4v1.5A3.5 3.5 0 1 1 6.5 14H8v-4H6.5A3.5 3.5 0 1 1 10 6.5V8zM8 8V6.5A1.5 1.5 0 1 0 6.5 8H8zm0 8H6.5A1.5 1.5 0 1 0 8 17.5V16zm8-8h1.5A1.5 1.5 0 1 0 16 6.5V8zm0 8v1.5a1.5 1.5 0 1 0 1.5-1.5H16zm-6-6v4h4v-4h-4z\"}}]}]})(props);\n};\nexport function RiCss3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5 3l-.65 3.34h13.59L17.5 8.5H3.92l-.66 3.33h13.59l-.76 3.81-5.48 1.81-4.75-1.81.33-1.64H2.85l-.79 4 7.85 3 9.05-3 1.2-6.03.24-1.21L21.94 3z\"}}]}]})(props);\n};\nexport function RiCss3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.8 14h2.04l-.545 2.725 5.744 2.154 7.227-2.41L18.36 11H3.4l.4-2h14.96l.8-4H4.6L5 3h17l-3 15-9 3-8-3z\"}}]}]})(props);\n};\nexport function RiCursorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.91 12.36L17 20.854l-2.818 1.026-3.092-8.494-4.172 3.156 1.49-14.909 10.726 10.463z\"}}]}]})(props);\n};\nexport function RiCursorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.388 13.498l2.552 7.014-4.698 1.71-2.553-7.014-3.899 2.445L8.41 1.633l11.537 11.232-4.558.633zm-.011 5.818l-2.715-7.46 2.96-.41-5.64-5.49-.79 7.83 2.53-1.587 2.715 7.46.94-.343z\"}}]}]})(props);\n};\nexport function RiGitBranchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.105 15.21A3.001 3.001 0 1 1 5 15.17V8.83a3.001 3.001 0 1 1 2 0V12c.836-.628 1.874-1 3-1h4a3.001 3.001 0 0 0 2.895-2.21 3.001 3.001 0 1 1 2.032.064A5.001 5.001 0 0 1 14 13h-4a3.001 3.001 0 0 0-2.895 2.21z\"}}]}]})(props);\n};\nexport function RiGitBranchLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.105 15.21A3.001 3.001 0 1 1 5 15.17V8.83a3.001 3.001 0 1 1 2 0V12c.836-.628 1.874-1 3-1h4a3.001 3.001 0 0 0 2.895-2.21 3.001 3.001 0 1 1 2.032.064A5.001 5.001 0 0 1 14 13h-4a3.001 3.001 0 0 0-2.895 2.21zM6 17a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM6 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]}]})(props);\n};\nexport function RiGitCommitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.874 13a4.002 4.002 0 0 1-7.748 0H3v-2h5.126a4.002 4.002 0 0 1 7.748 0H21v2h-5.126z\"}}]}]})(props);\n};\nexport function RiGitCommitLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.874 13a4.002 4.002 0 0 1-7.748 0H3v-2h5.126a4.002 4.002 0 0 1 7.748 0H21v2h-5.126zM12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiGitMergeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.105 8.79A3.001 3.001 0 0 0 10 11h4a5.001 5.001 0 0 1 4.927 4.146A3.001 3.001 0 0 1 18 21a3 3 0 0 1-1.105-5.79A3.001 3.001 0 0 0 14 13h-4a4.978 4.978 0 0 1-3-1v3.17a3.001 3.001 0 1 1-2 0V8.83a3.001 3.001 0 1 1 2.105-.04z\"}}]}]})(props);\n};\nexport function RiGitMergeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.105 8.79A3.001 3.001 0 0 0 10 11h4a5.001 5.001 0 0 1 4.927 4.146A3.001 3.001 0 0 1 18 21a3 3 0 0 1-1.105-5.79A3.001 3.001 0 0 0 14 13h-4a4.978 4.978 0 0 1-3-1v3.17a3.001 3.001 0 1 1-2 0V8.83a3.001 3.001 0 1 1 2.105-.04zM6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm12 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiGitPullRequestFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5h2a2 2 0 0 1 2 2v8.17a3.001 3.001 0 1 1-2 0V7h-2v3l-4.5-4L15 2v3zM5 8.83a3.001 3.001 0 1 1 2 0v6.34a3.001 3.001 0 1 1-2 0V8.83z\"}}]}]})(props);\n};\nexport function RiGitPullRequestLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5h2a2 2 0 0 1 2 2v8.17a3.001 3.001 0 1 1-2 0V7h-2v3l-4.5-4L15 2v3zM5 8.83a3.001 3.001 0 1 1 2 0v6.34a3.001 3.001 0 1 1-2 0V8.83zM6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm12 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiGitRepositoryCommitsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 17v6h-2v-6H9l4-5 4 5h-3zm2 2h3v-3h-.8L13 9.5 7.647 16H6.5a1.5 1.5 0 0 0 0 3H10v2H6.5A3.5 3.5 0 0 1 3 17.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-4v-2zM7 5v2h2V5H7zm0 3v2h2V8H7z\"}}]}]})(props);\n};\nexport function RiGitRepositoryCommitsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18 16v-2h1V4H6v10.035A3.53 3.53 0 0 1 6.5 14H8v2H6.5a1.5 1.5 0 0 0 0 3H10v2H6.5A3.5 3.5 0 0 1 3 17.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-4v-2h3v-3h-1zM7 5h2v2H7V5zm0 3h2v2H7V8zm7 9v6h-2v-6H9l4-5 4 5h-3z\"}}]}]})(props);\n};\nexport function RiGitRepositoryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21v2.5l-3-2-3 2V21h-.5A3.5 3.5 0 0 1 3 17.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-7zm-6-2v-2h6v2h6v-3H6.5a1.5 1.5 0 0 0 0 3H7zM7 5v2h2V5H7zm0 3v2h2V8H7zm0 3v2h2v-2H7z\"}}]}]})(props);\n};\nexport function RiGitRepositoryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 21v2.5l-3-2-3 2V21h-.5A3.5 3.5 0 0 1 3 17.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v17a1 1 0 0 1-1 1h-7zm0-2h6v-3H6.5a1.5 1.5 0 0 0 0 3H7v-2h6v2zm6-5V4H6v10.035A3.53 3.53 0 0 1 6.5 14H19zM7 5h2v2H7V5zm0 3h2v2H7V8zm0 3h2v2H7v-2z\"}}]}]})(props);\n};\nexport function RiGitRepositoryPrivateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18 8h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2V7a6 6 0 1 1 12 0v1zm-2 0V7a4 4 0 1 0-8 0v1h8zm-9 3v2h2v-2H7zm0 3v2h2v-2H7zm0 3v2h2v-2H7z\"}}]}]})(props);\n};\nexport function RiGitRepositoryPrivateLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M6 10v10h13V10H6zm12-2h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2V7a6 6 0 1 1 12 0v1zm-2 0V7a4 4 0 1 0-8 0v1h8zm-9 3h2v2H7v-2zm0 3h2v2H7v-2zm0 3h2v2H7v-2z\"}}]}]})(props);\n};\nexport function RiHtml5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 18.178l4.62-1.256.623-6.778H9.026L8.822 7.89h8.626l.227-2.211H6.325l.636 6.678h7.82l-.261 2.866-2.52.667-2.52-.667-.158-1.844h-2.27l.329 3.544L12 18.178zM3 2h18l-1.623 18L12 22l-7.377-2L3 2z\"}}]}]})(props);\n};\nexport function RiHtml5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 18.178l-4.62-1.256-.328-3.544h2.27l.158 1.844 2.52.667 2.52-.667.26-2.866H6.96l-.635-6.678h11.35l-.227 2.21H8.822l.204 2.256h8.217l-.624 6.778L12 18.178zM3 2h18l-1.623 18L12 22l-7.377-2L3 2zm2.188 2L6.49 18.434 12 19.928l5.51-1.494L18.812 4H5.188z\"}}]}]})(props);\n};\nexport function RiParenthesesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.923 21C5.113 18.664 4 15.493 4 12c0-3.493 1.113-6.664 2.923-9h2.014C7.235 5.388 6.2 8.542 6.2 12s1.035 6.612 2.737 9H6.923zm10.151 0H15.06c1.702-2.388 2.737-5.542 2.737-9s-1.035-6.612-2.737-9h2.014c1.81 2.336 2.923 5.507 2.923 9 0 3.493-1.112 6.664-2.923 9z\"}}]}]})(props);\n};\nexport function RiParenthesesLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.923 21C5.113 18.664 4 15.493 4 12c0-3.493 1.113-6.664 2.923-9h2.014C7.235 5.388 6.2 8.542 6.2 12s1.035 6.612 2.737 9H6.923zm10.151 0H15.06c1.702-2.388 2.737-5.542 2.737-9s-1.035-6.612-2.737-9h2.014c1.81 2.336 2.923 5.507 2.923 9 0 3.493-1.112 6.664-2.923 9z\"}}]}]})(props);\n};\nexport function RiTerminalBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm9 12v2h6v-2h-6zm-3.586-3l-2.828 2.828L7 16.243 11.243 12 7 7.757 5.586 9.172 8.414 12z\"}}]}]})(props);\n};\nexport function RiTerminalBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm8 10h6v2h-6v-2zm-3.333-3L5.838 9.172l1.415-1.415L11.495 12l-4.242 4.243-1.415-1.415L8.667 12z\"}}]}]})(props);\n};\nexport function RiTerminalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12l-7.071 7.071-1.414-1.414L8.172 12 2.515 6.343 3.929 4.93 11 12zm0 7h10v2H11v-2z\"}}]}]})(props);\n};\nexport function RiTerminalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12l-7.071 7.071-1.414-1.414L8.172 12 2.515 6.343 3.929 4.93 11 12zm0 7h10v2H11v-2z\"}}]}]})(props);\n};\nexport function RiTerminalWindowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10H4v9h16v-9zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm2 3v2h2V6H5zm4 0v2h2V6H9zm-4 5h3v5H5v-5z\"}}]}]})(props);\n};\nexport function RiTerminalWindowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9V5H4v4h16zm0 2H4v8h16v-8zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm2 9h3v5H5v-5zm0-6h2v2H5V6zm4 0h2v2H9V6z\"}}]}]})(props);\n};\nexport function RiAirplayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.4 13.533l5 6.667a.5.5 0 0 1-.4.8H7a.5.5 0 0 1-.4-.8l5-6.667a.5.5 0 0 1 .8 0zM18 19v-2h2V5H4v12h2v2H2.992A.994.994 0 0 1 2 18V4c0-.552.455-1 .992-1h18.016c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H18z\"}}]}]})(props);\n};\nexport function RiAirplayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.4 13.533l5 6.667a.5.5 0 0 1-.4.8H7a.5.5 0 0 1-.4-.8l5-6.667a.5.5 0 0 1 .8 0zM12 16.33L10 19h4l-2-2.67zM18 19v-2h2V5H4v12h2v2H2.992A.994.994 0 0 1 2 18V4c0-.552.455-1 .992-1h18.016c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H18z\"}}]}]})(props);\n};\nexport function RiBarcodeBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm3 4v10h3V7H6zm4 0v10h2V7h-2zm3 0v10h1V7h-1zm2 0v10h3V7h-3z\"}}]}]})(props);\n};\nexport function RiBarcodeBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm3 4h3v10H6V7zm4 0h2v10h-2V7zm3 0h1v10h-1V7zm2 0h3v10h-3V7z\"}}]}]})(props);\n};\nexport function RiBarcodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4h2v16H2V4zm4 0h2v16H6V4zm3 0h3v16H9V4zm4 0h2v16h-2V4zm3 0h2v16h-2V4zm3 0h3v16h-3V4z\"}}]}]})(props);\n};\nexport function RiBarcodeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4h2v16H2V4zm4 0h1v16H6V4zm2 0h2v16H8V4zm3 0h2v16h-2V4zm3 0h2v16h-2V4zm3 0h1v16h-1V4zm2 0h3v16h-3V4z\"}}]}]})(props);\n};\nexport function RiBaseStationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13l6 9H6l6-9zm-1.06-2.44a1.5 1.5 0 1 1 2.12-2.12 1.5 1.5 0 0 1-2.12 2.12zM5.281 2.783l1.415 1.415a7.5 7.5 0 0 0 0 10.606l-1.415 1.415a9.5 9.5 0 0 1 0-13.436zm13.436 0a9.5 9.5 0 0 1 0 13.436l-1.415-1.415a7.5 7.5 0 0 0 0-10.606l1.415-1.415zM8.11 5.611l1.414 1.414a3.5 3.5 0 0 0 0 4.95l-1.414 1.414a5.5 5.5 0 0 1 0-7.778zm7.778 0a5.5 5.5 0 0 1 0 7.778l-1.414-1.414a3.5 3.5 0 0 0 0-4.95l1.414-1.414z\"}}]}]})(props);\n};\nexport function RiBaseStationLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 13l6 9H6l6-9zm0 3.6L9.74 20h4.52L12 16.6zm-1.06-6.04a1.5 1.5 0 1 1 2.12-2.12 1.5 1.5 0 0 1-2.12 2.12zM5.281 2.783l1.415 1.415a7.5 7.5 0 0 0 0 10.606l-1.415 1.415a9.5 9.5 0 0 1 0-13.436zm13.436 0a9.5 9.5 0 0 1 0 13.436l-1.415-1.415a7.5 7.5 0 0 0 0-10.606l1.415-1.415zM8.11 5.611l1.414 1.414a3.5 3.5 0 0 0 0 4.95l-1.414 1.414a5.5 5.5 0 0 1 0-7.778zm7.778 0a5.5 5.5 0 0 1 0 7.778l-1.414-1.414a3.5 3.5 0 0 0 0-4.95l1.414-1.414z\"}}]}]})(props);\n};\nexport function RiBattery2ChargeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3zm4 8V7l-5 7h3v5l5-7h-3z\"}}]}]})(props);\n};\nexport function RiBattery2ChargeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12h3l-5 7v-5H8l5-7v5zm-2-6H7v14h10V6h-4V4h-2v2zM9 4V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3z\"}}]}]})(props);\n};\nexport function RiBattery2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3z\"}}]}]})(props);\n};\nexport function RiBattery2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6H7v14h10V6h-4V4h-2v2zM9 4V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3z\"}}]}]})(props);\n};\nexport function RiBatteryChargeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11V5l-5 8h3v6l5-8h-3zM3 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm18 4h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiBatteryChargeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h6.625L8.458 7H4v10h4v2zm4.375 0l1.167-2H18V7h-4V5h5a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-6.625zM21 9h2v6h-2V9zm-9 2h3l-5 8v-6H7l5-8v6z\"}}]}]})(props);\n};\nexport function RiBatteryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm18 4h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiBatteryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7v10h14V7H4zM3 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm18 4h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiBatteryLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm2 3v8h4V8H5zm16 1h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiBatteryLowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 7v10h14V7H4zM3 5h16a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm2 3h4v8H5V8zm16 1h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiBatterySaverFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1h4zm-1 7h-2v3H8v2h3v3h2v-3h3v-2h-3V9z\"}}]}]})(props);\n};\nexport function RiBatterySaverLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 2a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1h4zm-1 2h-2v2H7v14h10V6h-4V4zm0 5v3h3v2h-3v3h-2v-3H8v-2h3V9h2z\"}}]}]})(props);\n};\nexport function RiBatteryShareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v6.2L15 8v3h-1c-2.142 0-4 1.79-4 4v3h2v-3c0-1.05.95-2 2-2h1v3l4-3.2V21a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1h4z\"}}]}]})(props);\n};\nexport function RiBatteryShareLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 2a1 1 0 0 1 1 1v1h3a1 1 0 0 1 1 1v2h-2V6h-4V4h-2v2H7v14h10v-3h2v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V3a1 1 0 0 1 1-1h4zm1 6l5 4-5 4v-3h-1c-1.054 0-2 .95-2 2v3h-2v-3a4 4 0 0 1 4-4h1V8z\"}}]}]})(props);\n};\nexport function RiBluetoothConnectFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.341 12.03l4.343 4.343-5.656 5.656h-2v-6.686l-4.364 4.364-1.415-1.414 5.779-5.778v-.97L5.249 5.765l1.415-1.414 4.364 4.364V2.029h2l5.656 5.657-4.343 4.343zm-1.313 1.514v5.657l2.828-2.828-2.828-2.829zm0-3.03l2.828-2.828-2.828-2.828v5.657zM19.5 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm-13 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiBluetoothConnectLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.341 12.03l4.343 4.343-5.656 5.656h-2v-6.686l-4.364 4.364-1.415-1.414 5.779-5.778v-.97L5.249 5.765l1.415-1.414 4.364 4.364V2.029h2l5.656 5.657-4.343 4.343zm-1.313 1.514v5.657l2.828-2.828-2.828-2.829zm0-3.03l2.828-2.828-2.828-2.828v5.657zM19.5 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm-13 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiBluetoothFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.341 12.03l4.343 4.343-5.656 5.656h-2v-6.686l-4.364 4.364-1.415-1.414 5.779-5.778v-.97L5.249 5.765l1.415-1.414 4.364 4.364V2.029h2l5.656 5.657-4.343 4.343zm-1.313 1.514v5.657l2.828-2.828-2.828-2.829zm0-3.03l2.828-2.828-2.828-2.828v5.657z\"}}]}]})(props);\n};\nexport function RiBluetoothLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.341 12.03l4.343 4.343-5.656 5.656h-2v-6.686l-4.364 4.364-1.415-1.414 5.779-5.778v-.97L5.249 5.765l1.415-1.414 4.364 4.364V2.029h2l5.656 5.657-4.343 4.343zm-1.313 1.514v5.657l2.828-2.828-2.828-2.829zm0-3.03l2.828-2.828-2.828-2.828v5.657z\"}}]}]})(props);\n};\nexport function RiCastFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-6a13.1 13.1 0 0 0-.153-2H20V5H4v3.153A13.1 13.1 0 0 0 2 8V4a1 1 0 0 1 1-1zm10 18h-2a9 9 0 0 0-9-9v-2c6.075 0 11 4.925 11 11zm-4 0H7a5 5 0 0 0-5-5v-2a7 7 0 0 1 7 7zm-4 0H2v-3a3 3 0 0 1 3 3zm9.373-4A13.032 13.032 0 0 0 6 8.627V7h12v10h-3.627z\"}}]}]})(props);\n};\nexport function RiCastLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-6a13.1 13.1 0 0 0-.153-2H20V5H4v3.153A13.1 13.1 0 0 0 2 8V4a1 1 0 0 1 1-1zm10 18h-2a9 9 0 0 0-9-9v-2c6.075 0 11 4.925 11 11zm-4 0H7a5 5 0 0 0-5-5v-2a7 7 0 0 1 7 7zm-4 0H2v-3a3 3 0 0 1 3 3z\"}}]}]})(props);\n};\nexport function RiCellphoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h11a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V0h2v2zm0 2v5h10V4H7z\"}}]}]})(props);\n};\nexport function RiCellphoneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h11a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V0h2v2zm0 7h10V4H7v5zm0 2v9h10v-9H7z\"}}]}]})(props);\n};\nexport function RiComputerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18v2h4v2H7v-2h4v-2H2.992A.998.998 0 0 1 2 16.993V4.007C2 3.451 2.455 3 2.992 3h18.016c.548 0 .992.449.992 1.007v12.986c0 .556-.455 1.007-.992 1.007H13z\"}}]}]})(props);\n};\nexport function RiComputerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16h16V5H4v11zm9 2v2h4v2H7v-2h4v-2H2.992A.998.998 0 0 1 2 16.993V4.007C2 3.451 2.455 3 2.992 3h18.016c.548 0 .992.449.992 1.007v12.986c0 .556-.455 1.007-.992 1.007H13z\"}}]}]})(props);\n};\nexport function RiCpuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 20h-4v2H8v-2H5a1 1 0 0 1-1-1v-3H2v-2h2v-4H2V8h2V5a1 1 0 0 1 1-1h3V2h2v2h4V2h2v2h3a1 1 0 0 1 1 1v3h2v2h-2v4h2v2h-2v3a1 1 0 0 1-1 1h-3v2h-2v-2zM7 7v4h4V7H7z\"}}]}]})(props);\n};\nexport function RiCpuLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18h12V6H6v12zm8 2h-4v2H8v-2H5a1 1 0 0 1-1-1v-3H2v-2h2v-4H2V8h2V5a1 1 0 0 1 1-1h3V2h2v2h4V2h2v2h3a1 1 0 0 1 1 1v3h2v2h-2v4h2v2h-2v3a1 1 0 0 1-1 1h-3v2h-2v-2zM8 8h8v8H8V8z\"}}]}]})(props);\n};\nexport function RiDashboard2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 3c-3.866 0-7 3.134-7 7 0 1.852.72 3.537 1.894 4.789l.156.16 1.414-1.413C7.56 14.63 7 13.38 7 12c0-2.761 2.239-5 5-5 .448 0 .882.059 1.295.17l1.563-1.562C13.985 5.218 13.018 5 12 5zm6.392 4.143l-1.561 1.562c.11.413.169.847.169 1.295 0 1.38-.56 2.63-1.464 3.536l1.414 1.414C18.216 15.683 19 13.933 19 12c0-1.018-.217-1.985-.608-2.857zm-2.15-2.8l-3.725 3.724C12.352 10.023 12.179 10 12 10c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2c0-.179-.023-.352-.067-.517l3.724-3.726-1.414-1.414z\"}}]}]})(props);\n};\nexport function RiDashboard2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zm0 1c1.018 0 1.985.217 2.858.608L13.295 7.17C12.882 7.06 12.448 7 12 7c-2.761 0-5 2.239-5 5 0 1.38.56 2.63 1.464 3.536L7.05 16.95l-.156-.161C5.72 15.537 5 13.852 5 12c0-3.866 3.134-7 7-7zm6.392 4.143c.39.872.608 1.84.608 2.857 0 1.933-.784 3.683-2.05 4.95l-1.414-1.414C16.44 14.63 17 13.38 17 12c0-.448-.059-.882-.17-1.295l1.562-1.562zm-2.15-2.8l1.415 1.414-3.724 3.726c.044.165.067.338.067.517 0 1.105-.895 2-2 2s-2-.895-2-2 .895-2 2-2c.179 0 .352.023.517.067l3.726-3.724z\"}}]}]})(props);\n};\nexport function RiDashboard3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm4.596 5.404c-.204-.205-.526-.233-.763-.067-2.89 2.028-4.52 3.23-4.894 3.602-.585.586-.585 1.536 0 2.122.586.585 1.536.585 2.122 0 .219-.22 1.418-1.851 3.598-4.897.168-.234.141-.556-.063-.76zM17.5 11c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zm-11 0c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zm2.318-3.596c-.39-.39-1.024-.39-1.414 0-.39.39-.39 1.023 0 1.414.39.39 1.023.39 1.414 0 .39-.39.39-1.024 0-1.414zM12 5.5c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiDashboard3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zm3.833 3.337c.237-.166.559-.138.763.067.204.204.23.526.063.76-2.18 3.046-3.38 4.678-3.598 4.897-.586.585-1.536.585-2.122 0-.585-.586-.585-1.536 0-2.122.374-.373 2.005-1.574 4.894-3.602zM17.5 11c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-11 0c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm2.318-3.596c.39.39.39 1.023 0 1.414-.39.39-1.024.39-1.414 0-.39-.39-.39-1.024 0-1.414.39-.39 1.023-.39 1.414 0zM12 5.5c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1z\"}}]}]})(props);\n};\nexport function RiDatabase2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9.5v3c0 2.485-4.03 4.5-9 4.5s-9-2.015-9-4.5v-3c0 2.485 4.03 4.5 9 4.5s9-2.015 9-4.5zm-18 5c0 2.485 4.03 4.5 9 4.5s9-2.015 9-4.5v3c0 2.485-4.03 4.5-9 4.5s-9-2.015-9-4.5v-3zm9-2.5c-4.97 0-9-2.015-9-4.5S7.03 3 12 3s9 2.015 9 4.5-4.03 4.5-9 4.5z\"}}]}]})(props);\n};\nexport function RiDatabase2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5 12.5c0 .313.461.858 1.53 1.393C7.914 14.585 9.877 15 12 15c2.123 0 4.086-.415 5.47-1.107 1.069-.535 1.53-1.08 1.53-1.393v-2.171C17.35 11.349 14.827 12 12 12s-5.35-.652-7-1.671V12.5zm14 2.829C17.35 16.349 14.827 17 12 17s-5.35-.652-7-1.671V17.5c0 .313.461.858 1.53 1.393C7.914 19.585 9.877 20 12 20c2.123 0 4.086-.415 5.47-1.107 1.069-.535 1.53-1.08 1.53-1.393v-2.171zM3 17.5v-10C3 5.015 7.03 3 12 3s9 2.015 9 4.5v10c0 2.485-4.03 4.5-9 4.5s-9-2.015-9-4.5zm9-7.5c2.123 0 4.086-.415 5.47-1.107C18.539 8.358 19 7.813 19 7.5c0-.313-.461-.858-1.53-1.393C16.086 5.415 14.123 5 12 5c-2.123 0-4.086.415-5.47 1.107C5.461 6.642 5 7.187 5 7.5c0 .313.461.858 1.53 1.393C7.914 9.585 9.877 10 12 10z\"}}]}]})(props);\n};\nexport function RiDatabaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h8zm-6 9v2h5v-2H5zm9 0v2h5v-2h-5zm0-3v2h5v-2h-5zm0-3v2h5v-2h-5zm-9 3v2h5v-2H5z\"}}]}]})(props);\n};\nexport function RiDatabaseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19V9H4v10h7zm0-12V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h8zm2-2v14h7V5h-7zM5 16h5v2H5v-2zm9 0h5v2h-5v-2zm0-3h5v2h-5v-2zm0-3h5v2h-5v-2zm-9 3h5v2H5v-2z\"}}]}]})(props);\n};\nexport function RiDeviceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 6h-8a1 1 0 0 0-1 1v13H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v3zm-6 2h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiDeviceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v5zm-2 0V4H5v14h7V9a1 1 0 0 1 1-1h4zm-3 2v10h6V10h-6z\"}}]}]})(props);\n};\nexport function RiDeviceRecoverFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14zm-7 5a5 5 0 1 0 .955 9.909L12 15a3 3 0 0 1 0-6c1.598 0 3 1.34 3 3h-2.5l2.128 4.254A5 5 0 0 0 12 7z\"}}]}]})(props);\n};\nexport function RiDeviceRecoverLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14zm-1 2H6v16h12V4zm-6 3a5 5 0 0 1 2.628 9.254L12.5 12H15a3 3 0 1 0-3 3l.955 1.909A5 5 0 1 1 12 7z\"}}]}]})(props);\n};\nexport function RiDualSim1Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10zm-2 6h-3v2h1v6h2V8z\"}}]}]})(props);\n};\nexport function RiDualSim1Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15 2l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10zm-.829 2H6v16h12V7.829L14.171 4zM13 16h-2v-6h-1V8h3v8z\"}}]}]})(props);\n};\nexport function RiDualSim2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10zm-3 5.5a3 3 0 0 0-2.995 2.824L9 10.5h2a1 1 0 1 1 1.751.66l-.082.083L9 14.547 9 16h6v-2h-2.405l1.412-1.27-.006-.01.008.008A3 3 0 0 0 12 7.5z\"}}]}]})(props);\n};\nexport function RiDualSim2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15 2l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h10zm-.829 2H6v16h12V7.829L14.171 4zM12 7.5a3 3 0 0 1 2.009 5.228l-.008-.008.006.01L12.595 14H15v2H9v-1.453l3.67-3.304A1 1 0 1 0 11 10.5H9a3 3 0 0 1 3-3z\"}}]}]})(props);\n};\nexport function RiFingerprint2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a9 9 0 0 1 9 9v4a8.99 8.99 0 0 1-3.81 7.354c.474-1.522.75-3.131.802-4.797L18 16v-2.001h-2V16l-.003.315a15.932 15.932 0 0 1-1.431 6.315 9.045 9.045 0 0 1-3.574.314 12.935 12.935 0 0 0 2.001-6.52L13 16V9h-2v7l-.004.288a10.95 10.95 0 0 1-2.087 6.167 8.98 8.98 0 0 1-2.626-1.504 7.959 7.959 0 0 0 1.71-4.623L8 16v-6l.005-.2a3.978 3.978 0 0 1 .435-1.625l.114-.207-1.445-1.445a5.969 5.969 0 0 0-1.102 3.18L6 10v6l-.004.225a5.968 5.968 0 0 1-1.121 3.273A8.958 8.958 0 0 1 3 14v-4a9 9 0 0 1 9-9zm0 3c-1.196 0-2.31.35-3.246.953l-.23.156 1.444 1.445a3.977 3.977 0 0 1 1.787-.547L12 6l.2.005a4 4 0 0 1 3.795 3.789L16 10v2h2v-2a6 6 0 0 0-6-6z\"}}]}]})(props);\n};\nexport function RiFingerprint2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a9 9 0 0 1 9 9v4a9 9 0 0 1-12.092 8.455c.128-.177.251-.357.369-.542l.17-.28a10.918 10.918 0 0 0 1.55-5.345L11 16V9h2v7a12.96 12.96 0 0 1-.997 5.001 7.026 7.026 0 0 0 2.27-.378c.442-1.361.693-2.808.724-4.31L15 16v-3.001h2V16c0 1.088-.102 2.153-.298 3.185a6.978 6.978 0 0 0 2.294-4.944L19 14v-4A7 7 0 0 0 7.808 4.394L6.383 2.968A8.962 8.962 0 0 1 12 1zm-5 9a5 5 0 1 1 10 0v1h-2v-1a3 3 0 0 0-5.995-.176L9 10v6c0 1.567-.4 3.04-1.104 4.323l-.024.04c-.23.414-.491.808-.782 1.179a9.03 9.03 0 0 1-1.237-.97l-.309-.3A8.97 8.97 0 0 1 3 14v-4c0-2.125.736-4.078 1.968-5.617l1.426 1.425a6.966 6.966 0 0 0-1.39 3.951L5 10v4c0 1.675.588 3.212 1.57 4.417a6.91 6.91 0 0 0 .426-2.176L7 16v-6z\"}}]}]})(props);\n};\nexport function RiFingerprintFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13v1c0 2.77-.664 5.445-1.915 7.846l-.227.42-1.747-.974c1.16-2.08 1.81-4.41 1.882-6.836L15 14v-1h2zm-6-3h2v4l-.005.379a12.941 12.941 0 0 1-2.691 7.549l-.231.29-1.55-1.264a10.944 10.944 0 0 0 2.471-6.588L11 14v-4zm1-4a5 5 0 0 1 5 5h-2a3 3 0 0 0-6 0v3c0 2.235-.82 4.344-2.271 5.977l-.212.23-1.448-1.38a6.969 6.969 0 0 0 1.925-4.524L7 14v-3a5 5 0 0 1 5-5zm0-4a9 9 0 0 1 9 9v3c0 1.698-.202 3.37-.597 4.99l-.139.539-1.93-.526c.392-1.437.613-2.922.658-4.435L19 14v-3A7 7 0 0 0 7.808 5.394L6.383 3.968A8.962 8.962 0 0 1 12 2zM4.968 5.383l1.426 1.425a6.966 6.966 0 0 0-1.39 3.951L5 11 5.004 13c0 1.12-.264 2.203-.762 3.177l-.156.29-1.737-.992c.38-.665.602-1.407.646-2.183L3.004 13v-2a8.94 8.94 0 0 1 1.964-5.617z\"}}]}]})(props);\n};\nexport function RiFingerprintLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13v1c0 2.77-.664 5.445-1.915 7.846l-.227.42-1.747-.974c1.16-2.08 1.81-4.41 1.882-6.836L15 14v-1h2zm-6-3h2v4l-.005.379a12.941 12.941 0 0 1-2.691 7.549l-.231.29-1.55-1.264a10.944 10.944 0 0 0 2.471-6.588L11 14v-4zm1-4a5 5 0 0 1 5 5h-2a3 3 0 0 0-6 0v3c0 2.235-.82 4.344-2.271 5.977l-.212.23-1.448-1.38a6.969 6.969 0 0 0 1.925-4.524L7 14v-3a5 5 0 0 1 5-5zm0-4a9 9 0 0 1 9 9v3c0 1.698-.202 3.37-.597 4.99l-.139.539-1.93-.526c.392-1.437.613-2.922.658-4.435L19 14v-3A7 7 0 0 0 7.808 5.394L6.383 3.968A8.962 8.962 0 0 1 12 2zM4.968 5.383l1.426 1.425a6.966 6.966 0 0 0-1.39 3.951L5 11 5.004 13c0 1.12-.264 2.203-.762 3.177l-.156.29-1.737-.992c.38-.665.602-1.407.646-2.183L3.004 13v-2a8.94 8.94 0 0 1 1.964-5.617z\"}}]}]})(props);\n};\nexport function RiGamepadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4a6 6 0 0 1 6 6v4a6 6 0 0 1-6 6H7a6 6 0 0 1-6-6v-4a6 6 0 0 1 6-6h10zm-7 5H8v2H6v2h1.999L8 15h2l-.001-2H12v-2h-2V9zm8 4h-2v2h2v-2zm-2-4h-2v2h2V9z\"}}]}]})(props);\n};\nexport function RiGamepadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17 4a6 6 0 0 1 6 6v4a6 6 0 0 1-6 6H7a6 6 0 0 1-6-6v-4a6 6 0 0 1 6-6h10zm0 2H7a4 4 0 0 0-3.995 3.8L3 10v4a4 4 0 0 0 3.8 3.995L7 18h10a4 4 0 0 0 3.995-3.8L21 14v-4a4 4 0 0 0-3.8-3.995L17 6zm-7 3v2h2v2H9.999L10 15H8l-.001-2H6v-2h2V9h2zm8 4v2h-2v-2h2zm-2-4v2h-2V9h2z\"}}]}]})(props);\n};\nexport function RiGpsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16l3 6H9l3-6zm-2.627.255a5 5 0 1 1 5.255 0l-1.356-2.711a2 2 0 1 0-2.544 0l-1.355 2.71zm-2.241 4.482A9.997 9.997 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10a9.997 9.997 0 0 1-5.132 8.737l-1.343-2.688a7 7 0 1 0-7.05 0l-1.343 2.688z\"}}]}]})(props);\n};\nexport function RiGpsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.132 20.737A9.997 9.997 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10a9.997 9.997 0 0 1-5.132 8.737l-.896-1.791a8 8 0 1 0-7.945 0l-.895 1.791zm1.792-3.584a6 6 0 1 1 6.151 0l-.898-1.797a4 4 0 1 0-4.354 0l-.899 1.797zM12 16l3 6H9l3-6z\"}}]}]})(props);\n};\nexport function RiGradienterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM8.126 11H4.062a8.079 8.079 0 0 0 0 2h4.064a4.007 4.007 0 0 1 0-2zm7.748 0a4.007 4.007 0 0 1 0 2h4.064a8.079 8.079 0 0 0 0-2h-4.064zM12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiGradienterLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.05 13h2.012a8.001 8.001 0 0 0 15.876 0h2.013c-.502 5.053-4.766 9-9.951 9-5.185 0-9.449-3.947-9.95-9zm0-2C2.55 5.947 6.814 2 12 2s9.449 3.947 9.95 9h-2.012a8.001 8.001 0 0 0-15.876 0H2.049zM12 14a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiHardDrive2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1zM5 16v4h14v-4H5zm10 1h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiHardDrive2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 14h14V4H5v10zm0 2v4h14v-4H5zM4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm11 15h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiHardDriveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.95 2H20a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8.05c.329.033.663.05 1 .05 5.523 0 10-4.477 10-10 0-.337-.017-.671-.05-1zM15 16v2h2v-2h-2zM11.938 2A8 8 0 0 1 3 10.938V3a1 1 0 0 1 1-1h7.938z\"}}]}]})(props);\n};\nexport function RiHardDriveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10.938A8.004 8.004 0 0 0 11.938 4H5v6.938zm0 2.013V20h14V4h-5.05A10.003 10.003 0 0 1 5 12.95zM4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm11 14h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiHotspotFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2v9h7v10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h6zm2 5a2 2 0 0 1 2 2h-2V7zm0-3a5 5 0 0 1 5 5h-2a3 3 0 0 0-3-3V4zm0-3a8 8 0 0 1 8 8h-2a6 6 0 0 0-6-6V1z\"}}]}]})(props);\n};\nexport function RiHotspotLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 2v2H7v16h10v-9h2v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h5zm2 5a2 2 0 0 1 2 2h-2V7zm0-3a5 5 0 0 1 5 5h-2a3 3 0 0 0-3-3V4zm0-3a8 8 0 0 1 8 8h-2a6 6 0 0 0-6-6V1z\"}}]}]})(props);\n};\nexport function RiInstallFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 2v5H8l4 4 4-4h-3V2h7a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h7zm8 14H5v4h14v-4zm-2 1v2h-2v-2h2z\"}}]}]})(props);\n};\nexport function RiInstallLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9 2v2H5l-.001 10h14L19 4h-4V2h5a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h5zm9.999 14h-14L5 20h14l-.001-4zM17 17v2h-2v-2h2zM13 2v5h3l-4 4-4-4h3V2h2z\"}}]}]})(props);\n};\nexport function RiKeyboardBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm2 4v2h2V7H5zm0 4v2h2v-2H5zm0 4v2h14v-2H5zm4-4v2h2v-2H9zm0-4v2h2V7H9zm4 0v2h2V7h-2zm4 0v2h2V7h-2zm-4 4v2h2v-2h-2zm4 0v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiKeyboardBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm3 4h2v2H6V7zm0 4h2v2H6v-2zm0 4h12v2H6v-2zm5-4h2v2h-2v-2zm0-4h2v2h-2V7zm5 0h2v2h-2V7zm0 4h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiKeyboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 17h18v2H3v-2zm0-6h3v3H3v-3zm5 0h3v3H8v-3zM3 5h3v3H3V5zm10 0h3v3h-3V5zm5 0h3v3h-3V5zm-5 6h3v3h-3v-3zm5 0h3v3h-3v-3zM8 5h3v3H8V5z\"}}]}]})(props);\n};\nexport function RiKeyboardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 17h18v2H3v-2zm0-6h3v3H3v-3zm5 0h3v3H8v-3zM3 5h3v3H3V5zm10 0h3v3h-3V5zm5 0h3v3h-3V5zm-5 6h3v3h-3v-3zm5 0h3v3h-3v-3zM8 5h3v3H8V5z\"}}]}]})(props);\n};\nexport function RiMacFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18v2l2 1v1H8l-.004-.996L10 20v-2H2.992A.998.998 0 0 1 2 16.993V4.007C2 3.451 2.455 3 2.992 3h18.016c.548 0 .992.449.992 1.007v12.986c0 .556-.455 1.007-.992 1.007H14zM4 14v2h16v-2H4z\"}}]}]})(props);\n};\nexport function RiMacLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18v2l2 1v1H8l-.004-.996L10 20v-2H2.992A.998.998 0 0 1 2 16.993V4.007C2 3.451 2.455 3 2.992 3h18.016c.548 0 .992.449.992 1.007v12.986c0 .556-.455 1.007-.992 1.007H14zM4 5v9h16V5H4z\"}}]}]})(props);\n};\nexport function RiMacbookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4.007C2 3.45 2.455 3 2.992 3h18.016c.548 0 .992.45.992 1.007V17H2V4.007zM1 19h22v2H1v-2z\"}}]}]})(props);\n};\nexport function RiMacbookLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v11h16V5H4zm-2-.993C2 3.451 2.455 3 2.992 3h18.016c.548 0 .992.449.992 1.007V18H2V4.007zM1 19h22v2H1v-2z\"}}]}]})(props);\n};\nexport function RiMouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.141 2h1.718c2.014 0 3.094.278 4.072.801a5.452 5.452 0 0 1 2.268 2.268c.523.978.801 2.058.801 4.072v5.718c0 2.014-.278 3.094-.801 4.072a5.452 5.452 0 0 1-2.268 2.268c-.978.523-2.058.801-4.072.801H11.14c-2.014 0-3.094-.278-4.072-.801a5.452 5.452 0 0 1-2.268-2.268C4.278 17.953 4 16.873 4 14.859V9.14c0-2.014.278-3.094.801-4.072A5.452 5.452 0 0 1 7.07 2.801C8.047 2.278 9.127 2 11.141 2zM11 6v5h2V6h-2z\"}}]}]})(props);\n};\nexport function RiMouseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.141 4c-1.582 0-2.387.169-3.128.565a3.453 3.453 0 0 0-1.448 1.448C6.169 6.753 6 7.559 6 9.14v5.718c0 1.582.169 2.387.565 3.128.337.63.818 1.111 1.448 1.448.74.396 1.546.565 3.128.565h1.718c1.582 0 2.387-.169 3.128-.565a3.453 3.453 0 0 0 1.448-1.448c.396-.74.565-1.546.565-3.128V9.14c0-1.582-.169-2.387-.565-3.128a3.453 3.453 0 0 0-1.448-1.448C15.247 4.169 14.441 4 12.86 4H11.14zm0-2h1.718c2.014 0 3.094.278 4.072.801a5.452 5.452 0 0 1 2.268 2.268c.523.978.801 2.058.801 4.072v5.718c0 2.014-.278 3.094-.801 4.072a5.452 5.452 0 0 1-2.268 2.268c-.978.523-2.058.801-4.072.801H11.14c-2.014 0-3.094-.278-4.072-.801a5.452 5.452 0 0 1-2.268-2.268C4.278 17.953 4 16.873 4 14.859V9.14c0-2.014.278-3.094.801-4.072A5.452 5.452 0 0 1 7.07 2.801C8.047 2.278 9.127 2 11.141 2zM11 6h2v5h-2V6z\"}}]}]})(props);\n};\nexport function RiPhoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16.42v3.536a1 1 0 0 1-.93.998c-.437.03-.794.046-1.07.046-8.837 0-16-7.163-16-16 0-.276.015-.633.046-1.07A1 1 0 0 1 4.044 3H7.58a.5.5 0 0 1 .498.45c.023.23.044.413.064.552A13.901 13.901 0 0 0 9.35 8.003c.095.2.033.439-.147.567l-2.158 1.542a13.047 13.047 0 0 0 6.844 6.844l1.54-2.154a.462.462 0 0 1 .573-.149 13.901 13.901 0 0 0 4 1.205c.139.02.322.042.55.064a.5.5 0 0 1 .449.498z\"}}]}]})(props);\n};\nexport function RiPhoneFindFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2a1 1 0 0 1 1 1v8.529A6 6 0 0 0 9 16c0 3.238 2.76 6 6 6H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zm-3 10a4 4 0 0 1 3.446 6.032l2.21 2.21-1.413 1.415-2.211-2.21A4 4 0 1 1 15 12zm0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiPhoneFindLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2a1 1 0 0 1 1 1v8h-2V4H7v16h4v2H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zm-3 10a4 4 0 0 1 3.446 6.032l2.21 2.21-1.413 1.415-2.212-2.21A4 4 0 1 1 15 12zm0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiPhoneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9.366 10.682a10.556 10.556 0 0 0 3.952 3.952l.884-1.238a1 1 0 0 1 1.294-.296 11.422 11.422 0 0 0 4.583 1.364 1 1 0 0 1 .921.997v4.462a1 1 0 0 1-.898.995c-.53.055-1.064.082-1.602.082C9.94 21 3 14.06 3 5.5c0-.538.027-1.072.082-1.602A1 1 0 0 1 4.077 3h4.462a1 1 0 0 1 .997.921A11.422 11.422 0 0 0 10.9 8.504a1 1 0 0 1-.296 1.294l-1.238.884zm-2.522-.657l1.9-1.357A13.41 13.41 0 0 1 7.647 5H5.01c-.006.166-.009.333-.009.5C5 12.956 11.044 19 18.5 19c.167 0 .334-.003.5-.01v-2.637a13.41 13.41 0 0 1-3.668-1.097l-1.357 1.9a12.442 12.442 0 0 1-1.588-.75l-.058-.033a12.556 12.556 0 0 1-4.702-4.702l-.033-.058a12.442 12.442 0 0 1-.75-1.588z\"}}]}]})(props);\n};\nexport function RiPhoneLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2a1 1 0 0 1 1 1l.001 7.1A5.002 5.002 0 0 0 13.1 14H12v8H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zm0 10a3 3 0 0 1 3 3v1h1v5a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-5h1v-1a3 3 0 0 1 3-3zm0 2c-.513 0-1 .45-1 1v1h2v-1a1 1 0 0 0-1-1z\"}}]}]})(props);\n};\nexport function RiPhoneLockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2a1 1 0 0 1 1 1v7h-2V4H7v16h5v2H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zm0 10a3 3 0 0 1 3 3v1h1v5a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-5h1v-1a3 3 0 0 1 3-3zm2 6h-4v2h4v-2zm-2-4c-.508 0-1 .45-1 1v1h2v-1a1 1 0 0 0-1-1z\"}}]}]})(props);\n};\nexport function RiQrCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17v-1h-3v-3h3v2h2v2h-1v2h-2v2h-2v-3h2v-1h1zm5 4h-4v-2h2v-2h2v4zM3 3h8v8H3V3zm10 0h8v8h-8V3zM3 13h8v8H3v-8zm15 0h3v2h-3v-2zM6 6v2h2V6H6zm0 10v2h2v-2H6zM16 6v2h2V6h-2z\"}}]}]})(props);\n};\nexport function RiQrCodeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17v-1h-3v-3h3v2h2v2h-1v2h-2v2h-2v-3h2v-1h1zm5 4h-4v-2h2v-2h2v4zM3 3h8v8H3V3zm2 2v4h4V5H5zm8-2h8v8h-8V3zm2 2v4h4V5h-4zM3 13h8v8H3v-8zm2 2v4h4v-4H5zm13-2h3v2h-3v-2zM6 6h2v2H6V6zm0 10h2v2H6v-2zM16 6h2v2h-2V6z\"}}]}]})(props);\n};\nexport function RiQrScan2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3h6v6h-6V3zM9 3v6H3V3h6zm6 18v-6h6v6h-6zm-6 0H3v-6h6v6zM3 11h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiQrScan2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3h6v5h-2V5h-4V3zM9 3v2H5v3H3V3h6zm6 18v-2h4v-3h2v5h-6zm-6 0H3v-5h2v3h4v2zM3 11h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiQrScanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15v5.007a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V15h18zM2 11h20v2H2v-2zm19-2H3V3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993V9z\"}}]}]})(props);\n};\nexport function RiQrScanLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16v5H3v-5h2v3h14v-3h2zM3 11h18v2H3v-2zm18-3h-2V5H5v3H3V3h18v5z\"}}]}]})(props);\n};\nexport function RiRadarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.368 4.398l-3.484 6.035 1.732 1L16.1 5.398c4.17 2.772 6.306 7.08 4.56 10.102-1.86 3.222-7.189 3.355-11.91.63C4.029 13.402 1.48 8.721 3.34 5.5c1.745-3.023 6.543-3.327 11.028-1.102zm1.516-2.625l1.732 1-1.5 2.598-1.732-1 1.5-2.598zM6.732 20H17v2H5.017a.995.995 0 0 1-.883-.5 1.005 1.005 0 0 1 0-1l2.25-3.897 1.732 1L6.732 20z\"}}]}]})(props);\n};\nexport function RiRadarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.506 3.623l-1.023 1.772c-2.91-.879-5.514-.45-6.411 1.105-1.178 2.04.79 5.652 4.678 7.897s8 2.142 9.178.103c.898-1.555-.033-4.024-2.249-6.105l1.023-1.772c3.082 2.709 4.463 6.27 2.958 8.877-1.86 3.222-7.189 3.355-11.91.63C4.029 13.402 1.48 8.721 3.34 5.5c1.505-2.607 5.28-3.192 9.166-1.877zm3.378-1.85l1.732 1-5 8.66-1.732-1 5-8.66zM6.732 20H17v2H5.017a.995.995 0 0 1-.883-.5 1.005 1.005 0 0 1 0-1l2.25-3.897 1.732 1L6.732 20z\"}}]}]})(props);\n};\nexport function RiRemoteControl2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zm-3 13h-2v2h2v-2zm-4 0H9v2h2v-2zm2-9h-2v2H9v2h1.999L11 12h2l-.001-2H15V8h-2V6z\"}}]}]})(props);\n};\nexport function RiRemoteControl2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zm-1 2H7v16h10V4zm-2 11v2h-2v-2h2zm-4 0v2H9v-2h2zm2-9v2h2v2h-2.001L13 12h-2l-.001-2H9V8h2V6h2z\"}}]}]})(props);\n};\nexport function RiRemoteControlFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12a1 1 0 0 1 1 1v9H6v-9a1 1 0 0 1 1-1h10zm-7 2H8v2h2v-2zm2-8a6 6 0 0 1 5.368 3.316l-1.79.895a4 4 0 0 0-7.157 0l-1.789-.895A6 6 0 0 1 12 6zm0-4a10 10 0 0 1 8.946 5.527l-1.789.895A8 8 0 0 0 12 4a8 8 0 0 0-7.157 4.422l-1.79-.895A10 10 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiRemoteControlLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12a1 1 0 0 1 1 1v9h-2v-8H8v8H6v-9a1 1 0 0 1 1-1h10zm-5 4v2h-2v-2h2zm0-10a6 6 0 0 1 5.368 3.316l-1.79.895a4 4 0 0 0-7.157 0l-1.789-.895A6 6 0 0 1 12 6zm0-4a10 10 0 0 1 8.946 5.527l-1.789.895A8 8 0 0 0 12 4a8 8 0 0 0-7.157 4.422l-1.79-.895A10 10 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiRestartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm4.82-4.924a7 7 0 1 0-1.852 1.266l-.975-1.755A5 5 0 1 1 17 12h-3l2.82 5.076z\"}}]}]})(props);\n};\nexport function RiRestartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z\"}}]}]})(props);\n};\nexport function RiRotateLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10 0 2.136-.67 4.116-1.811 5.741L17 12h3a8 8 0 1 0-2.46 5.772l.998 1.795A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2zm0 5a3 3 0 0 1 3 3v1h1v5H8v-5h1v-1a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-.993.883L11 10v1h2v-1a1 1 0 0 0-.883-.993L12 9z\"}}]}]})(props);\n};\nexport function RiRotateLockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10 0 2.136-.67 4.116-1.811 5.741L17 12h3a8 8 0 1 0-2.46 5.772l.998 1.795A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2zm0 5a3 3 0 0 1 3 3v1h1v5H8v-5h1v-1a3 3 0 0 1 3-3zm2 6h-4v1h4v-1zm-2-4a1 1 0 0 0-.993.883L11 10v1h2v-1a1 1 0 0 0-.883-.993L12 9z\"}}]}]})(props);\n};\nexport function RiRouterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14v-3h2v3h5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h5zM2.51 8.837C3.835 4.864 7.584 2 12 2s8.166 2.864 9.49 6.837l-1.898.632a8.003 8.003 0 0 0-15.184 0l-1.897-.632zm3.796 1.265a6.003 6.003 0 0 1 11.388 0l-1.898.633a4.002 4.002 0 0 0-7.592 0l-1.898-.633z\"}}]}]})(props);\n};\nexport function RiRouterLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14v-3h2v3h5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h5zM2.51 8.837C3.835 4.864 7.584 2 12 2s8.166 2.864 9.49 6.837l-1.898.632a8.003 8.003 0 0 0-15.184 0l-1.897-.632zm3.796 1.265a6.003 6.003 0 0 1 11.388 0l-1.898.633a4.002 4.002 0 0 0-7.592 0l-1.898-.633zM7 16v4h10v-4H7z\"}}]}]})(props);\n};\nexport function RiRssFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3c9.941 0 18 8.059 18 18h-3c0-8.284-6.716-15-15-15V3zm0 7c6.075 0 11 4.925 11 11h-3a8 8 0 0 0-8-8v-3zm0 7a4 4 0 0 1 4 4H3v-4z\"}}]}]})(props);\n};\nexport function RiRssLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 17a4 4 0 0 1 4 4H3v-4zm0-7c6.075 0 11 4.925 11 11h-2a9 9 0 0 0-9-9v-2zm0-7c9.941 0 18 8.059 18 18h-2c0-8.837-7.163-16-16-16V3z\"}}]}]})(props);\n};\nexport function RiSave2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h13l3.707 3.707a1 1 0 0 1 .293.707V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM5 5v4h10V5H5z\"}}]}]})(props);\n};\nexport function RiSave2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v14h14V7.828L16.172 5H5zM4 3h13l3.707 3.707a1 1 0 0 1 .293.707V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6zM6 6h9v4H6V6z\"}}]}]})(props);\n};\nexport function RiSave3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h14l2.707 2.707a1 1 0 0 1 .293.707V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm3 1v5h9V4H7zm-1 8v7h12v-7H6zm7-7h2v3h-2V5z\"}}]}]})(props);\n};\nexport function RiSave3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 19h1V6.828L17.172 5H16v4H7V5H5v14h1v-7h12v7zM4 3h14l2.707 2.707a1 1 0 0 1 .293.707V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4 11v5h8v-5H8z\"}}]}]})(props);\n};\nexport function RiSaveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 21v-8H6v8H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h13l4 4v13a1 1 0 0 1-1 1h-2zm-2 0H8v-6h8v6z\"}}]}]})(props);\n};\nexport function RiSaveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 19v-6h10v6h2V7.828L16.172 5H5v14h2zM4 3h13l4 4v13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm5 12v4h6v-4H9z\"}}]}]})(props);\n};\nexport function RiScan2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.257 5.671l2.137 2.137a7 7 0 1 0 1.414-1.414L5.67 4.257A9.959 9.959 0 0 1 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12c0-2.401.846-4.605 2.257-6.329zm3.571 3.572L12 13.414 13.414 12 9.243 7.828a5 5 0 1 1-1.414 1.414z\"}}]}]})(props);\n};\nexport function RiScan2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.671 4.257L13.414 12 12 13.414 8.554 9.968a4 4 0 1 0 3.697-1.96l-1.805-1.805a6 6 0 1 1-3.337 2.32L5.68 7.094a8 8 0 1 0 3.196-2.461L7.374 3.132A9.957 9.957 0 0 1 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12a9.98 9.98 0 0 1 3.671-7.743z\"}}]}]})(props);\n};\nexport function RiScanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.257 5.671L12 13.414 13.414 12 5.671 4.257A9.959 9.959 0 0 1 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12c0-2.401.846-4.605 2.257-6.329z\"}}]}]})(props);\n};\nexport function RiScanLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.671 4.257L13.414 12 12 13.414l-6.32-6.32a8 8 0 1 0 3.706-2.658L7.85 2.9A9.963 9.963 0 0 1 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12a9.98 9.98 0 0 1 3.671-7.743z\"}}]}]})(props);\n};\nexport function RiSdCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.293 6.707L9 2h10a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7.414a1 1 0 0 1 .293-.707zM15 5v4h2V5h-2zm-3 0v4h2V5h-2zM9 5v4h2V5H9z\"}}]}]})(props);\n};\nexport function RiSdCardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7.828V20h12V4H9.828L6 7.828zm-1.707-1.12L9 2h10a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7.414a1 1 0 0 1 .293-.707zM15 5h2v4h-2V5zm-3 0h2v4h-2V5zM9 6h2v3H9V6z\"}}]}]})(props);\n};\nexport function RiSdCardMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2h12a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8.58a1 1 0 0 1 .292-.706l1.562-1.568A.5.5 0 0 0 6 9.793V3a1 1 0 0 1 1-1zm8 2v4h2V4h-2zm-3 0v4h2V4h-2zM9 4v4h2V4H9z\"}}]}]})(props);\n};\nexport function RiSdCardMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4v5.793a2.5 2.5 0 0 1-.73 1.765L6 12.833V20h12V4H8zM7 2h12a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8.58a1 1 0 0 1 .292-.706l1.562-1.568A.5.5 0 0 0 6 9.793V3a1 1 0 0 1 1-1zm8 3h2v4h-2V5zm-3 0h2v4h-2V5zM9 5h2v4H9V5z\"}}]}]})(props);\n};\nexport function RiSensorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8v2h12V8h-3V2h2v4h5v2h-2v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V2h2v6H6zm7-6v6h-2V2h2z\"}}]}]})(props);\n};\nexport function RiSensorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8v11h12V8h-3V2h2v4h5v2h-2v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V2h2v6H6zm7-6v6h-2V2h2z\"}}]}]})(props);\n};\nexport function RiServerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v7H3V4a1 1 0 0 1 1-1zM3 13h18v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-7zm4 3v2h3v-2H7zM7 6v2h3V6H7z\"}}]}]})(props);\n};\nexport function RiServerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h14V5H5v6zm16-7v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1zm-2 9H5v6h14v-6zM7 15h3v2H7v-2zm0-8h3v2H7V7z\"}}]}]})(props);\n};\nexport function RiShutDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.05V12h2V2.05c5.053.501 9 4.765 9 9.95 0 5.523-4.477 10-10 10S2 17.523 2 12c0-5.185 3.947-9.449 9-9.95z\"}}]}]})(props);\n};\nexport function RiShutDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.265 3.807l1.147 1.639a8 8 0 1 0 9.176 0l1.147-1.639A9.988 9.988 0 0 1 22 12c0 5.523-4.477 10-10 10S2 17.523 2 12a9.988 9.988 0 0 1 4.265-8.193zM11 12V2h2v10h-2z\"}}]}]})(props);\n};\nexport function RiSignalWifi1Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 2c-3.028 0-5.923.842-8.42 2.392l5.108 6.324C9.698 13.256 10.818 13 12 13c1.181 0 2.303.256 3.312.716L20.42 7.39C17.922 5.841 15.027 5 12 5z\"}}]}]})(props);\n};\nexport function RiSignalWifi1Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 12c-.693 0-1.367.117-2 .34l2 2.477 2-2.477c-.63-.22-1.307-.34-2-.34zm0-10c-3.028 0-5.923.842-8.42 2.392l5.108 6.324C9.698 13.256 10.818 13 12 13c1.181 0 2.303.256 3.312.716L20.42 7.39C17.922 5.841 15.027 5 12 5z\"}}]}]})(props);\n};\nexport function RiSignalWifi2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 2c-3.028 0-5.923.842-8.42 2.392l3.178 3.935C8.316 10.481 10.102 10 12 10c1.898 0 3.683.48 5.241 1.327L20.42 7.39C17.922 5.841 15.027 5 12 5z\"}}]}]})(props);\n};\nexport function RiSignalWifi2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 9c-1.42 0-2.764.33-3.959.915L12 17.817l3.958-4.902C14.764 12.329 13.42 12 12 12zm0-7c-3.028 0-5.923.842-8.42 2.392l3.178 3.935C8.316 10.481 10.102 10 12 10c1.898 0 3.683.48 5.241 1.327L20.42 7.39C17.922 5.841 15.027 5 12 5z\"}}]}]})(props);\n};\nexport function RiSignalWifi3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 2c-3.028 0-5.923.842-8.42 2.392l1.904 2.357C7.4 8.637 9.625 8 12 8s4.6.637 6.516 1.749L20.42 7.39C17.922 5.841 15.027 5 12 5z\"}}]}]})(props);\n};\nexport function RiSignalWifi3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 7c-1.898 0-3.683.48-5.241 1.327l5.24 6.49 5.242-6.49C15.683 10.48 13.898 10 12 10zm0-5c-3.028 0-5.923.842-8.42 2.392l1.904 2.357C7.4 8.637 9.625 8 12 8s4.6.637 6.516 1.749L20.42 7.39C17.922 5.841 15.027 5 12 5z\"}}]}]})(props);\n};\nexport function RiSignalWifiErrorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L22.498 8H18v5.571L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm10 16v2h-2v-2h2zm0-9v7h-2v-7h2z\"}}]}]})(props);\n};\nexport function RiSignalWifiErrorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996l-1.257 1.556C19.306 6.331 15.808 5 12 5c-3.089 0-5.973.875-8.419 2.392L12 17.817l6-7.429v3.183L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm10 16v2h-2v-2h2zm0-9v7h-2v-7h2z\"}}]}]})(props);\n};\nexport function RiSignalWifiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3z\"}}]}]})(props);\n};\nexport function RiSignalWifiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c4.284 0 8.22 1.497 11.31 3.996L12 21 .69 6.997C3.78 4.497 7.714 3 12 3zm0 2c-3.028 0-5.923.842-8.42 2.392L12 17.817 20.42 7.39C17.922 5.841 15.027 5 12 5z\"}}]}]})(props);\n};\nexport function RiSignalWifiOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.808 1.393l17.677 17.678-1.414 1.414-3.683-3.683L12 21 .69 6.997c.914-.74 1.902-1.391 2.95-1.942L1.394 2.808l1.415-1.415zM12 3c4.284 0 8.22 1.497 11.31 3.996l-5.407 6.693L7.724 3.511C9.094 3.177 10.527 3 12 3z\"}}]}]})(props);\n};\nexport function RiSignalWifiOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.808 1.393l17.677 17.678-1.414 1.414-3.683-3.682L12 21 .69 6.997c.914-.74 1.902-1.391 2.95-1.942L1.394 2.808l1.415-1.415zm.771 5.999L12 17.817l1.967-2.437-8.835-8.836c-.532.254-1.05.536-1.552.848zM12 3c4.284 0 8.22 1.497 11.31 3.996l-5.407 6.693-1.422-1.422 3.939-4.876C17.922 5.841 15.027 5 12 5c-.873 0-1.735.07-2.58.207L7.725 3.51C9.094 3.177 10.527 3 12 3z\"}}]}]})(props);\n};\nexport function RiSimCard2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h10l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm8 16v-8H8v2h3v6h2zm-5-5v2h2v-2H8zm6 0v2h2v-2h-2zm0-3v2h2v-2h-2zm-6 6v2h2v-2H8zm6 0v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiSimCard2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4v16h12V7.828L14.172 4H6zM5 2h10l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm8 8v8h-2v-6H8v-2h5zm-5 3h2v2H8v-2zm6 0h2v2h-2v-2zm0-3h2v2h-2v-2zm-6 6h2v2H8v-2zm6 0h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiSimCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h10l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 10v6h8v-6H8z\"}}]}]})(props);\n};\nexport function RiSimCardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4v16h12V7.828L14.172 4H6zM5 2h10l4.707 4.707a1 1 0 0 1 .293.707V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 10h8v6H8v-6z\"}}]}]})(props);\n};\nexport function RiSmartphoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2h12a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm6 15a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]}]})(props);\n};\nexport function RiSmartphoneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v16h10V4H7zM6 2h12a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm6 15a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]}]})(props);\n};\nexport function RiTabletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm7 15a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]}]})(props);\n};\nexport function RiTabletLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4v16h12V4H6zM5 2h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm7 15a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]}]})(props);\n};\nexport function RiTv2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4c0-.552.455-1 .992-1h18.016c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H2.992A.994.994 0 0 1 2 18V4zm3 16h14v2H5v-2z\"}}]}]})(props);\n};\nexport function RiTv2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4c0-.552.455-1 .992-1h18.016c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H2.992A.994.994 0 0 1 2 18V4zm2 1v12h16V5H4zm1 15h14v2H5v-2z\"}}]}]})(props);\n};\nexport function RiTvFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.414 5h5.594c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H2.992A.994.994 0 0 1 2 20V6c0-.552.455-1 .992-1h5.594L6.05 2.464 7.464 1.05 11.414 5h1.172l3.95-3.95 1.414 1.414L15.414 5z\"}}]}]})(props);\n};\nexport function RiTvLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.414 5h5.594c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H2.992A.994.994 0 0 1 2 20V6c0-.552.455-1 .992-1h5.594L6.05 2.464 7.464 1.05 11.414 5h1.172l3.95-3.95 1.414 1.414L15.414 5zM4 7v12h16V7H4z\"}}]}]})(props);\n};\nexport function RiUDiskFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h16a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1zM5 2h14v8H5V2zm4 3v2h2V5H9zm4 0v2h2V5h-2z\"}}]}]})(props);\n};\nexport function RiUDiskLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 12H5v8h14v-8zM5 10V2h14v8h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1zm2 0h10V4H7v6zm2-4h2v2H9V6zm4 0h2v2h-2V6z\"}}]}]})(props);\n};\nexport function RiUninstallFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16zm-1 14H5v4h14v-4zm-2 1v2h-2v-2h2zM12 2L8 6h3v5h2V6h3l-4-4z\"}}]}]})(props);\n};\nexport function RiUninstallLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8 2v2H5l-.001 10h14L19 4h-3V2h4a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h4zm10.999 14h-14L5 20h14l-.001-4zM17 17v2h-2v-2h2zM12 2l4 4h-3v5h-2V6H8l4-4z\"}}]}]})(props);\n};\nexport function RiUsbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l3 5h-2v7.381l3-1.499-.001-.882H15V7h4v4h-1.001L18 13.118l-5 2.5v1.553c1.166.412 2 1.523 2 2.829 0 1.657-1.343 3-3 3s-3-1.343-3-3c0-1.187.69-2.213 1.69-2.7L6 14l-.001-2.268C5.402 11.386 5 10.74 5 10c0-1.105.895-2 2-2s2 .895 2 2c0 .74-.402 1.387-1 1.732V13l3 2.086V6H9l3-5z\"}}]}]})(props);\n};\nexport function RiUsbLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l3 5h-2v7.381l3-1.499-.001-.882H15V7h4v4h-1.001L18 13.118l-5 2.5v1.553c1.166.412 2 1.523 2 2.829 0 1.657-1.343 3-3 3s-3-1.343-3-3c0-1.187.69-2.213 1.69-2.7L6 14l-.001-2.268C5.402 11.386 5 10.74 5 10c0-1.105.895-2 2-2s2 .895 2 2c0 .74-.402 1.387-1 1.732V13l3 2.086V6H9l3-5zm0 18c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiWifiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.69 6.997A17.925 17.925 0 0 1 12 3c4.285 0 8.22 1.497 11.31 3.997L21.425 9.33A14.937 14.937 0 0 0 12 6C8.43 6 5.15 7.248 2.575 9.33L.69 6.997zm3.141 3.89A12.946 12.946 0 0 1 12 8c3.094 0 5.936 1.081 8.169 2.886l-1.885 2.334A9.958 9.958 0 0 0 12 11c-2.38 0-4.566.832-6.284 2.22l-1.885-2.334zm3.142 3.89A7.967 7.967 0 0 1 12 13c1.904 0 3.653.665 5.027 1.776l-1.885 2.334A4.98 4.98 0 0 0 12 16a4.98 4.98 0 0 0-3.142 1.11l-1.885-2.334zm3.142 3.89A2.987 2.987 0 0 1 12 18c.714 0 1.37.25 1.885.666L12 21l-1.885-2.334z\"}}]}]})(props);\n};\nexport function RiWifiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.69 6.997A17.925 17.925 0 0 1 12 3c4.285 0 8.22 1.497 11.31 3.997l-1.256 1.556A15.933 15.933 0 0 0 12 5C8.191 5 4.694 6.33 1.946 8.553L.69 6.997zm3.141 3.89A12.946 12.946 0 0 1 12 8c3.094 0 5.936 1.081 8.169 2.886l-1.257 1.556A10.954 10.954 0 0 0 12 10c-2.618 0-5.023.915-6.912 2.442l-1.257-1.556zm3.142 3.89A7.967 7.967 0 0 1 12 13c1.904 0 3.653.665 5.027 1.776l-1.257 1.556A5.975 5.975 0 0 0 12 15c-1.428 0-2.74.499-3.77 1.332l-1.257-1.556zm3.142 3.89A2.987 2.987 0 0 1 12 18c.714 0 1.37.25 1.885.666L12 21l-1.885-2.334z\"}}]}]})(props);\n};\nexport function RiWifiOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c.714 0 1.37.25 1.886.666L12 21l-1.886-2.334A2.987 2.987 0 0 1 12 18zM2.808 1.393l17.677 17.678-1.414 1.414-3.682-3.68-.247.306A4.98 4.98 0 0 0 12 16a4.98 4.98 0 0 0-3.141 1.11l-1.885-2.334a7.963 7.963 0 0 1 4.622-1.766l-1.773-1.772a9.963 9.963 0 0 0-4.106 1.982L3.83 10.887A12.984 12.984 0 0 1 7.416 8.83L5.885 7.3a15 15 0 0 0-3.31 2.031L.689 6.997c.915-.74 1.903-1.391 2.952-1.942L1.393 2.808l1.415-1.415zM16.084 11.87l-3.868-3.867L12 8c3.095 0 5.937 1.081 8.17 2.887l-1.886 2.334a10 10 0 0 0-2.2-1.352zM12 3c4.285 0 8.22 1.497 11.31 3.997L21.426 9.33A14.937 14.937 0 0 0 12 6c-.572 0-1.136.032-1.69.094L7.723 3.511C9.094 3.177 10.527 3 12 3z\"}}]}]})(props);\n};\nexport function RiWifiOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18c.714 0 1.37.25 1.886.666L12 21l-1.886-2.334A2.987 2.987 0 0 1 12 18zM2.808 1.393l17.677 17.678-1.414 1.414-5.18-5.18A5.994 5.994 0 0 0 12 15c-1.428 0-2.74.499-3.77 1.332l-1.256-1.556a7.963 7.963 0 0 1 4.622-1.766L9 10.414a10.969 10.969 0 0 0-3.912 2.029L3.83 10.887A12.984 12.984 0 0 1 7.416 8.83L5.132 6.545a16.009 16.009 0 0 0-3.185 2.007L.689 6.997c.915-.74 1.903-1.391 2.952-1.942L1.393 2.808l1.415-1.415zM14.5 10.285l-2.284-2.283L12 8c3.095 0 5.937 1.081 8.17 2.887l-1.258 1.556a10.96 10.96 0 0 0-4.412-2.158zM12 3c4.285 0 8.22 1.497 11.31 3.997l-1.257 1.555A15.933 15.933 0 0 0 12 5c-.878 0-1.74.07-2.58.207L7.725 3.51C9.094 3.177 10.527 3 12 3z\"}}]}]})(props);\n};\nexport function RiWirelessChargingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.929 4.929l1.414 1.414C3.895 7.791 3 9.791 3 12c0 2.21.895 4.21 2.343 5.657L3.93 19.07C2.119 17.261 1 14.761 1 12s1.12-5.261 2.929-7.071zm16.142 0C21.881 6.739 23 9.239 23 12s-1.12 5.262-2.929 7.071l-1.414-1.414C20.105 16.209 21 14.209 21 12s-.895-4.208-2.342-5.656L20.07 4.93zM13 5v6h3l-5 8v-6H8l5-8zM6.757 7.757l1.415 1.415C7.448 9.895 7 10.895 7 12c0 1.105.448 2.105 1.172 2.828l-1.415 1.415C5.672 15.157 5 13.657 5 12c0-1.657.672-3.157 1.757-4.243zm10.487.001C18.329 8.844 19 10.344 19 12c0 1.657-.672 3.157-1.757 4.243l-1.415-1.415C16.552 14.105 17 13.105 17 12c0-1.104-.447-2.104-1.17-2.827l1.414-1.415z\"}}]}]})(props);\n};\nexport function RiWirelessChargingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.929 4.929l1.414 1.414C3.895 7.791 3 9.791 3 12c0 2.21.895 4.21 2.343 5.657L3.93 19.07C2.119 17.261 1 14.761 1 12s1.12-5.261 2.929-7.071zm16.142 0C21.881 6.739 23 9.239 23 12s-1.12 5.262-2.929 7.071l-1.414-1.414C20.105 16.209 21 14.209 21 12s-.895-4.208-2.342-5.656L20.07 4.93zM13 5v6h3l-5 8v-6H8l5-8zM6.757 7.757l1.415 1.415C7.448 9.895 7 10.895 7 12c0 1.105.448 2.105 1.172 2.828l-1.415 1.415C5.672 15.157 5 13.657 5 12c0-1.657.672-3.157 1.757-4.243zm10.487.001C18.329 8.844 19 10.344 19 12c0 1.657-.672 3.157-1.757 4.243l-1.415-1.415C16.552 14.105 17 13.105 17 12c0-1.104-.447-2.104-1.17-2.827l1.414-1.415z\"}}]}]})(props);\n};\nexport function RiArticleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM7 6v4h4V6H7zm0 6v2h10v-2H7zm0 4v2h10v-2H7zm6-9v2h4V7h-4z\"}}]}]})(props);\n};\nexport function RiArticleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2V4H5v16h14zM7 6h4v4H7V6zm0 6h10v2H7v-2zm0 4h10v2H7v-2zm6-9h4v2h-4V7z\"}}]}]})(props);\n};\nexport function RiBillFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM8 9v2h8V9H8zm0 4v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiBillLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2V4H5v16h14zM8 9h8v2H8V9zm0 4h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiBook2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18H6a1 1 0 0 0 0 2h15v2H6a3 3 0 0 1-3-3V4a2 2 0 0 1 2-2h16v16zm-5-9V7H8v2h8z\"}}]}]})(props);\n};\nexport function RiBook2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18H6a1 1 0 0 0 0 2h15v2H6a3 3 0 0 1-3-3V4a2 2 0 0 1 2-2h16v16zM5 16.05c.162-.033.329-.05.5-.05H19V4H5v12.05zM16 9H8V7h8v2z\"}}]}]})(props);\n};\nexport function RiBook3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H7a2 2 0 1 0 0 4h14v13a1 1 0 0 1-1 1H7a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h13a1 1 0 0 1 1 1v1zm-1 3H7a1 1 0 1 1 0-2h13v2z\"}}]}]})(props);\n};\nexport function RiBook3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H7a2 2 0 1 0 0 4h14v13a1 1 0 0 1-1 1H7a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h13a1 1 0 0 1 1 1v1zM5 18a2 2 0 0 0 2 2h12V10H7a3.982 3.982 0 0 1-2-.535V18zM20 7H7a1 1 0 1 1 0-2h13v2z\"}}]}]})(props);\n};\nexport function RiBookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H6.5A3.5 3.5 0 0 1 3 18.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2v-3H6.5a1.5 1.5 0 0 0 0 3H19z\"}}]}]})(props);\n};\nexport function RiBookLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5A3.5 3.5 0 0 1 3 18.5zM19 20v-3H6.5a1.5 1.5 0 0 0 0 3H19zM5 15.337A3.486 3.486 0 0 1 6.5 15H19V4H6a1 1 0 0 0-1 1v10.337z\"}}]}]})(props);\n};\nexport function RiBookMarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H6.5A3.5 3.5 0 0 1 3 18.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2v-3H6.5a1.5 1.5 0 0 0 0 3H19zM10 4v8l3.5-2 3.5 2V4h-7z\"}}]}]})(props);\n};\nexport function RiBookMarkLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18.5V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5A3.5 3.5 0 0 1 3 18.5zM19 20v-3H6.5a1.5 1.5 0 0 0 0 3H19zM10 4H6a1 1 0 0 0-1 1v10.337A3.486 3.486 0 0 1 6.5 15H19V4h-2v8l-3.5-2-3.5 2V4z\"}}]}]})(props);\n};\nexport function RiBookOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 21h-8V6a3 3 0 0 1 3-3h5a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1zm-10 0H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a3 3 0 0 1 3 3v15zm0 0h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiBookOpenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21v2h-2v-2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6a3.99 3.99 0 0 1 3 1.354A3.99 3.99 0 0 1 15 3h6a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-8zm7-2V5h-5a2 2 0 0 0-2 2v12h7zm-9 0V7a2 2 0 0 0-2-2H4v14h7z\"}}]}]})(props);\n};\nexport function RiBookReadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM12 5v14h8V5h-8zm1 2h6v2h-6V7zm0 3h6v2h-6v-2z\"}}]}]})(props);\n};\nexport function RiBookReadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM11 5H4v14h7V5zm2 0v14h7V5h-7zm1 2h5v2h-5V7zm0 3h5v2h-5v-2z\"}}]}]})(props);\n};\nexport function RiBookletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2v20H4v-4H2v-2h2v-3H2v-2h2V8H2V6h2V2h4zm12.005 0C21.107 2 22 2.898 22 3.99v16.02c0 1.099-.893 1.99-1.995 1.99H10V2h10.005z\"}}]}]})(props);\n};\nexport function RiBookletLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.005 2C21.107 2 22 2.898 22 3.99v16.02c0 1.099-.893 1.99-1.995 1.99H4v-4H2v-2h2v-3H2v-2h2V8H2V6h2V2h16.005zM8 4H6v16h2V4zm12 0H10v16h10V4z\"}}]}]})(props);\n};\nexport function RiClipboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4v4h12V4h2.007c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 21.007V4.993C3 4.445 3.445 4 3.993 4H6zm2-2h8v4H8V2z\"}}]}]})(props);\n};\nexport function RiClipboardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4V2h10v2h3.007c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 21.007V4.993C3 4.445 3.445 4 3.993 4H7zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z\"}}]}]})(props);\n};\nexport function RiContactsBook2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H6a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2v-2H6a1 1 0 0 0 0 2h13zm-7-10a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-3 4h6a3 3 0 0 0-6 0z\"}}]}]})(props);\n};\nexport function RiContactsBook2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H6a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2v-2H6a1 1 0 0 0 0 2h13zM5 16.17c.313-.11.65-.17 1-.17h13V4H6a1 1 0 0 0-1 1v11.17zM12 10a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-3 4a3 3 0 0 1 6 0H9z\"}}]}]})(props);\n};\nexport function RiContactsBookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2v20H3V2h4zm2 0h10.005C20.107 2 21 2.898 21 3.99v16.02c0 1.099-.893 1.99-1.995 1.99H9V2zm13 4h2v4h-2V6zm0 6h2v4h-2v-4zm-7 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-3 4h6a3 3 0 0 0-6 0z\"}}]}]})(props);\n};\nexport function RiContactsBookLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2h16.005C20.107 2 21 2.898 21 3.99v16.02c0 1.099-.893 1.99-1.995 1.99H3V2zm4 2H5v16h2V4zm2 16h10V4H9v16zm2-4a3 3 0 0 1 6 0h-6zm3-4a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm8-6h2v4h-2V6zm0 6h2v4h-2v-4z\"}}]}]})(props);\n};\nexport function RiContactsBookUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2v20H3V2h4zm12.005 0C20.107 2 21 2.898 21 3.99v16.02c0 1.099-.893 1.99-1.995 1.99H9V2h10.005zM15 8l-4 4h3v4h2v-4h3l-4-4zm9 4v4h-2v-4h2zm0-6v4h-2V6h2z\"}}]}]})(props);\n};\nexport function RiContactsBookUploadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.005 2C20.107 2 21 2.898 21 3.99v16.02c0 1.099-.893 1.99-1.995 1.99H3V2h16.005zM7 4H5v16h2V4zm12 0H9v16h10V4zm-5 4l4 4h-3v4h-2v-4h-3l4-4zm10 4v4h-2v-4h2zm0-6v4h-2V6h2z\"}}]}]})(props);\n};\nexport function RiDraftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2c.552 0 1 .448 1 1v3.757l-8.999 9-.006 4.238 4.246.006L21 15.242V21c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V3c0-.552.448-1 1-1h16zm1.778 6.808l1.414 1.414L15.414 18l-1.416-.002.002-1.412 7.778-7.778zM12 12H7v2h5v-2zm3-4H7v2h8V8z\"}}]}]})(props);\n};\nexport function RiDraftLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2c.552 0 1 .448 1 1v3.757l-2 2V4H5v16h14v-2.758l2-2V21c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V3c0-.552.448-1 1-1h16zm1.778 6.808l1.414 1.414L15.414 18l-1.416-.002.002-1.412 7.778-7.778zM13 12v2H8v-2h5zm3-4v2H8V8h8z\"}}]}]})(props);\n};\nexport function RiFile2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9h6a1 1 0 0 0 1-1V2h10.002c.551 0 .998.455.998.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V9zm0-2l5-4.997V7H3z\"}}]}]})(props);\n};\nexport function RiFile2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8l6.003-6h10.995C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8zm7-4v5H5v11h14V4h-9z\"}}]}]})(props);\n};\nexport function RiFile3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v11.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.447 2 3.998 2H14v6a1 1 0 0 0 1 1h6zm0-2h-5V2.003L21 7z\"}}]}]})(props);\n};\nexport function RiFile3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995L21 8zm-2 1h-5V4H5v16h14V9z\"}}]}]})(props);\n};\nexport function RiFile4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15h-7v7H3.998C3.447 22 3 21.545 3 21.008V2.992C3 2.444 3.445 2 3.993 2h16.014A1 1 0 0 1 21 3.007V15zm0 2l-5 4.997V17h5z\"}}]}]})(props);\n};\nexport function RiFile4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16l-6.003 6H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v13zm-2-1V4H5v16h9v-5h5z\"}}]}]})(props);\n};\nexport function RiFileAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-5 9H8v2h3v3h2v-3h3v-2h-3V8h-2v3z\"}}]}]})(props);\n};\nexport function RiFileAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM11 11V8h2v3h3v2h-3v3h-2v-3H8v-2h3z\"}}]}]})(props);\n};\nexport function RiFileChart2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-4 6a4 4 0 1 0 4 4h-4V8z\"}}]}]})(props);\n};\nexport function RiFileChart2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM12 8v4h4a4 4 0 1 1-4-4z\"}}]}]})(props);\n};\nexport function RiFileChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-5 5v10h2V7h-2zm4 4v6h2v-6h-2zm-8 2v4h2v-4H7z\"}}]}]})(props);\n};\nexport function RiFileChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 7h2v10h-2V7zm4 4h2v6h-2v-6zm-8 2h2v4H7v-4zm8-9H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFileCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.997 2L21 8l.001 4.26A5.466 5.466 0 0 0 17.5 11l-.221.004a5.503 5.503 0 0 0-5.127 4.205l-.016.074-.03.02A4.75 4.75 0 0 0 10.878 22L3.993 22a.993.993 0 0 1-.986-.876L3 21.008V2.992c0-.498.387-.927.885-.985L4.002 2h10.995zM17.5 13a3.5 3.5 0 0 1 3.5 3.5l-.001.103a2.75 2.75 0 0 1-.581 5.392L20.25 22h-5.5l-.168-.005a2.75 2.75 0 0 1-.579-5.392L14 16.5a3.5 3.5 0 0 1 3.5-3.5z\"}}]}]})(props);\n};\nexport function RiFileCloudLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14.997 2L21 8l.001 4.26a5.471 5.471 0 0 0-2-1.053L19 9h-5V4H5v16h5.06a4.73 4.73 0 0 0 .817 2H3.993a.993.993 0 0 1-.986-.876L3 21.008V2.992c0-.498.387-.927.885-.985L4.002 2h10.995zM17.5 13a3.5 3.5 0 0 1 3.5 3.5l-.001.103a2.75 2.75 0 0 1-.581 5.392L20.25 22h-5.5l-.168-.005a2.75 2.75 0 0 1-.579-5.392L14 16.5a3.5 3.5 0 0 1 3.5-3.5zm0 2a1.5 1.5 0 0 0-1.473 1.215l-.02.14L16 16.5v1.62l-1.444.406a.75.75 0 0 0 .08 1.466l.109.008h5.51a.75.75 0 0 0 .19-1.474l-1.013-.283L19 18.12V16.5l-.007-.144A1.5 1.5 0 0 0 17.5 15z\"}}]}]})(props);\n};\nexport function RiFileCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm1.657 10L14.12 8.464 12.707 9.88 14.828 12l-2.12 2.121 1.413 1.415L17.657 12zM6.343 12l3.536 3.536 1.414-1.415L9.172 12l2.12-2.121L9.88 8.464 6.343 12z\"}}]}]})(props);\n};\nexport function RiFileCodeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM17.657 12l-3.536 3.536-1.414-1.415L14.828 12l-2.12-2.121 1.413-1.415L17.657 12zM6.343 12L9.88 8.464l1.414 1.415L9.172 12l2.12 2.121-1.413 1.415L6.343 12z\"}}]}]})(props);\n};\nexport function RiFileCopy2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1.001 1.001 0 0 1 3 21l.003-14c0-.552.45-1 1.007-1H7zm2 0h8v10h2V4H9v2zm-2 5v2h6v-2H7zm0 4v2h6v-2H7z\"}}]}]})(props);\n};\nexport function RiFileCopy2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1.001 1.001 0 0 1 3 21l.003-14c0-.552.45-1 1.006-1H7zM5.002 8L5 20h10V8H5.002zM9 6h8v10h2V4H9v2zm-2 5h6v2H7v-2zm0 4h6v2H7v-2z\"}}]}]})(props);\n};\nexport function RiFileCopyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1.001 1.001 0 0 1 3 21l.003-14c0-.552.45-1 1.007-1H7zm2 0h8v10h2V4H9v2z\"}}]}]})(props);\n};\nexport function RiFileCopyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1.001 1.001 0 0 1 3 21l.003-14c0-.552.45-1 1.007-1H7zM5.003 8L5 20h10V8H5.003zM9 6h8v10h2V4H9v2z\"}}]}]})(props);\n};\nexport function RiFileDamageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14l4 2.5 3-3.5 3 4 2-2.5 3 .5-3-3-2 2.5-3-5-3.5 3.75L3 10V2.992C3 2.455 3.447 2 3.998 2H14v6a1 1 0 0 0 1 1h6v11.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V14zm18-7h-5V2.003L21 7z\"}}]}]})(props);\n};\nexport function RiFileDamageLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M19 9h-5V4H5v7.857l1.5 1.393L10 9.5l3 5 2-2.5 3 3-3-.5-2 2.5-3-4-3 3.5-2-1.25V20h14V9zm2-1v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995L21 8z\"}}]}]})(props);\n};\nexport function RiFileDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-3 10V8h-2v4H8l4 4 4-4h-3z\"}}]}]})(props);\n};\nexport function RiFileDownloadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 12h3l-4 4-4-4h3V8h2v4zm2-8H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFileEditFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15.243v5.765a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V9h6a1 1 0 0 0 1-1V2h10.002c.551 0 .998.455.998.992v3.765l-8.999 9-.006 4.238 4.246.006L21 15.243zm.778-6.435l1.414 1.414L15.414 18l-1.416-.002.002-1.412 7.778-7.778zM3 7l5-4.997V7H3z\"}}]}]})(props);\n};\nexport function RiFileEditLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6.757l-2 2V4h-9v5H5v11h14v-2.757l2-2v5.765a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8l6.003-6h10.995C20.55 2 21 2.455 21 2.992v3.765zm.778 2.05l1.414 1.415L15.414 18l-1.416-.002.002-1.412 7.778-7.778z\"}}]}]})(props);\n};\nexport function RiFileExcel2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.859 2.877l12.57-1.795a.5.5 0 0 1 .571.495v20.846a.5.5 0 0 1-.57.495L2.858 21.123a1 1 0 0 1-.859-.99V3.867a1 1 0 0 1 .859-.99zM17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4V3zm-6.8 9L13 8h-2.4L9 10.286 7.4 8H5l2.8 4L5 16h2.4L9 13.714 10.6 16H13l-2.8-4z\"}}]}]})(props);\n};\nexport function RiFileExcel2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.859 2.877l12.57-1.795a.5.5 0 0 1 .571.495v20.846a.5.5 0 0 1-.57.495L2.858 21.123a1 1 0 0 1-.859-.99V3.867a1 1 0 0 1 .859-.99zM4 4.735v14.53l10 1.429V3.306L4 4.735zM17 19h3V5h-3V3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4v-2zm-6.8-7l2.8 4h-2.4L9 13.714 7.4 16H5l2.8-4L5 8h2.4L9 10.286 10.6 8H13l-2.8 4z\"}}]}]})(props);\n};\nexport function RiFileExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-2.8 10L16 8h-2.4L12 10.286 10.4 8H8l2.8 4L8 16h2.4l1.6-2.286L13.6 16H16l-2.8-4z\"}}]}]})(props);\n};\nexport function RiFileExcelLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.2 12l2.8 4h-2.4L12 13.714 10.4 16H8l2.8-4L8 8h2.4l1.6 2.286L13.6 8H15V4H5v16h14V8h-3l-2.8 4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8l6.003-6h10.995C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8zm7-4.5L4.5 9H10V3.5z\"}}]}]})(props);\n};\nexport function RiFileForbidFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11.674A7 7 0 0 0 12.255 22H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16l5 5v4.674zM18 23a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm-1.293-2.292a3 3 0 0 0 4.001-4.001l-4.001 4zm-1.415-1.415l4.001-4a3 3 0 0 0-4.001 4.001z\"}}]}]})(props);\n};\nexport function RiFileForbidLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.29 20c.215.722.543 1.396.965 2H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.447 2 3.999 2H16l5 5v4.674a6.95 6.95 0 0 0-2-.603V8h-4V4H5v16h6.29zM18 23a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm-1.293-2.292a3 3 0 0 0 4.001-4.001l-4.001 4zm-1.415-1.415l4.001-4a3 3 0 0 0-4.001 4.001z\"}}]}]})(props);\n};\nexport function RiFileGifFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v13.993c0 .556-.445 1.007-.993 1.007H3.993C3.445 22 3 21.545 3 21.008V2.992C3 2.444 3.447 2 3.999 2H16zm-3 8h-1v5h1v-5zm-2 0H9c-1.105 0-2 .895-2 2v1c0 1.105.895 2 2 2h1c.552 0 1-.448 1-1v-2H9v1h1v1H9c-.552 0-1-.448-1-1v-1c0-.552.448-1 1-1h2v-1zm6 0h-3v5h1v-2h2v-1h-2v-1h2v-1z\"}}]}]})(props);\n};\nexport function RiFileGifLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v13.993c0 .556-.445 1.007-.993 1.007H3.993C3.445 22 3 21.545 3 21.008V2.992C3 2.444 3.447 2 3.999 2H16zm-1 2H5v16h14V8h-4V4zm-2 6v5h-1v-5h1zm-2 0v1H9c-.552 0-1 .448-1 1v1c0 .552.448 1 1 1h1v-1H9v-1h2v2c0 .552-.448 1-1 1H9c-1.105 0-2-.895-2-2v-1c0-1.105.895-2 2-2h2zm6 0v1h-2v1h2v1h-2v2h-1v-5h3z\"}}]}]})(props);\n};\nexport function RiFileHistoryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 4.999v14.01c0 .547-.445.991-.993.991H3.993C3.445 22 3 21.545 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-3 7h-2v6h5v-2h-3V9z\"}}]}]})(props);\n};\nexport function RiFileHistoryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v13.993c0 .556-.445 1.007-.993 1.007H3.993C3.445 22 3 21.545 3 21.008V2.992C3 2.444 3.447 2 3.999 2H16zm-1 2H5v16h14V8h-4V4zm-2 5v4h3v2h-5V9h2z\"}}]}]})(props);\n};\nexport function RiFileHwpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.447 2 3.999 2H16zM9.333 14.667H8V18h8v-1.333l-6.667-.001v-2zM12 14.333a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM12 9a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zm0 1.333a1.167 1.167 0 1 1 0 2.334 1.167 1.167 0 0 1 0-2.334zM12.667 6h-1.334v1.333H8v1.334h8V7.333h-3.334V6z\"}}]}]})(props);\n};\nexport function RiFileHwpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.447 2 3.999 2H16zm0 6.667H8V7.333h3.333V6h1.334l-.001 1.333h2.333L15 4H5v16h14V8l-3-.001v.668zm-6.667 6v1.999H16V18H8v-3.333h1.333zM12 14.333a1 1 0 1 1 0 2 1 1 0 0 1 0-2zM12 9a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zm0 1.333a1.167 1.167 0 1 0 0 2.334 1.167 1.167 0 0 0 0-2.334z\"}}]}]})(props);\n};\nexport function RiFileInfoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-5 5v2h2V7h-2zm0 4v6h2v-6h-2z\"}}]}]})(props);\n};\nexport function RiFileInfoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM11 11h2v6h-2v-6zm0-4h2v2h-2V7z\"}}]}]})(props);\n};\nexport function RiFileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2.003V2h10.998C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8l6-5.997zM5.83 8H9V4.83L5.83 8zM11 4v5a1 1 0 0 1-1 1H5v10h14V4h-8z\"}}]}]})(props);\n};\nexport function RiFileList2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM8 7v2h8V7H8zm0 4v2h8v-2H8zm0 4v2h5v-2H8z\"}}]}]})(props);\n};\nexport function RiFileList2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2V4H5v16h14zM8 7h8v2H8V7zm0 4h8v2H8v-2zm0 4h5v2H8v-2z\"}}]}]})(props);\n};\nexport function RiFileList3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 22H5a3 3 0 0 1-3-3V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12h4v4a3 3 0 0 1-3 3zm-1-5v2a1 1 0 0 0 2 0v-2h-2zM6 7v2h8V7H6zm0 4v2h8v-2H6zm0 4v2h5v-2H6z\"}}]}]})(props);\n};\nexport function RiFileList3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 22H5a3 3 0 0 1-3-3V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12h4v4a3 3 0 0 1-3 3zm-1-5v2a1 1 0 0 0 2 0v-2h-2zm-2 3V4H4v15a1 1 0 0 0 1 1h11zM6 7h8v2H6V7zm0 4h8v2H6v-2zm0 4h5v2H6v-2z\"}}]}]})(props);\n};\nexport function RiFileListFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM8 7v2h8V7H8zm0 4v2h8v-2H8zm0 4v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiFileListLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2V4H5v16h14zM8 7h8v2H8V7zm0 4h8v2H8v-2zm0 4h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiFileLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-1 9v-1a3 3 0 0 0-6 0v1H8v5h8v-5h-1zm-2 0h-2v-1a1 1 0 0 1 2 0v1z\"}}]}]})(props);\n};\nexport function RiFileLockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM15 11h1v5H8v-5h1v-1a3 3 0 0 1 6 0v1zm-2 0v-1a1 1 0 0 0-2 0v1h2z\"}}]}]})(props);\n};\nexport function RiFileMarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2.992v18.016a1 1 0 0 1-.993.992H3.993A.993.993 0 0 1 3 21.008V2.992A1 1 0 0 1 3.993 2h16.014c.548 0 .993.444.993.992zM7 4v9l3.5-2 3.5 2V4H7z\"}}]}]})(props);\n};\nexport function RiFileMarkLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM7 4H5v16h14V4h-5v9l-3.5-2L7 13V4z\"}}]}]})(props);\n};\nexport function RiFileMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-5 10.05a2.5 2.5 0 1 0 2 2.45V10h3V8h-5v4.05z\"}}]}]})(props);\n};\nexport function RiFileMusicLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8v2h-3v4.5a2.5 2.5 0 1 1-2-2.45V8h4V4H5v16h14V8h-3zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFilePaper2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2a3 3 0 0 1 3 3v2h-2v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-2h16v2a1 1 0 0 0 .883.993L18 20a1 1 0 0 0 .993-.883L19 19v-4H3V5a3 3 0 0 1 3-3h14z\"}}]}]})(props);\n};\nexport function RiFilePaper2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2a3 3 0 0 1 3 3v2h-2v12a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-2h16v2a1 1 0 0 0 .883.993L18 20a1 1 0 0 0 .993-.883L19 19V4H6a1 1 0 0 0-.993.883L5 5v10H3V5a3 3 0 0 1 3-3h14z\"}}]}]})(props);\n};\nexport function RiFilePaperFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 15V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v16a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-2h16v2a1 1 0 0 0 2 0v-4H3z\"}}]}]})(props);\n};\nexport function RiFilePaperLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17v2a1 1 0 0 0 2 0V4H5v11H3V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v16a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-2h16z\"}}]}]})(props);\n};\nexport function RiFilePdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-4 14a4 4 0 1 0 0-8H8v8h4zm-2-6h2a2 2 0 1 1 0 4h-2v-4z\"}}]}]})(props);\n};\nexport function RiFilePdfLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 16H8V8h4a4 4 0 1 1 0 8zm-2-6v4h2a2 2 0 1 0 0-4h-2zm5-6H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFilePpt2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4V3zM2.859 2.877l12.57-1.795a.5.5 0 0 1 .571.495v20.846a.5.5 0 0 1-.57.495L2.858 21.123a1 1 0 0 1-.859-.99V3.867a1 1 0 0 1 .859-.99zM5 8v8h2v-2h6V8H5zm2 2h4v2H7v-2z\"}}]}]})(props);\n};\nexport function RiFilePpt2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.859 2.877l12.57-1.795a.5.5 0 0 1 .571.495v20.846a.5.5 0 0 1-.57.495L2.858 21.123a1 1 0 0 1-.859-.99V3.867a1 1 0 0 1 .859-.99zM4 4.735v14.53l10 1.429V3.306L4 4.735zM17 19h3V5h-3V3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4v-2zM5 8h8v6H7v2H5V8zm2 2v2h4v-2H7z\"}}]}]})(props);\n};\nexport function RiFilePptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zM8 8v8h2v-2h6V8H8zm2 2h4v2h-4v-2z\"}}]}]})(props);\n};\nexport function RiFilePptLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM5 4v16h14V8h-3v6h-6v2H8V8h7V4H5zm5 6v2h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiFileReduceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-8 9v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiFileReduceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM16 11v2H8v-2h8z\"}}]}]})(props);\n};\nexport function RiFileSearchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-2.471 12.446l2.21 2.21 1.415-1.413-2.21-2.21a4.002 4.002 0 0 0-6.276-4.861 4 4 0 0 0 4.861 6.274zm-.618-2.032a2 2 0 1 1-2.828-2.828 2 2 0 0 1 2.828 2.828z\"}}]}]})(props);\n};\nexport function RiFileSearchLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zm10.529 11.454a4.002 4.002 0 0 1-4.86-6.274 4 4 0 0 1 6.274 4.86l2.21 2.21-1.414 1.415-2.21-2.21zm-.618-2.032a2 2 0 1 0-2.828-2.828 2 2 0 0 0 2.828 2.828z\"}}]}]})(props);\n};\nexport function RiFileSettingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zM8.595 12.812l-.992.572 1 1.732.992-.573c.393.372.873.654 1.405.812V16.5h2v-1.145a3.496 3.496 0 0 0 1.405-.812l.992.573 1-1.732-.992-.573a3.51 3.51 0 0 0 0-1.622l.992-.573-1-1.732-.992.573A3.496 3.496 0 0 0 13 8.645V7.5h-2v1.145a3.496 3.496 0 0 0-1.405.812l-.992-.573-1 1.732.992.573a3.51 3.51 0 0 0 0 1.623zM12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiFileSettingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.595 12.812a3.51 3.51 0 0 1 0-1.623l-.992-.573 1-1.732.992.573A3.496 3.496 0 0 1 11 8.645V7.5h2v1.145c.532.158 1.012.44 1.405.812l.992-.573 1 1.732-.992.573a3.51 3.51 0 0 1 0 1.622l.992.573-1 1.732-.992-.573a3.496 3.496 0 0 1-1.405.812V16.5h-2v-1.145a3.496 3.496 0 0 1-1.405-.812l-.992.573-1-1.732.992-.572zM12 13.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFileShield2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 10H11v7.382c0 1.563.777 3.023 2.074 3.892l1.083.726H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.447 2 3.998 2h11.999L21 7v3zm-8 2h8v5.382c0 .897-.446 1.734-1.187 2.23L17 21.499l-2.813-1.885A2.685 2.685 0 0 1 13 17.383V12z\"}}]}]})(props);\n};\nexport function RiFileShield2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 9V4H5v16h6.056c.328.417.724.785 1.18 1.085l1.39.915H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995L21 8v1h-7zm-2 2h9v5.949c0 .99-.501 1.916-1.336 2.465L16.5 21.498l-3.164-2.084A2.953 2.953 0 0 1 12 16.95V11zm2 5.949c0 .316.162.614.436.795l2.064 1.36 2.064-1.36a.954.954 0 0 0 .436-.795V13h-5v3.949z\"}}]}]})(props);\n};\nexport function RiFileShieldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 7v13.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.447 2 3.998 2h11.999L21 7zM8 8v5.6c0 .85.446 1.643 1.187 2.114L12 17.5l2.813-1.786A2.51 2.51 0 0 0 16 13.6V8H8zm2 2h4v3.6c0 .158-.09.318-.26.426L12 15.13l-1.74-1.105c-.17-.108-.26-.268-.26-.426V10z\"}}]}]})(props);\n};\nexport function RiFileShieldLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 8V4H5v16h14V9h-3v4.62c0 .844-.446 1.633-1.187 2.101L12 17.498 9.187 15.72C8.446 15.253 8 14.464 8 13.62V8h6zm7 0v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995L21 8zm-11 5.62c0 .15.087.304.255.41L12 15.132l1.745-1.102c.168-.106.255-.26.255-.41V10h-4v3.62z\"}}]}]})(props);\n};\nexport function RiFileShredFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12v2H2v-2h2V2.995c0-.55.445-.995.996-.995H15l5 5v5h2zM3 16h2v6H3v-6zm16 0h2v6h-2v-6zm-4 0h2v6h-2v-6zm-4 0h2v6h-2v-6zm-4 0h2v6H7v-6z\"}}]}]})(props);\n};\nexport function RiFileShredLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12h12V8h-4V4H6v8zm-2 0V2.995c0-.55.445-.995.996-.995H15l5 5v5h2v2H2v-2h2zm-1 4h2v6H3v-6zm16 0h2v6h-2v-6zm-4 0h2v6h-2v-6zm-4 0h2v6h-2v-6zm-4 0h2v6H7v-6z\"}}]}]})(props);\n};\nexport function RiFileTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 9v11.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.447 2 3.998 2H14v6a1 1 0 0 0 1 1h6zm0-2h-5V2.003L21 7zM8 7v2h3V7H8zm0 4v2h8v-2H8zm0 4v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiFileTextLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995L21 8zm-2 1h-5V4H5v16h14V9zM8 7h3v2H8V7zm0 4h8v2H8v-2zm0 4h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiFileTransferFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-4 9H8v2h4v3l4-4-4-4v3z\"}}]}]})(props);\n};\nexport function RiFileTransferLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM12 11V8l4 4-4 4v-3H8v-2h4z\"}}]}]})(props);\n};\nexport function RiFileUnknowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-5 13v2h2v-2h-2zm2-1.645A3.502 3.502 0 0 0 12 6.5a3.501 3.501 0 0 0-3.433 2.813l1.962.393A1.5 1.5 0 1 1 12 11.5a1 1 0 0 0-1 1V14h2v-.645z\"}}]}]})(props);\n};\nexport function RiFileUnknowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 15h2v2h-2v-2zm2-1.645V14h-2v-1.5a1 1 0 0 1 1-1 1.5 1.5 0 1 0-1.471-1.794l-1.962-.393A3.501 3.501 0 1 1 13 13.355zM15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFileUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-3 10h3l-4-4-4 4h3v4h2v-4z\"}}]}]})(props);\n};\nexport function RiFileUploadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM13 12v4h-2v-4H8l4-4 4 4h-3z\"}}]}]})(props);\n};\nexport function RiFileUserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-4 9.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zM7.527 17h8.946a4.5 4.5 0 0 0-8.946 0z\"}}]}]})(props);\n};\nexport function RiFileUserLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zm9 8.508a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zM7.527 17a4.5 4.5 0 0 1 8.946 0H7.527z\"}}]}]})(props);\n};\nexport function RiFileWarningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-5 13v2h2v-2h-2zm0-8v6h2V7h-2z\"}}]}]})(props);\n};\nexport function RiFileWarningLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H5v16h14V8h-4V4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992zM11 15h2v2h-2v-2zm0-8h2v6h-2V7z\"}}]}]})(props);\n};\nexport function RiFileWord2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4V3zM2.859 2.877l12.57-1.795a.5.5 0 0 1 .571.495v20.846a.5.5 0 0 1-.57.495L2.858 21.123a1 1 0 0 1-.859-.99V3.867a1 1 0 0 1 .859-.99zM11 8v4.989L9 11l-1.99 2L7 8H5v8h2l2-2 2 2h2V8h-2z\"}}]}]})(props);\n};\nexport function RiFileWord2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 19h3V5h-3V3h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4v-2zM2.859 2.877l12.57-1.795a.5.5 0 0 1 .571.495v20.846a.5.5 0 0 1-.57.495L2.858 21.123a1 1 0 0 1-.859-.99V3.867a1 1 0 0 1 .859-.99zM4 4.735v14.53l10 1.429V3.306L4 4.735zM11 8h2v8h-2l-2-2-2 2H5V8h2l.01 5L9 11l2 1.989V8z\"}}]}]})(props);\n};\nexport function RiFileWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2l5 5v14.008a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 21.008V2.992C3 2.444 3.445 2 3.993 2H16zm-2 6v4.989L12 11l-1.99 2L10 8H8v8h2l2-2 2 2h2V8h-2z\"}}]}]})(props);\n};\nexport function RiFileWordLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8v8h-2l-2-2-2 2H8V8h2v5l2-2 2 2V8h1V4H5v16h14V8h-3zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008V2.992z\"}}]}]})(props);\n};\nexport function RiFileZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2v2h2V2h8.007c.548 0 .993.444.993.992v18.016a1 1 0 0 1-.993.992H3.993A.993.993 0 0 1 3 21.008V2.992A1 1 0 0 1 3.993 2H10zm2 2v2h2V4h-2zm-2 2v2h2V6h-2zm2 2v2h2V8h-2zm-2 2v2h2v-2h-2zm2 2v2h-2v3h4v-5h-2z\"}}]}]})(props);\n};\nexport function RiFileZipLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2V4H5v16h14zm-5-8v5h-4v-3h2v-2h2zm-2-8h2v2h-2V4zm-2 2h2v2h-2V6zm2 2h2v2h-2V8zm-2 2h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiFolder2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-9h20zm0-2H2V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v3z\"}}]}]})(props);\n};\nexport function RiFolder2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM20 11H4v8h16v-8zm0-2V7h-8.414l-2-2H4v4h16z\"}}]}]})(props);\n};\nexport function RiFolder3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7h19a1 1 0 0 1 1 1zm-9.586-3H2V4a1 1 0 0 1 1-1h7.414l2 2z\"}}]}]})(props);\n};\nexport function RiFolder3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 7v12h16V7H4z\"}}]}]})(props);\n};\nexport function RiFolder4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21V11h14v9a1 1 0 0 1-1 1H8zm-2 0H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v3H7a1 1 0 0 0-1 1v11z\"}}]}]})(props);\n};\nexport function RiFolder4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM8 19h12v-8H8v8zm-2 0v-9a1 1 0 0 1 1-1h13V7h-8.414l-2-2H4v14h2z\"}}]}]})(props);\n};\nexport function RiFolder5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.414 5H20a1 1 0 0 1 1 1v1H3V4a1 1 0 0 1 1-1h7.414l2 2zM3.087 9h17.826a1 1 0 0 1 .997 1.083l-.834 10a1 1 0 0 1-.996.917H3.92a1 1 0 0 1-.996-.917l-.834-10A1 1 0 0 1 3.087 9z\"}}]}]})(props);\n};\nexport function RiFolder5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.087 9h17.826a1 1 0 0 1 .997 1.083l-.834 10a1 1 0 0 1-.996.917H3.92a1 1 0 0 1-.996-.917l-.834-10A1 1 0 0 1 3.087 9zM4.84 19h14.32l.666-8H4.174l.666 8zm8.574-14H20a1 1 0 0 1 1 1v1H3V4a1 1 0 0 1 1-1h7.414l2 2z\"}}]}]})(props);\n};\nexport function RiFolderAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM11 12H8v2h3v3h2v-3h3v-2h-3V9h-2v3z\"}}]}]})(props);\n};\nexport function RiFolderAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm7 7V9h2v3h3v2h-3v3h-2v-3H8v-2h3z\"}}]}]})(props);\n};\nexport function RiFolderChart2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM12 9a4 4 0 1 0 4 4h-4V9z\"}}]}]})(props);\n};\nexport function RiFolderChart2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm8 4v4h4a4 4 0 1 1-4-4z\"}}]}]})(props);\n};\nexport function RiFolderChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM11 9v8h2V9h-2zm4 3v5h2v-5h-2zm-8 2v3h2v-3H7z\"}}]}]})(props);\n};\nexport function RiFolderChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm7 4h2v8h-2V9zm4 3h2v5h-2v-5zm-8 2h2v3H7v-3z\"}}]}]})(props);\n};\nexport function RiFolderDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM13 13V9h-2v4H8l4 4 4-4h-3z\"}}]}]})(props);\n};\nexport function RiFolderDownloadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm9 8h3l-4 4-4-4h3V9h2v4z\"}}]}]})(props);\n};\nexport function RiFolderFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2z\"}}]}]})(props);\n};\nexport function RiFolderForbidFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11.255A7 7 0 0 0 12.255 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v5.255zM18 22a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm-1.293-2.292a3 3 0 0 0 4.001-4.001l-4.001 4zm-1.415-1.415l4.001-4a3 3 0 0 0-4.001 4.001z\"}}]}]})(props);\n};\nexport function RiFolderForbidLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11.255a6.972 6.972 0 0 0-2-.965V7h-8.414l-2-2H4v14h7.29c.215.722.543 1.396.965 2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v5.255zM18 22a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm-1.293-2.292a3 3 0 0 0 4.001-4.001l-4.001 4zm-1.415-1.415l4.001-4a3 3 0 0 0-4.001 4.001z\"}}]}]})(props);\n};\nexport function RiFolderHistoryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.414 3l2 2H21c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h7.414zM13 9h-2v6h5v-2h-3V9z\"}}]}]})(props);\n};\nexport function RiFolderHistoryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.414 3l2 2H21c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h7.414zm-.828 2H4v14h16V7h-8.414l-2-2zM13 9v4h3v2h-5V9h2z\"}}]}]})(props);\n};\nexport function RiFolderInfoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM11 9v2h2V9h-2zm0 3v5h2v-5h-2z\"}}]}]})(props);\n};\nexport function RiFolderInfoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm7 7h2v5h-2v-5zm0-3h2v2h-2V9z\"}}]}]})(props);\n};\nexport function RiFolderKeyholeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10.414 3l2 2H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414zM12 9a2 2 0 0 0-1 3.732V17h2l.001-4.268A2 2 0 0 0 12 9z\"}}]}]})(props);\n};\nexport function RiFolderKeyholeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10.414 3l2 2H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414zm-.828 2H4v14h16V7h-8.414l-2-2zM12 9a2 2 0 0 1 1.001 3.732L13 17h-2v-4.268A2 2 0 0 1 12 9z\"}}]}]})(props);\n};\nexport function RiFolderLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V7h-8.414l-2-2H4zm8.414 0H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2z\"}}]}]})(props);\n};\nexport function RiFolderLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM15 13v-1a3 3 0 0 0-6 0v1H8v4h8v-4h-1zm-2 0h-2v-1a1 1 0 0 1 2 0v1z\"}}]}]})(props);\n};\nexport function RiFolderLockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm11 8h1v4H8v-4h1v-1a3 3 0 0 1 6 0v1zm-2 0v-1a1 1 0 0 0-2 0v1h2z\"}}]}]})(props);\n};\nexport function RiFolderMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM11 13.05a2.5 2.5 0 1 0 2 2.45V11h3V9h-5v4.05z\"}}]}]})(props);\n};\nexport function RiFolderMusicLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm7 8.05V9h5v2h-3v4.5a2.5 2.5 0 1 1-2-2.45z\"}}]}]})(props);\n};\nexport function RiFolderOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H20a1 1 0 0 1 1 1v3H4v9.996L6 11h16.5l-2.31 9.243a1 1 0 0 1-.97.757H3z\"}}]}]})(props);\n};\nexport function RiFolderOpenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H20a1 1 0 0 1 1 1v3h-2V7h-7.414l-2-2H4v11.998L5.5 11h17l-2.31 9.243a1 1 0 0 1-.97.757H3zm16.938-8H7.062l-1.5 6h12.876l1.5-6z\"}}]}]})(props);\n};\nexport function RiFolderReceivedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 13.126A6 6 0 0 0 13.303 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v7.126zM20 17h3v2h-3v3.5L15 18l5-4.5V17z\"}}]}]})(props);\n};\nexport function RiFolderReceivedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 13h-2V7h-8.414l-2-2H4v14h9v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v7zm-2 4h3v2h-3v3.5L15 18l5-4.5V17z\"}}]}]})(props);\n};\nexport function RiFolderReduceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM8 12v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiFolderReduceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm4 7h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiFolderSettingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zm-3.823 8.809l-.991.572 1 1.731.991-.572c.393.371.872.653 1.405.811v1.145h1.999V16.35a3.495 3.495 0 0 0 1.404-.811l.991.572 1-1.73-.991-.573a3.508 3.508 0 0 0 0-1.622l.99-.573-.999-1.73-.992.572a3.495 3.495 0 0 0-1.404-.812V8.5h-1.999v1.144a3.495 3.495 0 0 0-1.404.812L8.6 9.883 7.6 11.615l.991.572a3.508 3.508 0 0 0 0 1.622zm3.404.688a1.5 1.5 0 1 1 0-2.998 1.5 1.5 0 0 1 0 2.998z\"}}]}]})(props);\n};\nexport function RiFolderSettingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm4.591 8.809a3.508 3.508 0 0 1 0-1.622l-.991-.572 1-1.732.991.573a3.495 3.495 0 0 1 1.404-.812V8.5h2v1.144c.532.159 1.01.44 1.403.812l.992-.573 1 1.731-.991.573a3.508 3.508 0 0 1 0 1.622l.991.572-1 1.731-.991-.572a3.495 3.495 0 0 1-1.404.811v1.145h-2V16.35a3.495 3.495 0 0 1-1.404-.811l-.991.572-1-1.73.991-.573zm3.404.688a1.5 1.5 0 1 0 0-2.998 1.5 1.5 0 0 0 0 2.998z\"}}]}]})(props);\n};\nexport function RiFolderSharedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 13.126A6 6 0 0 0 13.303 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v7.126zM18 17v-3.5l5 4.5-5 4.5V19h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiFolderSharedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 13h-2V7h-8.414l-2-2H4v14h9v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v7zm-4 4v-3.5l5 4.5-5 4.5V19h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiFolderShield2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 10H12v7.382c0 1.409.632 2.734 1.705 3.618H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v4zm-8 2h8v5.382c0 .897-.446 1.734-1.187 2.23L18 21.499l-2.813-1.885A2.685 2.685 0 0 1 14 17.383V12z\"}}]}]})(props);\n};\nexport function RiFolderShield2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 9h-2V7h-8.414l-2-2H4v14h7.447a4.97 4.97 0 0 0 1.664 2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H21a1 1 0 0 1 1 1v3zm-9 2h9v5.949c0 .99-.501 1.916-1.336 2.465L17.5 21.498l-3.164-2.084A2.953 2.953 0 0 1 13 16.95V11zm2 5.949c0 .316.162.614.436.795l2.064 1.36 2.064-1.36a.954.954 0 0 0 .436-.795V13h-5v3.949z\"}}]}]})(props);\n};\nexport function RiFolderShieldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM8 9v4.904c0 .892.446 1.724 1.187 2.219L12 17.998l2.813-1.875A2.667 2.667 0 0 0 16 13.904V9H8zm2 4.904V11h4v2.904a.667.667 0 0 1-.297.555L12 15.594l-1.703-1.135a.667.667 0 0 1-.297-.555z\"}}]}]})(props);\n};\nexport function RiFolderShieldLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm4 4h8v4.904c0 .892-.446 1.724-1.187 2.219L12 17.998l-2.813-1.875A2.667 2.667 0 0 1 8 13.904V9zm2 4.904c0 .223.111.431.297.555L12 15.594l1.703-1.135a.667.667 0 0 0 .297-.555V11h-4v2.904z\"}}]}]})(props);\n};\nexport function RiFolderTransferFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM12 12H8v2h4v3l4-4-4-4v3z\"}}]}]})(props);\n};\nexport function RiFolderTransferLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm8 7V9l4 4-4 4v-3H8v-2h4z\"}}]}]})(props);\n};\nexport function RiFolderUnknowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM11 16v2h2v-2h-2zm-2.433-5.187l1.962.393A1.5 1.5 0 1 1 12 13h-1v2h1a3.5 3.5 0 1 0-3.433-4.187z\"}}]}]})(props);\n};\nexport function RiFolderUnknowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm7 11h2v2h-2v-2zm-2.433-5.187A3.501 3.501 0 1 1 12 15h-1v-2h1a1.5 1.5 0 1 0-1.471-1.794l-1.962-.393z\"}}]}]})(props);\n};\nexport function RiFolderUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM13 13h3l-4-4-4 4h3v4h2v-4z\"}}]}]})(props);\n};\nexport function RiFolderUploadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm9 8v4h-2v-4H8l4-4 4 4h-3z\"}}]}]})(props);\n};\nexport function RiFolderUserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM12 13a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm-4 5h8a4 4 0 1 0-8 0z\"}}]}]})(props);\n};\nexport function RiFolderUserLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm4 13a4 4 0 1 1 8 0H8zm4-5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z\"}}]}]})(props);\n};\nexport function RiFolderWarningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM11 9v5h2V9h-2zm0 6v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiFolderWarningLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2zM4 5v14h16V7h-8.414l-2-2H4zm7 10h2v2h-2v-2zm0-6h2v5h-2V9z\"}}]}]})(props);\n};\nexport function RiFolderZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414l2 2H16v2h2V5h3zm-3 8h-2v2h-2v3h4v-5zm-2-2h-2v2h2v-2zm2-2h-2v2h2V9zm-2-2h-2v2h2V7z\"}}]}]})(props);\n};\nexport function RiFolderZipLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10.414 3l2 2H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414zM18 18h-4v-3h2v-2h-2v-2h2V9h-2V7h-2.414l-2-2H4v14h16V7h-4v2h2v2h-2v2h2v5z\"}}]}]})(props);\n};\nexport function RiFoldersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7V4a1 1 0 0 1 1-1h6.414l2 2H21a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-3v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h3zm0 2H4v10h12v-2H6V9z\"}}]}]})(props);\n};\nexport function RiFoldersLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7V4a1 1 0 0 1 1-1h6.414l2 2H21a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-3v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h3zm0 2H4v10h12v-2H6V9zm2-4v10h12V7h-5.414l-2-2H8z\"}}]}]})(props);\n};\nexport function RiKeynoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12v8h4v2H7v-2h4v-8H2.992c-.548 0-.906-.43-.797-.977l1.61-8.046C3.913 2.437 4.445 2 5 2h13.998c.553 0 1.087.43 1.196.977l1.61 8.046c.108.54-.26.977-.797.977H13z\"}}]}]})(props);\n};\nexport function RiKeynoteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.44 10h15.12l-1.2-6H5.64l-1.2 6zM13 12v8h4v2H7v-2h4v-8H2.992c-.548 0-.906-.43-.797-.977l1.61-8.046C3.913 2.437 4.445 2 5 2h13.998c.553 0 1.087.43 1.196.977l1.61 8.046c.108.54-.26.977-.797.977H13z\"}}]}]})(props);\n};\nexport function RiMarkdownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4 12.5v-4l2 2 2-2v4h2v-7h-2l-2 2-2-2H5v7h2zm11-3v-4h-2v4h-2l3 3 3-3h-2z\"}}]}]})(props);\n};\nexport function RiMarkdownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm3 10.5H5v-7h2l2 2 2-2h2v7h-2v-4l-2 2-2-2v4zm11-3h2l-3 3-3-3h2v-4h2v4z\"}}]}]})(props);\n};\nexport function RiNewspaperFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 22H5a3 3 0 0 1-3-3V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v7h4v9a3 3 0 0 1-3 3zm-1-10v7a1 1 0 0 0 2 0v-7h-2zM5 6v6h6V6H5zm0 7v2h10v-2H5zm0 3v2h10v-2H5zm2-8h2v2H7V8z\"}}]}]})(props);\n};\nexport function RiNewspaperLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16 20V4H4v15a1 1 0 0 0 1 1h11zm3 2H5a3 3 0 0 1-3-3V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v7h4v9a3 3 0 0 1-3 3zm-1-10v7a1 1 0 0 0 2 0v-7h-2zM6 6h6v6H6V6zm2 2v2h2V8H8zm-2 5h8v2H6v-2zm0 3h8v2H6v-2z\"}}]}]})(props);\n};\nexport function RiNumbersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18H4v-8h5v8zm6 0h-5V6h5v12zm6 0h-5V2h5v16zm1 4H3v-2h19v2z\"}}]}]})(props);\n};\nexport function RiNumbersLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 18H4v-8h5v8zm-2-2v-4H6v4h1zm6 0V8h-1v8h1zm2 2h-5V6h5v12zm4-2V4h-1v12h1zm2 2h-5V2h5v16zm1 4H3v-2h19v2z\"}}]}]})(props);\n};\nexport function RiPagesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V8h18v13a1 1 0 0 1-1 1zm1-16H3V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v3zM7 11v4h4v-4H7zm0 6v2h10v-2H7zm6-5v2h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiPagesLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8v12h14V8H5zm0-2h14V4H5v2zm15 16H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM7 10h4v4H7v-4zm0 6h10v2H7v-2zm6-5h4v2h-4v-2z\"}}]}]})(props);\n};\nexport function RiStickyNote2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 16l-5.003 5H3.998A.996.996 0 0 1 3 20.007V3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.447.993.999V16z\"}}]}]})(props);\n};\nexport function RiStickyNote2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.998 21A.996.996 0 0 1 3 20.007V3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.447.993.999V16l-5.003 5H3.998zM5 19h10.169L19 15.171V5H5v14z\"}}]}]})(props);\n};\nexport function RiStickyNoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14l-.117.007a1 1 0 0 0-.876.876L14 15v6H3.998A.996.996 0 0 1 3 20.007V3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.447.993.999V14h-6zm6 2l-5 4.997V16h5z\"}}]}]})(props);\n};\nexport function RiStickyNoteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15l-6 5.996L4.002 21A.998.998 0 0 1 3 20.007V3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.456.993 1.002V15zM19 5H5v14h8v-5a1 1 0 0 1 .883-.993L14 13l5-.001V5zm-.829 9.999L15 15v3.169l3.171-3.17z\"}}]}]})(props);\n};\nexport function RiSurveyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4v4h12V4h2.007c.548 0 .993.445.993.993v16.014c0 .548-.445.993-.993.993H3.993C3.445 22 3 21.555 3 21.007V4.993C3 4.445 3.445 4 3.993 4H6zm3 13H7v2h2v-2zm0-3H7v2h2v-2zm0-3H7v2h2v-2zm7-9v4H8V2h8z\"}}]}]})(props);\n};\nexport function RiSurveyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2v2h3.007c.548 0 .993.445.993.993v16.014c0 .548-.445.993-.993.993H3.993C3.445 22 3 21.555 3 21.007V4.993C3 4.445 3.445 4 3.993 4H7V2h10zM7 6H5v14h14V6h-2v2H7V6zm2 10v2H7v-2h2zm0-3v2H7v-2h2zm0-3v2H7v-2h2zm6-6H9v2h6V4z\"}}]}]})(props);\n};\nexport function RiTaskFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2.992v18.016a1 1 0 0 1-.993.992H3.993A.993.993 0 0 1 3 21.008V2.992A1 1 0 0 1 3.993 2h16.014c.548 0 .993.444.993.992zm-9.707 10.13l-2.475-2.476-1.414 1.415 3.889 3.889 5.657-5.657-1.414-1.414-4.243 4.242z\"}}]}]})(props);\n};\nexport function RiTaskLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2.992v18.016a1 1 0 0 1-.993.992H3.993A.993.993 0 0 1 3 21.008V2.992A1 1 0 0 1 3.993 2h16.014c.548 0 .993.444.993.992zM19 4H5v16h14V4zm-7.707 9.121l4.243-4.242 1.414 1.414-5.657 5.657-3.89-3.89 1.415-1.414 2.475 2.475z\"}}]}]})(props);\n};\nexport function RiTodoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2h3a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3V0h2v2h6V0h2v2zM7 8v2h10V8H7zm0 4v2h10v-2H7z\"}}]}]})(props);\n};\nexport function RiTodoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2h3a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3V0h2v2h6V0h2v2zm0 2v2h-2V4H9v2H7V4H5v16h14V4h-2zM7 8h10v2H7V8zm0 4h10v2H7v-2z\"}}]}]})(props);\n};\nexport function RiAB (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15v2c0 1.054.95 2 2 2h3v2H7a4 4 0 0 1-4-4v-2h2zm13-5l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16 10h2zm-1 2.885L15.753 16h2.492L17 12.885zM3 3h6a3 3 0 0 1 2.235 5A3 3 0 0 1 9 13H3V3zm6 6H5v2h4a1 1 0 0 0 0-2zm8-6a4 4 0 0 1 4 4v2h-2V7a2 2 0 0 0-2-2h-3V3h3zM9 5H5v2h4a1 1 0 1 0 0-2z\"}}]})(props);\n};\nexport function RiAlignBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19h18v2H3v-2zm5-6h3l-4 4-4-4h3V3h2v10zm10 0h3l-4 4-4-4h3V3h2v10z\"}}]}]})(props);\n};\nexport function RiAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm2 15h14v2H5v-2zm-2-5h18v2H3v-2zm2-5h14v2H5V9z\"}}]}]})(props);\n};\nexport function RiAlignJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 15h18v2H3v-2zm0-5h18v2H3v-2zm0-5h18v2H3V9z\"}}]}]})(props);\n};\nexport function RiAlignLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 15h14v2H3v-2zm0-5h18v2H3v-2zm0-5h14v2H3V9z\"}}]}]})(props);\n};\nexport function RiAlignRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm4 15h14v2H7v-2zm-4-5h18v2H3v-2zm4-5h14v2H7V9z\"}}]}]})(props);\n};\nexport function RiAlignTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18v2H3V3zm5 8v10H6V11H3l4-4 4 4H8zm10 0v10h-2V11h-3l4-4 4 4h-3z\"}}]}]})(props);\n};\nexport function RiAlignVertically (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11h18v2H3v-2zm15 7v3h-2v-3h-3l4-4 4 4h-3zM8 18v3H6v-3H3l4-4 4 4H8zM18 6h3l-4 4-4-4h3V3h2v3zM8 6h3l-4 4-4-4h3V3h2v3z\"}}]}]})(props);\n};\nexport function RiAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3v7.267l6.294-3.633 1 1.732-6.293 3.633 6.293 3.635-1 1.732L13 13.732V21h-2v-7.268l-6.294 3.634-1-1.732L9.999 12 3.706 8.366l1-1.732L11 10.267V3z\"}}]}]})(props);\n};\nexport function RiAttachment2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.828 7.757l-5.656 5.657a1 1 0 1 0 1.414 1.414l5.657-5.656A3 3 0 1 0 12 4.929l-5.657 5.657a5 5 0 1 0 7.071 7.07L19.071 12l1.414 1.414-5.657 5.657a7 7 0 1 1-9.9-9.9l5.658-5.656a5 5 0 0 1 7.07 7.07L12 16.244A3 3 0 1 1 7.757 12l5.657-5.657 1.414 1.414z\"}}]}]})(props);\n};\nexport function RiBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11h4.5a2.5 2.5 0 1 0 0-5H8v5zm10 4.5a4.5 4.5 0 0 1-4.5 4.5H6V4h6.5a4.5 4.5 0 0 1 3.256 7.606A4.498 4.498 0 0 1 18 15.5zM8 13v5h5.5a2.5 2.5 0 1 0 0-5H8z\"}}]}]})(props);\n};\nexport function RiBringForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3c.552 0 1 .448 1 1v5h5c.552 0 1 .448 1 1v10c0 .552-.448 1-1 1H10c-.552 0-1-.448-1-1v-5H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h10zm-1 2H5v8h8V5z\"}}]}]})(props);\n};\nexport function RiBringToFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3c.552 0 1 .448 1 1v2h5c.552 0 1 .448 1 1v5h2c.552 0 1 .448 1 1v7c0 .552-.448 1-1 1h-7c-.552 0-1-.448-1-1v-2H7c-.552 0-1-.448-1-1v-5H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h7zm5 5H8v8h8V8z\"}}]}]})(props);\n};\nexport function RiCodeView (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.95 8.464l1.414-1.414 4.95 4.95-4.95 4.95-1.414-1.414L20.485 12 16.95 8.464zm-9.9 0L3.515 12l3.535 3.536-1.414 1.414L.686 12l4.95-4.95L7.05 8.464z\"}}]}]})(props);\n};\nexport function RiDeleteColumn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c.552 0 1 .448 1 1v8c.835-.628 1.874-1 3-1 2.761 0 5 2.239 5 5s-2.239 5-5 5c-1.032 0-1.99-.313-2.787-.848L13 20c0 .552-.448 1-1 1H6c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h6zm-1 2H7v14h4V5zm8 10h-6v2h6v-2z\"}}]}]})(props);\n};\nexport function RiDeleteRow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1 .628.835 1 1.874 1 3 0 2.761-2.239 5-5 5s-5-2.239-5-5c0-1.126.372-2.165 1-3H4c-.552 0-1-.448-1-1V6c0-.552.448-1 1-1h16zm-7 10v2h6v-2h-6zm6-8H5v4h14V7z\"}}]}]})(props);\n};\nexport function RiDoubleQuotesL (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.583 17.321C3.553 16.227 3 15 3 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-3.335 1.804-3.987 4.145-4.247 5.621.537-.278 1.24-.375 1.929-.311 1.804.167 3.226 1.648 3.226 3.489a3.5 3.5 0 0 1-3.5 3.5c-1.073 0-2.099-.49-2.748-1.179zm10 0C13.553 16.227 13 15 13 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-3.335 1.804-3.987 4.145-4.247 5.621.537-.278 1.24-.375 1.929-.311 1.804.167 3.226 1.648 3.226 3.489a3.5 3.5 0 0 1-3.5 3.5c-1.073 0-2.099-.49-2.748-1.179z\"}}]}]})(props);\n};\nexport function RiDoubleQuotesR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.417 6.679C20.447 7.773 21 9 21 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311-1.804-.167-3.226-1.648-3.226-3.489a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179zm-10 0C10.447 7.773 11 9 11 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311C4.591 12.322 3.17 10.841 3.17 9a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179z\"}}]}]})(props);\n};\nexport function RiEmphasisCn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-5.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm11 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM13 2v2h6v2h-1.968a18.222 18.222 0 0 1-3.621 6.302 14.685 14.685 0 0 0 5.327 3.042l-.536 1.93A16.685 16.685 0 0 1 12 13.726a16.696 16.696 0 0 1-6.202 3.547l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042 18.077 18.077 0 0 1-2.822-4.3h2.24A16.031 16.031 0 0 0 12 10.876a16.168 16.168 0 0 0 2.91-4.876L5 6V4h6V2h2z\"}}]}]})(props);\n};\nexport function RiEmphasis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-5.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm11 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM18 3v2H8v4h9v2H8v4h10v2H6V3h12z\"}}]}]})(props);\n};\nexport function RiEnglishInput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10h2v.757a4.5 4.5 0 0 1 7 3.743V20h-2v-5.5c0-1.43-1.175-2.5-2.5-2.5S16 13.07 16 14.5V20h-2V10zm-2-6v2H4v5h8v2H4v5h8v2H2V4h10z\"}}]})(props);\n};\nexport function RiFlowChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 21.5c-1.933 0-3.5-1.567-3.5-3.5s1.567-3.5 3.5-3.5c1.585 0 2.924 1.054 3.355 2.5H15v-2h2V9.242L14.757 7H9V9H3V3h6v2h5.757L18 1.756 22.243 6 19 9.241V15L21 15v6h-6v-2H9.355c-.43 1.446-1.77 2.5-3.355 2.5zm0-5c-.828 0-1.5.672-1.5 1.5s.672 1.5 1.5 1.5 1.5-.672 1.5-1.5-.672-1.5-1.5-1.5zm13 .5h-2v2h2v-2zM18 4.586L16.586 6 18 7.414 19.414 6 18 4.586zM7 5H5v2h2V5z\"}}]}]})(props);\n};\nexport function RiFontColor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.246 14H8.754l-1.6 4H5l6-15h2l6 15h-2.154l-1.6-4zm-.8-2L12 5.885 9.554 12h4.892zM3 20h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiFontSize2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6v15H8V6H2V4h14v2h-6zm8 8v7h-2v-7h-3v-2h8v2h-3z\"}}]}]})(props);\n};\nexport function RiFontSize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiFormatClear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.651 14.065L11.605 20H9.574l1.35-7.661-7.41-7.41L4.93 3.515 20.485 19.07l-1.414 1.414-6.42-6.42zm-.878-6.535l.27-1.53h-1.8l-2-2H20v2h-5.927L13.5 9.257 11.773 7.53z\"}}]}]})(props);\n};\nexport function RiFunctions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18l7.68-6L5 6V4h14v2H8.263L16 12l-7.737 6H19v2H5v-2z\"}}]}]})(props);\n};\nexport function RiH1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm8-12v12h-2v-9.796l-2 .536V8.67L19.5 8H21z\"}}]}]})(props);\n};\nexport function RiH2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 4c2.071 0 3.75 1.679 3.75 3.75 0 .857-.288 1.648-.772 2.28l-.148.18L18.034 18H22v2h-7v-1.556l4.82-5.546c.268-.307.43-.709.43-1.148 0-.966-.784-1.75-1.75-1.75-.918 0-1.671.707-1.744 1.606l-.006.144h-2C14.75 9.679 16.429 8 18.5 8z\"}}]}]})(props);\n};\nexport function RiH3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8l-.002 2-2.505 2.883c1.59.435 2.757 1.89 2.757 3.617 0 2.071-1.679 3.75-3.75 3.75-1.826 0-3.347-1.305-3.682-3.033l1.964-.382c.156.806.866 1.415 1.718 1.415.966 0 1.75-.784 1.75-1.75s-.784-1.75-1.75-1.75c-.286 0-.556.069-.794.19l-1.307-1.547L19.35 10H15V8h7zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z\"}}]}]})(props);\n};\nexport function RiH4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm9-12v8h1.5v2H22v2h-2v-2h-5.5v-1.34l5-8.66H22zm-2 3.133L17.19 16H20v-4.867z\"}}]}]})(props);\n};\nexport function RiH5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8v2h-4.323l-.464 2.636c.33-.089.678-.136 1.037-.136 2.21 0 4 1.79 4 4s-1.79 4-4 4c-1.827 0-3.367-1.224-3.846-2.897l1.923-.551c.24.836 1.01 1.448 1.923 1.448 1.105 0 2-.895 2-2s-.895-2-2-2c-.63 0-1.193.292-1.56.748l-1.81-.904L16 8h6zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z\"}}]}]})(props);\n};\nexport function RiH6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.097 8l-2.598 4.5c2.21 0 4.001 1.79 4.001 4s-1.79 4-4 4-4-1.79-4-4c0-.736.199-1.426.546-2.019L18.788 8h2.309zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 10.5c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2z\"}}]}]})(props);\n};\nexport function RiHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.784 14l.42-4H4V8h4.415l.525-5h2.011l-.525 5h3.989l.525-5h2.011l-.525 5H20v2h-3.784l-.42 4H20v2h-4.415l-.525 5h-2.011l.525-5H9.585l-.525 5H7.049l.525-5H4v-2h3.784zm2.011 0h3.99l.42-4h-3.99l-.42 4z\"}}]}]})(props);\n};\nexport function RiHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 11V4h2v17h-2v-8H7v8H5V4h2v7z\"}}]}]})(props);\n};\nexport function RiIndentDecrease (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 15h18v2H3v-2zm8-5h10v2H11v-2zm0-5h10v2H11V9zm-8 3.5L7 9v7l-4-3.5z\"}}]}]})(props);\n};\nexport function RiIndentIncrease (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 15h18v2H3v-2zm8-5h10v2H11v-2zm0-5h10v2H11V9zm-4 3.5L3 16V9l4 3.5z\"}}]}]})(props);\n};\nexport function RiInputCursorMove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 21v-2h3V5H8V3h8v2h-3v14h3v2H8zM18.05 7.05L23 12l-4.95 4.95-1.414-1.414L20.172 12l-3.536-3.536L18.05 7.05zm-12.1 0l1.414 1.414L3.828 12l3.536 3.536L5.95 16.95 1 12l4.95-4.95z\"}}]})(props);\n};\nexport function RiInsertColumnLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1h-6c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h6zm-1 2h-4v14h4V5zM6 7c2.761 0 5 2.239 5 5s-2.239 5-5 5-5-2.239-5-5 2.239-5 5-5zm1 2H5v1.999L3 11v2l2-.001V15h2v-2.001L9 13v-2l-2-.001V9z\"}}]}]})(props);\n};\nexport function RiInsertColumnRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h6zM9 5H5v14h4V5zm9 2c2.761 0 5 2.239 5 5s-2.239 5-5 5-5-2.239-5-5 2.239-5 5-5zm1 2h-2v1.999L15 11v2l2-.001V15h2v-2.001L21 13v-2l-2-.001V9z\"}}]}]})(props);\n};\nexport function RiInsertRowBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13c2.761 0 5 2.239 5 5s-2.239 5-5 5-5-2.239-5-5 2.239-5 5-5zm1 2h-2v1.999L9 17v2l2-.001V21h2v-2.001L15 19v-2l-2-.001V15zm7-12c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zM5 5v4h14V5H5z\"}}]}]})(props);\n};\nexport function RiInsertRowTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13c.552 0 1 .448 1 1v6c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1v-6c0-.552.448-1 1-1h16zm-1 2H5v4h14v-4zM12 1c2.761 0 5 2.239 5 5s-2.239 5-5 5-5-2.239-5-5 2.239-5 5-5zm1 2h-2v1.999L9 5v2l2-.001V9h2V6.999L15 7V5l-2-.001V3z\"}}]}]})(props);\n};\nexport function RiItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20H7v-2h2.927l2.116-12H9V4h8v2h-2.927l-2.116 12H15z\"}}]}]})(props);\n};\nexport function RiLineHeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4h10v2H11V4zM6 7v4H4V7H1l4-4 4 4H6zm0 10h3l-4 4-4-4h3v-4h2v4zm5 1h10v2H11v-2zm-2-7h12v2H9v-2z\"}}]}]})(props);\n};\nexport function RiLinkM (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.657 14.828l-1.414-1.414L17.657 12A4 4 0 1 0 12 6.343l-1.414 1.414-1.414-1.414 1.414-1.414a6 6 0 0 1 8.485 8.485l-1.414 1.414zm-2.829 2.829l-1.414 1.414a6 6 0 1 1-8.485-8.485l1.414-1.414 1.414 1.414L6.343 12A4 4 0 1 0 12 17.657l1.414-1.414 1.414 1.414zm0-9.9l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z\"}}]}]})(props);\n};\nexport function RiLinkUnlinkM (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.657 14.828l-1.414-1.414L17.657 12A4 4 0 1 0 12 6.343l-1.414 1.414-1.414-1.414 1.414-1.414a6 6 0 0 1 8.485 8.485l-1.414 1.414zm-2.829 2.829l-1.414 1.414a6 6 0 1 1-8.485-8.485l1.414-1.414 1.414 1.414L6.343 12A4 4 0 1 0 12 17.657l1.414-1.414 1.414 1.414zm0-9.9l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07zM5.775 2.293l1.932-.518L8.742 5.64l-1.931.518-1.036-3.864zm9.483 16.068l1.931-.518 1.036 3.864-1.932.518-1.035-3.864zM2.293 5.775l3.864 1.036-.518 1.931-3.864-1.035.518-1.932zm16.068 9.483l3.864 1.035-.518 1.932-3.864-1.036.518-1.931z\"}}]}]})(props);\n};\nexport function RiLinkUnlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 17h5v2h-3v3h-2v-5zM7 7H2V5h3V2h2v5zm11.364 8.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z\"}}]}]})(props);\n};\nexport function RiLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z\"}}]}]})(props);\n};\nexport function RiListCheck2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4h10v2H11V4zm0 4h6v2h-6V8zm0 6h10v2H11v-2zm0 4h6v2h-6v-2zM3 4h6v6H3V4zm2 2v2h2V6H5zm-2 8h6v6H3v-6zm2 2v2h2v-2H5z\"}}]}]})(props);\n};\nexport function RiListCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4h13v2H8V4zm-5-.5h3v3H3v-3zm0 7h3v3H3v-3zm0 7h3v3H3v-3zM8 11h13v2H8v-2zm0 7h13v2H8v-2z\"}}]}]})(props);\n};\nexport function RiListOrdered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4h13v2H8V4zM5 3v3h1v1H3V6h1V4H3V3h2zM3 14v-2.5h2V11H3v-1h3v2.5H4v.5h2v1H3zm2 5.5H3v-1h2V18H3v-1h3v4H3v-1h2v-.5zM8 11h13v2H8v-2zm0 7h13v2H8v-2z\"}}]}]})(props);\n};\nexport function RiListUnordered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4h13v2H8V4zM4.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6.9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM8 11h13v2H8v-2zm0 7h13v2H8v-2z\"}}]}]})(props);\n};\nexport function RiMergeCellsHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm-9 2H5v5.999h2V9l3 3-3 3v-2H5v6h6v-2h2v2h6v-6h-2v2l-3-3 3-3v1.999h2V5h-6v2h-2V5zm2 8v2h-2v-2h2zm0-4v2h-2V9h2z\"}}]}]})(props);\n};\nexport function RiMergeCellsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 20c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16c.552 0 1 .448 1 1v16zm-2-9V5h-5.999v2H15l-3 3-3-3h2V5H5v6h2v2H5v6h6v-2H9l3-3 3 3h-1.999v2H19v-6h-2v-2h2zm-8 2H9v-2h2v2zm4 0h-2v-2h2v2z\"}}]}]})(props);\n};\nexport function RiMindMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3c1.657 0 3 1.343 3 3s-1.343 3-3 3h-3c-1.306 0-2.417-.834-2.829-2H11c-1.1 0-2 .9-2 2v.171c1.166.412 2 1.523 2 2.829 0 1.306-.834 2.417-2 2.829V15c0 1.1.9 2 2 2h1.17c.412-1.165 1.524-2 2.83-2h3c1.657 0 3 1.343 3 3s-1.343 3-3 3h-3c-1.306 0-2.417-.834-2.829-2H11c-2.21 0-4-1.79-4-4H5c-1.657 0-3-1.343-3-3s1.343-3 3-3h2c0-2.21 1.79-4 4-4h1.17c.412-1.165 1.524-2 2.83-2h3zm0 14h-3c-.552 0-1 .448-1 1s.448 1 1 1h3c.552 0 1-.448 1-1s-.448-1-1-1zM8 11H5c-.552 0-1 .448-1 1s.448 1 1 1h3c.552 0 1-.448 1-1s-.448-1-1-1zm10-6h-3c-.552 0-1 .448-1 1s.448 1 1 1h3c.552 0 1-.448 1-1s-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiNodeTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2c.552 0 1 .448 1 1v4c0 .552-.448 1-1 1H8v2h5V9c0-.552.448-1 1-1h6c.552 0 1 .448 1 1v4c0 .552-.448 1-1 1h-6c-.552 0-1-.448-1-1v-1H8v6h5v-1c0-.552.448-1 1-1h6c.552 0 1 .448 1 1v4c0 .552-.448 1-1 1h-6c-.552 0-1-.448-1-1v-1H7c-.552 0-1-.448-1-1V8H4c-.552 0-1-.448-1-1V3c0-.552.448-1 1-1h6zm9 16h-4v2h4v-2zm0-8h-4v2h4v-2zM9 4H5v2h4V4z\"}}]}]})(props);\n};\nexport function RiNumber0 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1.5c1.321 0 2.484.348 3.447.994.963.645 1.726 1.588 2.249 2.778.522 1.19.804 2.625.804 4.257v4.942c0 1.632-.282 3.068-.804 4.257-.523 1.19-1.286 2.133-2.25 2.778-.962.646-2.125.994-3.446.994-1.321 0-2.484-.348-3.447-.994-.963-.645-1.726-1.588-2.249-2.778-.522-1.19-.804-2.625-.804-4.257V9.529c0-1.632.282-3.068.804-4.257.523-1.19 1.286-2.133 2.25-2.778C9.515 1.848 10.678 1.5 12 1.5zm0 2c-.916 0-1.694.226-2.333.655-.637.427-1.158 1.07-1.532 1.92-.412.94-.635 2.108-.635 3.454v4.942c0 1.346.223 2.514.635 3.453.374.851.895 1.494 1.532 1.921.639.429 1.417.655 2.333.655.916 0 1.694-.226 2.333-.655.637-.427 1.158-1.07 1.532-1.92.412-.94.635-2.108.635-3.454V9.529c0-1.346-.223-2.514-.635-3.453-.374-.851-.895-1.494-1.532-1.921C13.694 3.726 12.916 3.5 12 3.5z\"}}]}]})(props);\n};\nexport function RiNumber1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1.5V22h-2V3.704L7.5 4.91V2.839l5-1.339z\"}}]}]})(props);\n};\nexport function RiNumber2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7.5a4 4 0 1 0-8 0H6a6 6 0 1 1 10.663 3.776l-7.32 8.723L18 20v2H6v-1.127l9.064-10.802A3.982 3.982 0 0 0 16 7.5z\"}}]}]})(props);\n};\nexport function RiNumber3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2v1.362L12.809 9.55a6.501 6.501 0 1 1-7.116 8.028l1.94-.486A4.502 4.502 0 0 0 16.5 16a4.5 4.5 0 0 0-6.505-4.03l-.228.122-.69-1.207L14.855 4 6.5 4V2H18z\"}}]}]})(props);\n};\nexport function RiNumber4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 1.5V16h3v2h-3v4h-2v-4H4v-1.102L14 1.5h2zM14 16V5.171L6.968 16H14z\"}}]}]})(props);\n};\nexport function RiNumber5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 2v2H9.3l-.677 6.445a6.5 6.5 0 1 1-2.93 7.133l1.94-.486A4.502 4.502 0 0 0 16.5 16a4.5 4.5 0 0 0-4.5-4.5c-2.022 0-3.278.639-3.96 1.53l-1.575-1.182L7.5 2H18z\"}}]}]})(props);\n};\nexport function RiNumber6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.886 2l-4.438 7.686A6.5 6.5 0 1 1 6.4 12.7L12.576 2h2.31zM12 11.5a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9z\"}}]}]})(props);\n};\nexport function RiNumber7 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2v1.5L10.763 22H8.574l8.013-18H6V2z\"}}]}]})(props);\n};\nexport function RiNumber8 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1.5a5.5 5.5 0 0 1 3.352 9.86C17.24 12.41 18.5 14.32 18.5 16.5c0 3.314-2.91 6-6.5 6s-6.5-2.686-6.5-6c0-2.181 1.261-4.09 3.147-5.141A5.5 5.5 0 0 1 12 1.5zm0 11c-2.52 0-4.5 1.828-4.5 4 0 2.172 1.98 4 4.5 4s4.5-1.828 4.5-4c0-2.172-1.98-4-4.5-4zm0-9a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7z\"}}]}]})(props);\n};\nexport function RiNumber9 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1.5a6.5 6.5 0 0 1 5.619 9.77l-6.196 10.729H9.114l4.439-7.686A6.5 6.5 0 1 1 12 1.5zm0 2a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9z\"}}]}]})(props);\n};\nexport function RiOmega (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 20v-2.157c1.863-1.192 3.5-3.875 3.5-6.959 0-3.073-2-6.029-5.5-6.029s-5.5 2.956-5.5 6.03c0 3.083 1.637 5.766 3.5 6.958V20H3v-2h4.76C5.666 16.505 4 13.989 4 10.884 4 6.247 7.5 3 12 3s8 3.247 8 7.884c0 3.105-1.666 5.621-3.76 7.116H21v2h-7z\"}}]}]})(props);\n};\nexport function RiOrganizationChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3c.552 0 1 .448 1 1v4c0 .552-.448 1-1 1h-2v2h4c.552 0 1 .448 1 1v3h2c.552 0 1 .448 1 1v4c0 .552-.448 1-1 1h-6c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h2v-2H8v2h2c.552 0 1 .448 1 1v4c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1v-4c0-.552.448-1 1-1h2v-3c0-.552.448-1 1-1h4V9H9c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h6zM9 17H5v2h4v-2zm10 0h-4v2h4v-2zM14 5h-4v2h4V5z\"}}]}]})(props);\n};\nexport function RiPageSeparator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 21v-4H7v4H5v-5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v5h-2zM7 3v4h10V3h2v5a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3h2zM2 9l4 3-4 3V9zm20 0v6l-4-3 4-3z\"}}]}]})(props);\n};\nexport function RiParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6v15h-2v-5a6 6 0 1 1 0-12h10v2h-3v15h-2V6h-3zm-2 0a4 4 0 1 0 0 8V6z\"}}]}]})(props);\n};\nexport function RiPinyinInput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.934 3.036l1.732 1L18.531 6H21v2h-2v4h2v2h-2v7h-2v-7h-3.084c-.325 2.862-1.564 5.394-3.37 7.193l-1.562-1.27c1.52-1.438 2.596-3.522 2.917-5.922L10 14v-2l2-.001V8h-2V6h2.467l-1.133-1.964 1.732-1L14.777 6h1.444l1.713-2.964zM5 13.803l-2 .536v-2.071l2-.536V8H3V6h2V3h2v3h2v2H7v3.197l2-.536v2.07l-2 .536V18.5A2.5 2.5 0 0 1 4.5 21H3v-2h1.5a.5.5 0 0 0 .492-.41L5 18.5v-4.697zM17 8h-3v4h3V8z\"}}]})(props);\n};\nexport function RiQuestionMark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19c.828 0 1.5.672 1.5 1.5S12.828 22 12 22s-1.5-.672-1.5-1.5.672-1.5 1.5-1.5zm0-17c3.314 0 6 2.686 6 6 0 2.165-.753 3.29-2.674 4.923C13.399 14.56 13 15.297 13 17h-2c0-2.474.787-3.695 3.031-5.601C15.548 10.11 16 9.434 16 8c0-2.21-1.79-4-4-4S8 5.79 8 8v1H6V8c0-3.314 2.686-6 6-6z\"}}]}]})(props);\n};\nexport function RiRoundedCorner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19v2h-2v-2h2zm-4 0v2h-2v-2h2zm-4 0v2h-2v-2h2zm-4 0v2H7v-2h2zm-4 0v2H3v-2h2zm16-4v2h-2v-2h2zM5 15v2H3v-2h2zm0-4v2H3v-2h2zm11-8c2.687 0 4.882 2.124 4.995 4.783L21 8v5h-2V8c0-1.591-1.255-2.903-2.824-2.995L16 5h-5V3h5zM5 7v2H3V7h2zm0-4v2H3V3h2zm4 0v2H7V3h2z\"}}]}]})(props);\n};\nexport function RiSendBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3c.552 0 1 .448 1 1v5h5c.552 0 1 .448 1 1v10c0 .552-.448 1-1 1H10c-.552 0-1-.448-1-1v-5H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h10zm-1 2H5v8h4v-3c0-.552.448-1 1-1h3V5z\"}}]}]})(props);\n};\nexport function RiSendToBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3c.552 0 1 .448 1 1v2h5c.552 0 1 .448 1 1v5h2c.552 0 1 .448 1 1v7c0 .552-.448 1-1 1h-7c-.552 0-1-.448-1-1v-2H7c-.552 0-1-.448-1-1v-5H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h7zm5 5h-4v3c0 .552-.448 1-1 1H8v4h4v-3c0-.552.448-1 1-1h3V8z\"}}]}]})(props);\n};\nexport function RiSeparator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11h2v2H2v-2zm4 0h12v2H6v-2zm14 0h2v2h-2v-2z\"}}]}]})(props);\n};\nexport function RiSingleQuotesL (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.583 17.321C8.553 16.227 8 15 8 13.011c0-3.5 2.457-6.637 6.03-8.188l.893 1.378c-3.335 1.804-3.987 4.145-4.247 5.621.537-.278 1.24-.375 1.929-.311 1.804.167 3.226 1.648 3.226 3.489a3.5 3.5 0 0 1-3.5 3.5c-1.073 0-2.099-.49-2.748-1.179z\"}}]}]})(props);\n};\nexport function RiSingleQuotesR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.417 6.679C15.447 7.773 16 9 16 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311C9.591 12.322 8.17 10.841 8.17 9a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179z\"}}]}]})(props);\n};\nexport function RiSortAsc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3l4 5h-3v12h-2V8h-3l4-5zm-5 15v2H3v-2h11zm0-7v2H3v-2h11zm-2-7v2H3V4h9z\"}}]}]})(props);\n};\nexport function RiSortDesc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4v12h3l-4 5-4-5h3V4h2zm-8 14v2H3v-2h9zm2-7v2H3v-2h11zm0-7v2H3V4h11z\"}}]}]})(props);\n};\nexport function RiSpace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9v4h16V9h2v5a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V9h2z\"}}]}]})(props);\n};\nexport function RiSplitCellsHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm-9 2H5v14h6v-4h2v4h6V5h-6v4h-2V5zm4 4l3 3-3 3v-2H9v2l-3-3 3-3v2h6V9z\"}}]}]})(props);\n};\nexport function RiSplitCellsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm-1 2H5v5.999L9 11v2H5v6h14v-6h-4v-2l4-.001V5zm-7 1l3 3h-2v6h2l-3 3-3-3h2V9H9l3-3z\"}}]}]})(props);\n};\nexport function RiStrikethrough2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9h-2V6H5V4h14v2h-6v3zm0 6v5h-2v-5h2zM3 11h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.154 14c.23.516.346 1.09.346 1.72 0 1.342-.524 2.392-1.571 3.147C14.88 19.622 13.433 20 11.586 20c-1.64 0-3.263-.381-4.87-1.144V16.6c1.52.877 3.075 1.316 4.666 1.316 2.551 0 3.83-.732 3.839-2.197a2.21 2.21 0 0 0-.648-1.603l-.12-.117H3v-2h18v2h-3.846zm-4.078-3H7.629a4.086 4.086 0 0 1-.481-.522C6.716 9.92 6.5 9.246 6.5 8.452c0-1.236.466-2.287 1.397-3.153C8.83 4.433 10.271 4 12.222 4c1.471 0 2.879.328 4.222.984v2.152c-1.2-.687-2.515-1.03-3.946-1.03-2.48 0-3.719.782-3.719 2.346 0 .42.218.786.654 1.099.436.313.974.562 1.613.75.62.18 1.297.414 2.03.699z\"}}]}]})(props);\n};\nexport function RiSubscript2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6v13H9V6H3V4h14v2h-6zm8.55 10.58a.8.8 0 1 0-1.32-.36l-1.154.33A2.001 2.001 0 0 1 19 14a2 2 0 0 1 1.373 3.454L18.744 19H21v1h-4v-1l2.55-2.42z\"}}]}]})(props);\n};\nexport function RiSubscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.596 4L10.5 9.928 15.404 4H18l-6.202 7.497L18 18.994V19h-2.59l-4.91-5.934L5.59 19H3v-.006l6.202-7.497L3 4h2.596zM21.55 16.58a.8.8 0 1 0-1.32-.36l-1.155.33A2.001 2.001 0 0 1 21 14a2 2 0 0 1 1.373 3.454L20.744 19H23v1h-4v-1l2.55-2.42z\"}}]}]})(props);\n};\nexport function RiSuperscript2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7v13H9V7H3V5h12v2h-4zm8.55-.42a.8.8 0 1 0-1.32-.36l-1.154.33A2.001 2.001 0 0 1 19 4a2 2 0 0 1 1.373 3.454L18.744 9H21v1h-4V9l2.55-2.42z\"}}]}]})(props);\n};\nexport function RiSuperscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.596 5l4.904 5.928L15.404 5H18l-6.202 7.497L18 19.994V20h-2.59l-4.91-5.934L5.59 20H3v-.006l6.202-7.497L3 5h2.596zM21.55 6.58a.8.8 0 1 0-1.32-.36l-1.155.33A2.001 2.001 0 0 1 21 4a2 2 0 0 1 1.373 3.454L20.744 9H23v1h-4V9l2.55-2.42z\"}}]}]})(props);\n};\nexport function RiTable2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 10v4h6v-4h-6zm-2 0H5v4h6v-4zm2 9h6v-3h-6v3zm-2 0v-3H5v3h6zm2-14v3h6V5h-6zm-2 0H5v3h6V5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiTextDirectionL (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5v10H9v-4a4 4 0 1 1 0-8h8v2h-2v10h-2V5h-2zM9 5a2 2 0 1 0 0 4V5zm8 12v-2.5l4 3.5-4 3.5V19H5v-2h12z\"}}]}]})(props);\n};\nexport function RiTextDirectionR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5v10H9v-4a4 4 0 1 1 0-8h8v2h-2v10h-2V5h-2zM9 5a2 2 0 1 0 0 4V5zM7 17h12v2H7v2.5L3 18l4-3.5V17z\"}}]}]})(props);\n};\nexport function RiTextSpacing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17h10v-2.5l3.5 3.5-3.5 3.5V19H7v2.5L3.5 18 7 14.5V17zm6-11v9h-2V6H5V4h14v2h-6z\"}}]}]})(props);\n};\nexport function RiTextWrap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 18h1.5a2.5 2.5 0 1 0 0-5H3v-2h13.5a4.5 4.5 0 1 1 0 9H15v2l-4-3 4-3v2zM3 4h18v2H3V4zm6 14v2H3v-2h6z\"}}]}]})(props);\n};\nexport function RiText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6v15h-2V6H5V4h14v2z\"}}]}]})(props);\n};\nexport function RiTranslate2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 10l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16.5 10h2zM10 2v2h6v2h-1.968a18.222 18.222 0 0 1-3.62 6.301 14.864 14.864 0 0 0 2.336 1.707l-.751 1.878A17.015 17.015 0 0 1 9 13.725a16.676 16.676 0 0 1-6.201 3.548l-.536-1.929a14.7 14.7 0 0 0 5.327-3.042A18.078 18.078 0 0 1 4.767 8h2.24A16.032 16.032 0 0 0 9 10.877a16.165 16.165 0 0 0 2.91-4.876L2 6V4h6V2h2zm7.5 10.885L16.253 16h2.492L17.5 12.885z\"}}]}]})(props);\n};\nexport function RiTranslate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15v2a2 2 0 0 0 1.85 1.995L7 19h3v2H7a4 4 0 0 1-4-4v-2h2zm13-5l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16 10h2zm-1 2.885L15.753 16h2.492L17 12.885zM8 2v2h4v7H8v3H6v-3H2V4h4V2h2zm9 1a4 4 0 0 1 4 4v2h-2V7a2 2 0 0 0-2-2h-3V3h3zM6 6H4v3h2V6zm4 0H8v3h2V6z\"}}]}]})(props);\n};\nexport function RiUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3v9a4 4 0 1 0 8 0V3h2v9a6 6 0 1 1-12 0V3h2zM4 20h16v2H4v-2z\"}}]}]})(props);\n};\nexport function RiWubiInput (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21v-2h3.662l1.234-7H5v-2h3.249l.881-5H4V3h16v2h-8.839l-.882 5H18v9h3v2H3zm13-9H9.927l-1.235 7H16v-7z\"}}]})(props);\n};\nexport function Ri24HoursFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13c1.657 0 3 1.343 3 3 0 .85-.353 1.616-.92 2.162L12.17 20H15v2H9v-1.724l3.693-3.555c.19-.183.307-.438.307-.721 0-.552-.448-1-1-1s-1 .448-1 1H9c0-1.657 1.343-3 3-3zm6 0v4h2v-4h2v9h-2v-3h-4v-6h2zM4 12c0 2.527 1.171 4.78 3 6.246v2.416C4.011 18.933 2 15.702 2 12h2zm8-10c5.185 0 9.449 3.947 9.95 9h-2.012C19.446 7.054 16.08 4 12 4 9.536 4 7.332 5.114 5.865 6.865L8 9H2V3l2.447 2.446C6.28 3.336 8.984 2 12 2z\"}}]}]})(props);\n};\nexport function Ri24HoursLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13c1.657 0 3 1.343 3 3 0 .85-.353 1.616-.92 2.162L12.17 20H15v2H9v-1.724l3.693-3.555c.19-.183.307-.438.307-.721 0-.552-.448-1-1-1s-1 .448-1 1H9c0-1.657 1.343-3 3-3zm6 0v4h2v-4h2v9h-2v-3h-4v-6h2zM4 12c0 2.527 1.171 4.78 3 6.246v2.416C4.011 18.933 2 15.702 2 12h2zm8-10c5.185 0 9.449 3.947 9.95 9h-2.012C19.446 7.054 16.08 4 12 4 9.25 4 6.824 5.387 5.385 7.5H8v2H2v-6h2V6c1.824-2.43 4.729-4 8-4z\"}}]}]})(props);\n};\nexport function RiAuctionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 20v2H2v-2h12zM14.586.686l7.778 7.778L20.95 9.88l-1.06-.354L17.413 12l5.657 5.657-1.414 1.414L16 13.414l-2.404 2.404.283 1.132-1.415 1.414-7.778-7.778 1.415-1.414 1.13.282 6.294-6.293-.353-1.06L14.586.686z\"}}]}]})(props);\n};\nexport function RiAuctionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 20v2H2v-2h12zM14.586.686l7.778 7.778L20.95 9.88l-1.06-.354L17.413 12l5.657 5.657-1.414 1.414L16 13.414l-2.404 2.404.283 1.132-1.415 1.414-7.778-7.778 1.415-1.414 1.13.282 6.294-6.293-.353-1.06L14.586.686zm.707 3.536l-7.071 7.07 3.535 3.536 7.071-7.07-3.535-3.536z\"}}]}]})(props);\n};\nexport function RiBankCard2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-9h20zm0-4H2V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v3z\"}}]}]})(props);\n};\nexport function RiBankCard2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 9H4v7h16v-7zm0-4V5H4v3h16z\"}}]}]})(props);\n};\nexport function RiBankCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 10v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V10h20zm0-2H2V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v4zm-7 8v2h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiBankCardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm17 8H4v8h16v-8zm0-2V5H4v4h16zm-6 6h4v2h-4v-2z\"}}]}]})(props);\n};\nexport function RiBitCoinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-6v2h2v-2h1a2.5 2.5 0 0 0 2-4 2.5 2.5 0 0 0-2-4h-1V6h-2v2H8v8h3zm-1-3h4a.5.5 0 1 1 0 1h-4v-1zm0-3h4a.5.5 0 1 1 0 1h-4v-1z\"}}]}]})(props);\n};\nexport function RiBitCoinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-1-4H8V8h3V6h2v2h1a2.5 2.5 0 0 1 2 4 2.5 2.5 0 0 1-2 4h-1v2h-2v-2zm-1-3v1h4a.5.5 0 1 0 0-1h-4zm0-3v1h4a.5.5 0 1 0 0-1h-4z\"}}]}]})(props);\n};\nexport function RiCoinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23 12v2c0 3.314-4.925 6-11 6-5.967 0-10.824-2.591-10.995-5.823L1 14v-2c0 3.314 4.925 6 11 6s11-2.686 11-6zM12 4c6.075 0 11 2.686 11 6s-4.925 6-11 6-11-2.686-11-6 4.925-6 11-6z\"}}]}]})(props);\n};\nexport function RiCoinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 4c6.075 0 11 2.686 11 6v4c0 3.314-4.925 6-11 6-5.967 0-10.824-2.591-10.995-5.823L1 14v-4c0-3.314 4.925-6 11-6zm0 12c-3.72 0-7.01-1.007-9-2.55V14c0 1.882 3.883 4 9 4 5.01 0 8.838-2.03 8.995-3.882L21 14l.001-.55C19.011 14.992 15.721 16 12 16zm0-10c-5.117 0-9 2.118-9 4 0 1.882 3.883 4 9 4s9-2.118 9-4c0-1.882-3.883-4-9-4z\"}}]}]})(props);\n};\nexport function RiCoinsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2a8 8 0 0 1 3.292 15.293A8 8 0 1 1 6.706 6.707 8.003 8.003 0 0 1 14 2zm-3 7H9v1a2.5 2.5 0 0 0-.164 4.995L9 15h2l.09.008a.5.5 0 0 1 0 .984L11 16H7v2h2v1h2v-1a2.5 2.5 0 0 0 .164-4.995L11 13H9l-.09-.008a.5.5 0 0 1 0-.984L9 12h4v-2h-2V9zm3-5a5.985 5.985 0 0 0-4.484 2.013 8 8 0 0 1 8.47 8.471A6 6 0 0 0 14 4z\"}}]}]})(props);\n};\nexport function RiCoinsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 2a8 8 0 0 1 3.292 15.293A8 8 0 1 1 6.706 6.707 8.003 8.003 0 0 1 14 2zm-4 6a6 6 0 1 0 0 12 6 6 0 0 0 0-12zm1 1v1h2v2H9a.5.5 0 0 0-.09.992L9 13h2a2.5 2.5 0 1 1 0 5v1H9v-1H7v-2h4a.5.5 0 0 0 .09-.992L11 15H9a2.5 2.5 0 1 1 0-5V9h2zm3-5a5.985 5.985 0 0 0-4.484 2.013 8 8 0 0 1 8.47 8.471A6 6 0 0 0 14 4z\"}}]}]})(props);\n};\nexport function RiCopperCoinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-14.243L7.757 12 12 16.243 16.243 12 12 7.757z\"}}]}]})(props);\n};\nexport function RiCopperCoinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0-12.95L16.95 12 12 16.95 7.05 12 12 7.05zm0 2.829L9.879 12 12 14.121 14.121 12 12 9.879z\"}}]}]})(props);\n};\nexport function RiCopperDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM9.5 9L7 11.5l5 5 5-5L14.5 9h-5z\"}}]}]})(props);\n};\nexport function RiCopperDiamondLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM9 8h6l2.5 3.5L12 17l-5.5-5.5L9 8zm1.03 2l-.92 1.29L12 14.18l2.89-2.89-.92-1.29h-3.94z\"}}]}]})(props);\n};\nexport function RiCoupon2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3v18H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5V4a1 1 0 0 1 1-1h11zm2 0h5a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1h-5V3z\"}}]}]})(props);\n};\nexport function RiCoupon2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5zM14 5H4v2.968a4.5 4.5 0 0 1 0 8.064V19h10V5zm2 0v14h4v-2.968a4.5 4.5 0 0 1 0-8.064V5h-4z\"}}]}]})(props);\n};\nexport function RiCoupon3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 21a1.5 1.5 0 0 0-3 0H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a1.5 1.5 0 0 0 3 0h10a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H11zM9.5 10.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiCoupon3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4zm6.085 15a1.5 1.5 0 0 1 2.83 0H20v-2.968a4.5 4.5 0 0 1 0-8.064V5h-9.085a1.5 1.5 0 0 1-2.83 0H4v14h4.085zM9.5 11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiCoupon4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7a2 2 0 1 0 4 0h7a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-7a2 2 0 1 0-4 0zM6 8v8h2V8H6zm10 0v8h2V8h-2z\"}}]}]})(props);\n};\nexport function RiCoupon4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 21H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7a2 2 0 1 0 4 0h7a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-7a2 2 0 1 0-4 0zm-1.465-2A3.998 3.998 0 0 1 12 17c1.48 0 2.773.804 3.465 2H20V5h-4.535A3.998 3.998 0 0 1 12 7a3.998 3.998 0 0 1-3.465-2H4v14h4.535zM6 8h2v8H6V8zm10 0h2v8h-2V8z\"}}]}]})(props);\n};\nexport function RiCoupon5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-7a2 2 0 1 0 0-4V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v7a2 2 0 1 0 0 4zM9 6v2h6V6H9zm0 10v2h6v-2H9z\"}}]}]})(props);\n};\nexport function RiCoupon5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-7a2 2 0 1 0 0-4V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v7a2 2 0 1 0 0 4zm-2 1.465A3.998 3.998 0 0 1 17 12c0-1.48.804-2.773 2-3.465V4H5v4.535C6.196 9.227 7 10.52 7 12c0 1.48-.804 2.773-2 3.465V20h14v-4.535zM9 6h6v2H9V6zm0 10h6v2H9v-2z\"}}]}]})(props);\n};\nexport function RiCouponFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5zM9 9v2h6V9H9zm0 4v2h6v-2H9z\"}}]}]})(props);\n};\nexport function RiCouponLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5zm2-1.532a4.5 4.5 0 0 1 0 8.064V19h16v-2.968a4.5 4.5 0 0 1 0-8.064V5H4v2.968zM9 9h6v2H9V9zm0 4h6v2H9v-2z\"}}]}]})(props);\n};\nexport function RiCurrencyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16h2V4H9v2h8v10zm0 2v3c0 .552-.45 1-1.007 1H4.007A1.001 1.001 0 0 1 3 21l.003-14c0-.552.45-1 1.007-1H7V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3zM7 16v2h2v1h2v-1h.5a2.5 2.5 0 1 0 0-5h-3a.5.5 0 1 1 0-1H13v-2h-2V9H9v1h-.5a2.5 2.5 0 1 0 0 5h3a.5.5 0 1 1 0 1H7z\"}}]}]})(props);\n};\nexport function RiCurrencyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16h2V4H9v2h8v10zm0 2v3c0 .552-.45 1-1.007 1H4.007A1.001 1.001 0 0 1 3 21l.003-14c0-.552.45-1 1.007-1H7V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3zM5.003 8L5 20h10V8H5.003zM7 16h4.5a.5.5 0 1 0 0-1h-3a2.5 2.5 0 1 1 0-5H9V9h2v1h2v2H8.5a.5.5 0 1 0 0 1h3a2.5 2.5 0 1 1 0 5H11v1H9v-1H7v-2z\"}}]}]})(props);\n};\nexport function RiExchangeBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm9 6H8v2h9l-5-5v3zm-5 4l5 5v-3h4v-2H7z\"}}]}]})(props);\n};\nexport function RiExchangeBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm9 6V6l5 5H8V9h4zm-5 4h9v2h-4v3l-5-5z\"}}]}]})(props);\n};\nexport function RiExchangeCnyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.373 4.51A9.962 9.962 0 0 1 12 2c5.523 0 10 4.477 10 10a9.954 9.954 0 0 1-1.793 5.715L17.5 12H20A8 8 0 0 0 6.274 6.413l-.9-1.902zm13.254 14.98A9.962 9.962 0 0 1 12 22C6.477 22 2 17.523 2 12c0-2.125.663-4.095 1.793-5.715L6.5 12H4a8 8 0 0 0 13.726 5.587l.9 1.902zM13 13.535h3v2h-3v2h-2v-2H8v-2h3v-1H8v-2h2.586L8.464 8.414 9.88 7 12 9.121 14.121 7l1.415 1.414-2.122 2.122H16v2h-3v1z\"}}]}]})(props);\n};\nexport function RiExchangeCnyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.375 15.103A8.001 8.001 0 0 0 8.03 5.053l-.992-1.737A9.996 9.996 0 0 1 17 3.34c4.49 2.592 6.21 8.142 4.117 12.77l1.342.774-4.165 2.214-.165-4.714 1.246.719zM4.625 8.897a8.001 8.001 0 0 0 11.345 10.05l.992 1.737A9.996 9.996 0 0 1 7 20.66C2.51 18.068.79 12.518 2.883 7.89L1.54 7.117l4.165-2.214.165 4.714-1.246-.719zM13 13.536h3v2h-3v2h-2v-2H8v-2h3v-1H8v-2h2.586L8.464 8.414 9.88 7 12 9.121 14.121 7l1.415 1.414-2.122 2.122H16v2h-3v1z\"}}]}]})(props);\n};\nexport function RiExchangeDollarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.373 4.51A9.962 9.962 0 0 1 12 2c5.523 0 10 4.477 10 10a9.954 9.954 0 0 1-1.793 5.715L17.5 12H20A8 8 0 0 0 6.274 6.413l-.9-1.902zm13.254 14.98A9.962 9.962 0 0 1 12 22C6.477 22 2 17.523 2 12c0-2.125.663-4.095 1.793-5.715L6.5 12H4a8 8 0 0 0 13.726 5.587l.9 1.902zM8.5 14H14a.5.5 0 1 0 0-1h-4a2.5 2.5 0 1 1 0-5h1V7h2v1h2.5v2H10a.5.5 0 1 0 0 1h4a2.5 2.5 0 1 1 0 5h-1v1h-2v-1H8.5v-2z\"}}]}]})(props);\n};\nexport function RiExchangeDollarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.375 15.103A8.001 8.001 0 0 0 8.03 5.053l-.992-1.737A9.996 9.996 0 0 1 17 3.34c4.49 2.592 6.21 8.142 4.117 12.77l1.342.774-4.165 2.214-.165-4.714 1.246.719zM4.625 8.897a8.001 8.001 0 0 0 11.345 10.05l.992 1.737A9.996 9.996 0 0 1 7 20.66C2.51 18.068.79 12.518 2.883 7.89L1.54 7.117l4.165-2.214.165 4.714-1.246-.719zM8.5 14H14a.5.5 0 1 0 0-1h-4a2.5 2.5 0 1 1 0-5h1V7h2v1h2.5v2H10a.5.5 0 1 0 0 1h4a2.5 2.5 0 1 1 0 5h-1v1h-2v-1H8.5v-2z\"}}]}]})(props);\n};\nexport function RiExchangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-13H8v2h9l-5-5v3zm-5 4l5 5v-3h4v-2H7z\"}}]}]})(props);\n};\nexport function RiExchangeFundsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.373 4.51A9.962 9.962 0 0 1 12 2c5.523 0 10 4.477 10 10a9.954 9.954 0 0 1-1.793 5.715L17.5 12H20A8 8 0 0 0 6.274 6.413l-.9-1.902zm13.254 14.98A9.962 9.962 0 0 1 12 22C6.477 22 2 17.523 2 12c0-2.125.663-4.095 1.793-5.715L6.5 12H4a8 8 0 0 0 13.726 5.587l.9 1.902zm-5.213-4.662L10.586 12l-2.829 2.828-1.414-1.414 4.243-4.242L13.414 12l2.829-2.828 1.414 1.414-4.243 4.242z\"}}]}]})(props);\n};\nexport function RiExchangeFundsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.375 15.103A8.001 8.001 0 0 0 8.03 5.053l-.992-1.737A9.996 9.996 0 0 1 17 3.34c4.49 2.592 6.21 8.142 4.117 12.77l1.342.774-4.165 2.214-.165-4.714 1.246.719zM4.625 8.897a8.001 8.001 0 0 0 11.345 10.05l.992 1.737A9.996 9.996 0 0 1 7 20.66C2.51 18.068.79 12.518 2.883 7.89L1.54 7.117l4.165-2.214.165 4.714-1.246-.719zm8.79 5.931L10.584 12l-2.828 2.828-1.414-1.414 4.243-4.242L13.414 12l2.829-2.828 1.414 1.414-4.243 4.242z\"}}]}]})(props);\n};\nexport function RiExchangeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-5-7h9v2h-4v3l-5-5zm5-4V6l5 5H8V9h4z\"}}]}]})(props);\n};\nexport function RiFundsBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm11.793 6.793l-2.45 2.45-2.121-2.122-4.243 4.243 1.414 1.414 2.829-2.828 2.121 2.121 3.864-3.864L18 13V8h-5l1.793 1.793z\"}}]}]})(props);\n};\nexport function RiFundsBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm11.793 6.793L13 8h5v5l-1.793-1.793-3.864 3.864-2.121-2.121-2.829 2.828-1.414-1.414 4.243-4.243 2.121 2.122 2.45-2.45z\"}}]}]})(props);\n};\nexport function RiFundsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.897 17.86l3.91-3.91 2.829 2.828 4.571-4.57L17 14V9h-5l1.793 1.793-3.157 3.157-2.828-2.829-4.946 4.946A9.965 9.965 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.987 9.987 0 0 1-8.103-4.14z\"}}]}]})(props);\n};\nexport function RiFundsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 14.523l3.402-3.402 2.828 2.829 3.157-3.157L12 9h5v5l-1.793-1.793-4.571 4.571-2.828-2.828-2.475 2.474a8 8 0 1 0-.927-1.9zm-1.538 1.558l-.01-.01.004-.004A9.965 9.965 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10c-4.07 0-7.57-2.43-9.132-5.919z\"}}]}]})(props);\n};\nexport function RiGift2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-7h16zM14.5 2a3.5 3.5 0 0 1 3.163 5.001L21 7a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1l3.337.001a3.5 3.5 0 0 1 5.664-3.95A3.48 3.48 0 0 1 14.5 2zm-5 2a1.5 1.5 0 0 0-.144 2.993L9.5 7H11V5.5a1.5 1.5 0 0 0-1.356-1.493L9.5 4zm5 0l-.144.007a1.5 1.5 0 0 0-1.35 1.349L13 5.5V7h1.5l.144-.007a1.5 1.5 0 0 0 0-2.986L14.5 4z\"}}]}]})(props);\n};\nexport function RiGift2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14.5 2a3.5 3.5 0 0 1 3.163 5.001L21 7a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-1v8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8H3a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1l3.337.001a3.5 3.5 0 0 1 5.664-3.95A3.48 3.48 0 0 1 14.5 2zM18 13H6v7h12v-7zm2-4H4v2h16V9zM9.5 4a1.5 1.5 0 0 0-.144 2.993L9.5 7H11V5.5a1.5 1.5 0 0 0-1.356-1.493L9.5 4zm5 0l-.144.007a1.5 1.5 0 0 0-1.35 1.349L13 5.5V7h1.5l.144-.007a1.5 1.5 0 0 0 0-2.986L14.5 4z\"}}]}]})(props);\n};\nexport function RiGiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 2a4 4 0 0 1 3.464 6.001L23 8v2h-2v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V10H1V8l4.536.001A4 4 0 0 1 12 3.355 3.983 3.983 0 0 1 15 2zm-2 8h-2v10h2V10zM9 4a2 2 0 0 0-.15 3.995L9 8h2V6a2 2 0 0 0-1.697-1.977l-.154-.018L9 4zm6 0a2 2 0 0 0-1.995 1.85L13 6v2h2a2 2 0 0 0 1.995-1.85L17 6a2 2 0 0 0-2-2z\"}}]}]})(props);\n};\nexport function RiGiftLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15 2a4 4 0 0 1 3.464 6.001L23 8v2h-2v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V10H1V8l4.536.001A4 4 0 0 1 12 3.355 3.983 3.983 0 0 1 15 2zm-4 8H5v9h6v-9zm8 0h-6v9h6v-9zM9 4a2 2 0 0 0-.15 3.995L9 8h2V6a2 2 0 0 0-1.697-1.977l-.154-.018L9 4zm6 0a2 2 0 0 0-1.995 1.85L13 6v2h2a2 2 0 0 0 1.995-1.85L17 6a2 2 0 0 0-2-2z\"}}]}]})(props);\n};\nexport function RiHandCoinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9.33 11.5h2.17A4.5 4.5 0 0 1 16 16H8.999L9 17h8v-1a5.578 5.578 0 0 0-.886-3H19a5 5 0 0 1 4.516 2.851C21.151 18.972 17.322 21 13 21c-2.761 0-5.1-.59-7-1.625L6 10.071A6.967 6.967 0 0 1 9.33 11.5zM5 19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9zM18 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm-7-3a3 3 0 1 1 0 6 3 3 0 0 1 0-6z\"}}]}]})(props);\n};\nexport function RiHandCoinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5 9a1 1 0 0 1 1 1 6.97 6.97 0 0 1 4.33 1.5h2.17c1.333 0 2.53.58 3.354 1.5H19a5 5 0 0 1 4.516 2.851C21.151 18.972 17.322 21 13 21c-2.79 0-5.15-.603-7.06-1.658A.998.998 0 0 1 5 20H2a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1h3zm1.001 3L6 17.022l.045.032C7.84 18.314 10.178 19 13 19c3.004 0 5.799-1.156 7.835-3.13l.133-.133-.12-.1a2.994 2.994 0 0 0-1.643-.63L19 15h-2.111c.072.322.111.656.111 1v1H8v-2l6.79-.001-.034-.078a2.501 2.501 0 0 0-2.092-1.416L12.5 13.5H9.57A4.985 4.985 0 0 0 6.002 12zM4 11H3v7h1v-7zm14-6a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-7-5a3 3 0 1 1 0 6 3 3 0 0 1 0-6zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]}]})(props);\n};\nexport function RiHandHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.33 11.5h2.17A4.5 4.5 0 0 1 16 16H8.999L9 17h8v-1a5.578 5.578 0 0 0-.886-3H19a5 5 0 0 1 4.516 2.851C21.151 18.972 17.322 21 13 21c-2.761 0-5.1-.59-7-1.625L6 10.071A6.967 6.967 0 0 1 9.33 11.5zM4 9a1 1 0 0 1 .993.883L5 10V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1h2zm9.646-5.425L14 3.93l.354-.354a2.5 2.5 0 1 1 3.535 3.536L14 11l-3.89-3.89a2.5 2.5 0 1 1 3.536-3.535z\"}}]}]})(props);\n};\nexport function RiHandHeartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5 9a1 1 0 0 1 1 1 6.97 6.97 0 0 1 4.33 1.5h2.17c1.332 0 2.53.579 3.353 1.499L19 13a5 5 0 0 1 4.516 2.851C21.151 18.972 17.322 21 13 21c-2.79 0-5.15-.603-7.06-1.658A.998.998 0 0 1 5 20H2a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1h3zm1.001 3L6 17.021l.045.033C7.84 18.314 10.178 19 13 19c3.004 0 5.799-1.156 7.835-3.13l.133-.133-.12-.1a2.994 2.994 0 0 0-1.643-.63L19 15l-2.112-.001c.073.322.112.657.112 1.001v1H8v-2l6.79-.001-.034-.078a2.501 2.501 0 0 0-2.092-1.416L12.5 13.5H9.57A4.985 4.985 0 0 0 6.002 12zM4 11H3v7h1v-7zm9.646-7.425L14 3.93l.354-.354a2.5 2.5 0 1 1 3.535 3.536L14 11l-3.89-3.89a2.5 2.5 0 1 1 3.536-3.535zm-2.12 1.415a.5.5 0 0 0-.06.637l.058.069L14 8.17l2.476-2.474a.5.5 0 0 0 .058-.638l-.058-.07a.5.5 0 0 0-.638-.057l-.07.058-1.769 1.768-1.767-1.77-.068-.056a.5.5 0 0 0-.638.058z\"}}]}]})(props);\n};\nexport function RiIncreaseDecreaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm6 8V9H7v2H5v2h2v2h2v-2h2v-2H9zm4 0v2h6v-2h-6z\"}}]}]})(props);\n};\nexport function RiIncreaseDecreaseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm5 6h2v2H9v2H7v-2H5v-2h2V9h2v2zm4 0h6v2h-6v-2z\"}}]}]})(props);\n};\nexport function RiMoneyCnyBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm10 10v-1h3v-2h-2.586l2.122-2.121-1.415-1.415L12 8.586 9.879 6.464 8.464 7.88 10.586 10H8v2h3v1H8v2h3v2h2v-2h3v-2h-3z\"}}]}]})(props);\n};\nexport function RiMoneyCnyBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm9 8h3v2h-3v2h-2v-2H8v-2h3v-1H8v-2h2.586L8.464 7.879 9.88 6.464 12 8.586l2.121-2.122 1.415 1.415L13.414 10H16v2h-3v1z\"}}]}]})(props);\n};\nexport function RiMoneyCnyCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm1-9v-1h3v-2h-2.586l2.122-2.121-1.415-1.415L12 8.586 9.879 6.464 8.464 7.88 10.586 10H8v2h3v1H8v2h3v2h2v-2h3v-2h-3z\"}}]}]})(props);\n};\nexport function RiMoneyCnyCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm1-7h3v2h-3v2h-2v-2H8v-2h3v-1H8v-2h2.586L8.464 7.879 9.88 6.464 12 8.586l2.121-2.122 1.415 1.415L13.414 10H16v2h-3v1z\"}}]}]})(props);\n};\nexport function RiMoneyDollarBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm5.5 11v2H11v2h2v-2h1a2.5 2.5 0 1 0 0-5h-4a.5.5 0 1 1 0-1h5.5V8H13V6h-2v2h-1a2.5 2.5 0 0 0 0 5h4a.5.5 0 1 1 0 1H8.5z\"}}]}]})(props);\n};\nexport function RiMoneyDollarBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm4.5 9H14a.5.5 0 1 0 0-1h-4a2.5 2.5 0 1 1 0-5h1V6h2v2h2.5v2H10a.5.5 0 1 0 0 1h4a2.5 2.5 0 1 1 0 5h-1v2h-2v-2H8.5v-2z\"}}]}]})(props);\n};\nexport function RiMoneyDollarCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-3.5-8v2H11v2h2v-2h1a2.5 2.5 0 1 0 0-5h-4a.5.5 0 1 1 0-1h5.5V8H13V6h-2v2h-1a2.5 2.5 0 0 0 0 5h4a.5.5 0 1 1 0 1H8.5z\"}}]}]})(props);\n};\nexport function RiMoneyDollarCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-3.5-6H14a.5.5 0 1 0 0-1h-4a2.5 2.5 0 1 1 0-5h1V6h2v2h2.5v2H10a.5.5 0 1 0 0 1h4a2.5 2.5 0 1 1 0 5h-1v2h-2v-2H8.5v-2z\"}}]}]})(props);\n};\nexport function RiMoneyEuroBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm7.05 8a2.5 2.5 0 0 1 4.064-1.41l1.701-1.133A4.5 4.5 0 0 0 8.028 11H7v2h1.027a4.5 4.5 0 0 0 7.788 2.543l-1.701-1.134A2.5 2.5 0 0 1 10.05 13l4.95.001v-2h-4.95z\"}}]}]})(props);\n};\nexport function RiMoneyEuroBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm6.05 6H15v2h-4.95a2.5 2.5 0 0 0 4.064 1.41l1.7 1.133A4.5 4.5 0 0 1 8.028 13H7v-2h1.027a4.5 4.5 0 0 1 7.788-2.543L14.114 9.59A2.5 2.5 0 0 0 10.05 11z\"}}]}]})(props);\n};\nexport function RiMoneyEuroCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1.95-11a2.5 2.5 0 0 1 4.064-1.41l1.701-1.133A4.5 4.5 0 0 0 8.028 11H7v2h1.027a4.5 4.5 0 0 0 7.788 2.543l-1.701-1.134A2.5 2.5 0 0 1 10.05 13l4.95.001v-2h-4.95z\"}}]}]})(props);\n};\nexport function RiMoneyEuroCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-1.95-9H15v2h-4.95a2.5 2.5 0 0 0 4.064 1.41l1.7 1.133A4.5 4.5 0 0 1 8.028 13H7v-2h1.027a4.5 4.5 0 0 1 7.788-2.543L14.114 9.59A2.5 2.5 0 0 0 10.05 11z\"}}]}]})(props);\n};\nexport function RiMoneyPoundBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm6 10v2H8v2h8v-2h-5v-2h3v-2h-3v-1a1.5 1.5 0 0 1 2.76-.815l1.986-.496A3.501 3.501 0 0 0 9 10v1H8v2h1z\"}}]}]})(props);\n};\nexport function RiMoneyPoundBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h16V5H4zm5 8H8v-2h1v-1a3.5 3.5 0 0 1 6.746-1.311l-1.986.496A1.499 1.499 0 0 0 11 10v1h3v2h-3v2h5v2H8v-2h1v-2z\"}}]}]})(props);\n};\nexport function RiMoneyPoundCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-3-9v2H8v2h8v-2h-5v-2h3v-2h-3v-1a1.5 1.5 0 0 1 2.76-.815l1.986-.496A3.501 3.501 0 0 0 9 10v1H8v2h1z\"}}]}]})(props);\n};\nexport function RiMoneyPoundCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-3-7H8v-2h1v-1a3.5 3.5 0 0 1 6.746-1.311l-1.986.496A1.499 1.499 0 0 0 11 10v1h3v2h-3v2h5v2H8v-2h1v-2z\"}}]}]})(props);\n};\nexport function RiPercentFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 21a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm-11-11a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm12.571-6.485l1.414 1.414L4.93 20.485l-1.414-1.414L19.07 3.515z\"}}]}]})(props);\n};\nexport function RiPercentLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 21a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm-11-9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm12.571-4.485l1.414 1.414L4.93 20.485l-1.414-1.414L19.07 3.515z\"}}]}]})(props);\n};\nexport function RiPriceTag2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7l8.445-5.63a1 1 0 0 1 1.11 0L21 7v14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7zm9 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-4 5v2h8v-2H8zm0-3v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiPriceTag2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7l8.445-5.63a1 1 0 0 1 1.11 0L21 7v14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7zm2 1.07V20h14V8.07l-7-4.666L5 8.07zM8 16h8v2H8v-2zm0-3h8v2H8v-2zm4-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiPriceTag3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9 2.1l9.899 1.415 1.414 9.9-9.192 9.192a1 1 0 0 1-1.414 0l-9.9-9.9a1 1 0 0 1 0-1.414L10.9 2.1zm2.828 8.486a2 2 0 1 0 2.828-2.829 2 2 0 0 0-2.828 2.829z\"}}]}]})(props);\n};\nexport function RiPriceTag3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9 2.1l9.899 1.415 1.414 9.9-9.192 9.192a1 1 0 0 1-1.414 0l-9.9-9.9a1 1 0 0 1 0-1.414L10.9 2.1zm.707 2.122L3.828 12l8.486 8.485 7.778-7.778-1.06-7.425-7.425-1.06zm2.12 6.364a2 2 0 1 1 2.83-2.829 2 2 0 0 1-2.83 2.829z\"}}]}]})(props);\n};\nexport function RiPriceTagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7l8.445-5.63a1 1 0 0 1 1.11 0L21 7v14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7zm9 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiPriceTagLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7l8.445-5.63a1 1 0 0 1 1.11 0L21 7v14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7zm2 1.07V20h14V8.07l-7-4.666L5 8.07zM12 11a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiRedPacketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5.937A11.985 11.985 0 0 1 14.194 9.8a2.5 2.5 0 0 0-4.388 0A11.985 11.985 0 0 1 3 5.937V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2.937zm0 2.787V21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V8.724A13.944 13.944 0 0 0 9.63 11.8a2.501 2.501 0 0 0 4.74 0A13.944 13.944 0 0 0 21 8.724z\"}}]}]})(props);\n};\nexport function RiRedPacketLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.173 9.763A9.98 9.98 0 0 0 19 7.141V4H5v3.141a9.98 9.98 0 0 0 4.827 2.622 2.5 2.5 0 0 1 4.346 0zm.208 2a2.501 2.501 0 0 1-4.762 0A11.94 11.94 0 0 1 5 9.749V20h14V9.748a11.94 11.94 0 0 1-4.619 2.016zM4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiRefund2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10a9.96 9.96 0 0 1-6.383-2.302l-.244-.209.902-1.902a8 8 0 1 0-2.27-5.837l-.005.25h2.5l-2.706 5.716A9.954 9.954 0 0 1 2 12C2 6.477 6.477 2 12 2zm1 4v2h2.5v2H10a.5.5 0 0 0-.09.992L10 11h4a2.5 2.5 0 1 1 0 5h-1v2h-2v-2H8.5v-2H14a.5.5 0 0 0 .09-.992L14 13h-4a2.5 2.5 0 1 1 0-5h1V6h2z\"}}]}]})(props);\n};\nexport function RiRefund2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.671 4.257c3.928-3.219 9.733-2.995 13.4.672 3.905 3.905 3.905 10.237 0 14.142-3.905 3.905-10.237 3.905-14.142 0A9.993 9.993 0 0 1 2.25 9.767l.077-.313 1.934.51a8 8 0 1 0 3.053-4.45l-.221.166 1.017 1.017-4.596 1.06 1.06-4.596 1.096 1.096zM13 6v2h2.5v2H10a.5.5 0 0 0-.09.992L10 11h4a2.5 2.5 0 1 1 0 5h-1v2h-2v-2H8.5v-2H14a.5.5 0 0 0 .09-.992L14 13h-4a2.5 2.5 0 1 1 0-5h1V6h2z\"}}]}]})(props);\n};\nexport function RiRefundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7H2V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v3zm0 2v11a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V9h20zm-11 5v-2.5L6.5 16H17v-2h-6z\"}}]}]})(props);\n};\nexport function RiRefundLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 8V5H4v3h16zm0 2H4v9h16v-9zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 11h6v2H6.5l4.5-4.5V14z\"}}]}]})(props);\n};\nexport function RiSafe2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 20H6v2H4v-2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7V1.59a.5.5 0 0 1 .582-.493l10.582 1.764a1 1 0 0 1 .836.986V6h1v2h-1v7h1v2h-1v2.153a1 1 0 0 1-.836.986L20 20.333V22h-2v-1.333l-7.418 1.236A.5.5 0 0 1 10 21.41V20zm2-.36l8-1.334V4.694l-8-1.333v16.278zM16.5 14c-.828 0-1.5-1.12-1.5-2.5S15.672 9 16.5 9s1.5 1.12 1.5 2.5-.672 2.5-1.5 2.5z\"}}]}]})(props);\n};\nexport function RiSafe2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 20.333V22h-2v-1.333l-7.418 1.236A.5.5 0 0 1 10 21.41V20H6v2H4v-2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7V1.59a.5.5 0 0 1 .582-.493l10.582 1.764a1 1 0 0 1 .836.986V6h1v2h-1v7h1v2h-1v2.153a1 1 0 0 1-.836.986L20 20.333zM4 5v13h6V5H4zm8 14.64l8-1.334V4.694l-8-1.333v16.278zM16.5 14c-.828 0-1.5-1.12-1.5-2.5S15.672 9 16.5 9s1.5 1.12 1.5 2.5-.672 2.5-1.5 2.5z\"}}]}]})(props);\n};\nexport function RiSafeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20H6v2H4v-2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1h-1v2h-2v-2zm-7-6.126V17h2v-3.126A4.002 4.002 0 0 0 12 6a4 4 0 0 0-1 7.874zM12 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiSafeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20H6v2H4v-2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1h-1v2h-2v-2zM4 18h16V5H4v13zm9-4.126V17h-2v-3.126A4.002 4.002 0 0 1 12 6a4 4 0 0 1 1 7.874zM12 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiSecurePaymentFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 2l7.298 2.28a1 1 0 0 1 .702.955V7h2a1 1 0 0 1 1 1v2H9V8a1 1 0 0 1 1-1h7V5.97l-6-1.876L5 5.97v7.404a4 4 0 0 0 1.558 3.169l.189.136L11 19.58 14.782 17H10a1 1 0 0 1-1-1v-4h13v4a1 1 0 0 1-1 1l-3.22.001c-.387.51-.857.96-1.4 1.33L11 22l-5.38-3.668A6 6 0 0 1 3 13.374V5.235a1 1 0 0 1 .702-.954L11 2z\"}}]}]})(props);\n};\nexport function RiSecurePaymentLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11 2l7.298 2.28a1 1 0 0 1 .702.955V7h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1l-3.22.001c-.387.51-.857.96-1.4 1.33L11 22l-5.38-3.668A6 6 0 0 1 3 13.374V5.235a1 1 0 0 1 .702-.954L11 2zm0 2.094L5 5.97v7.404a4 4 0 0 0 1.558 3.169l.189.136L11 19.58 14.782 17H10a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h7V5.97l-6-1.876zM11 12v3h9v-3h-9zm0-2h9V9h-9v1z\"}}]}]})(props);\n};\nexport function RiShoppingBag2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zM9 6H7v2a5 5 0 0 0 10 0V6h-2v2a3 3 0 0 1-6 0V6z\"}}]}]})(props);\n};\nexport function RiShoppingBag2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1zm-1-2V4H5v16h14zM9 6v2a3 3 0 0 0 6 0V6h2v2A5 5 0 0 1 7 8V6h2z\"}}]}]})(props);\n};\nexport function RiShoppingBag3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 2h11a1 1 0 0 1 .8.4L21 6v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6l2.7-3.6a1 1 0 0 1 .8-.4zm12 4L17 4H7L5.5 6h13zM9 10H7v2a5 5 0 0 0 10 0v-2h-2v2a3 3 0 0 1-6 0v-2z\"}}]}]})(props);\n};\nexport function RiShoppingBag3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 2h11a1 1 0 0 1 .8.4L21 6v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V6l2.7-3.6a1 1 0 0 1 .8-.4zM19 8H5v12h14V8zm-.5-2L17 4H7L5.5 6h13zM9 10v2a3 3 0 0 0 6 0v-2h2v2a5 5 0 0 1-10 0v-2h2z\"}}]}]})(props);\n};\nexport function RiShoppingBagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a5 5 0 0 1 5 5v2h3a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3V6a5 5 0 0 1 5-5zm5 10h-2v1a1 1 0 0 0 1.993.117L17 12v-1zm-8 0H7v1a1 1 0 0 0 1.993.117L9 12v-1zm3-8a3 3 0 0 0-2.995 2.824L9 6v2h6V6a3 3 0 0 0-2.824-2.995L12 3z\"}}]}]})(props);\n};\nexport function RiShoppingBagLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8V6a5 5 0 1 1 10 0v2h3a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3zm0 2H5v10h14V10h-2v2h-2v-2H9v2H7v-2zm2-2h6V6a3 3 0 0 0-6 0v2z\"}}]}]})(props);\n};\nexport function RiShoppingBasket2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.366 3.438L18.577 9H22v2h-1.167l-.757 9.083a1 1 0 0 1-.996.917H4.92a1 1 0 0 1-.996-.917L3.166 11H2V9h3.422l3.212-5.562 1.732 1L7.732 9h8.535l-2.633-4.562 1.732-1zM13 13h-2v4h2v-4zm-4 0H7v4h2v-4zm8 0h-2v4h2v-4z\"}}]}]})(props);\n};\nexport function RiShoppingBasket2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.366 3.438L18.577 9H22v2h-1.167l-.757 9.083a1 1 0 0 1-.996.917H4.92a1 1 0 0 1-.996-.917L3.166 11H2V9h3.422l3.212-5.562 1.732 1L7.732 9h8.535l-2.633-4.562 1.732-1zM18.826 11H5.173l.667 8h12.319l.667-8zM13 13v4h-2v-4h2zm-4 0v4H7v-4h2zm8 0v4h-2v-4h2z\"}}]}]})(props);\n};\nexport function RiShoppingBasketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a6 6 0 0 1 6 6v1h4v2h-1.167l-.757 9.083a1 1 0 0 1-.996.917H4.92a1 1 0 0 1-.996-.917L3.166 11H2V9h4V8a6 6 0 0 1 6-6zm1 11h-2v4h2v-4zm-4 0H7v4h2v-4zm8 0h-2v4h2v-4zm-5-9a4 4 0 0 0-3.995 3.8L8 8v1h8V8a4 4 0 0 0-3.8-3.995L12 4z\"}}]}]})(props);\n};\nexport function RiShoppingBasketLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2a6 6 0 0 1 6 6v1h4v2h-1.167l-.757 9.083a1 1 0 0 1-.996.917H4.92a1 1 0 0 1-.996-.917L3.166 11H2V9h4V8a6 6 0 0 1 6-6zm6.826 9H5.173l.667 8h12.319l.667-8zM13 13v4h-2v-4h2zm-4 0v4H7v-4h2zm8 0v4h-2v-4h2zm-5-9a4 4 0 0 0-3.995 3.8L8 8v1h8V8a4 4 0 0 0-3.8-3.995L12 4z\"}}]}]})(props);\n};\nexport function RiShoppingCart2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6.414L.757 3.172l1.415-1.415L5.414 5h15.242a1 1 0 0 1 .958 1.287l-2.4 8a1 1 0 0 1-.958.713H6v2h11v2H5a1 1 0 0 1-1-1V6.414zM5.5 23a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm12 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiShoppingCart2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6.414L.757 3.172l1.415-1.415L5.414 5h15.242a1 1 0 0 1 .958 1.287l-2.4 8a1 1 0 0 1-.958.713H6v2h11v2H5a1 1 0 0 1-1-1V6.414zM6 7v6h11.512l1.8-6H6zm-.5 16a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm12 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiShoppingCartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9h13.938l.5-2H8V5h13.72a1 1 0 0 1 .97 1.243l-2.5 10a1 1 0 0 1-.97.757H5a1 1 0 0 1-1-1V4H2V2h3a1 1 0 0 1 1 1v6zm0 14a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm12 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiShoppingCartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16V4H2V2h3a1 1 0 0 1 1 1v12h12.438l2-8H8V5h13.72a1 1 0 0 1 .97 1.243l-2.5 10a1 1 0 0 1-.97.757H5a1 1 0 0 1-1-1zm2 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm12 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiStockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5h3v9H8v3H6v-3H3V5h3V2h2v3zm10 5h3v9h-3v3h-2v-3h-3v-9h3V7h2v3z\"}}]}]})(props);\n};\nexport function RiStockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5h3v9H8v3H6v-3H3V5h3V2h2v3zM5 7v5h4V7H5zm13 3h3v9h-3v3h-2v-3h-3v-9h3V7h2v3zm-3 2v5h4v-5h-4z\"}}]}]})(props);\n};\nexport function RiSwapBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm12 4v2h-4v2h4v2l3.5-3L15 7zM9 17v-2h4v-2H9v-2l-3.5 3L9 17z\"}}]}]})(props);\n};\nexport function RiSwapBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm12 4l3.5 3-3.5 3v-2h-4V9h4V7zM9 17l-3.5-3L9 11v2h4v2H9v2z\"}}]}]})(props);\n};\nexport function RiSwapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM7 9h2v4h2V9h2l-3-3.5L7 9zm10 6h-2v-4h-2v4h-2l3 3.5 3-3.5z\"}}]}]})(props);\n};\nexport function RiSwapLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM7 9l3-3.5L13 9h-2v4H9V9H7zm10 6l-3 3.5-3-3.5h2v-4h2v4h2z\"}}]}]})(props);\n};\nexport function RiTicket2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5V4a1 1 0 0 1 1-1h18zm-5 6H8v6h8V9z\"}}]}]})(props);\n};\nexport function RiTicket2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5V4a1 1 0 0 1 1-1h18zm-1 2H4v2.968l.156.081a4.5 4.5 0 0 1 2.34 3.74L6.5 12a4.499 4.499 0 0 1-2.344 3.95L4 16.032V19h16v-2.969l-.156-.08a4.5 4.5 0 0 1-2.34-3.74L17.5 12c0-1.704.947-3.187 2.344-3.95L20 7.967V5zm-4 4v6H8V9h8z\"}}]}]})(props);\n};\nexport function RiTicketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5V4a1 1 0 0 1 1-1h18z\"}}]}]})(props);\n};\nexport function RiTicketLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v5.5a2.5 2.5 0 1 0 0 5V20a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-5.5a2.5 2.5 0 1 0 0-5V4a1 1 0 0 1 1-1h18zm-1 2H4v2.968l.156.081a4.5 4.5 0 0 1 2.34 3.74L6.5 12a4.499 4.499 0 0 1-2.344 3.95L4 16.032V19h16v-2.969l-.156-.08a4.5 4.5 0 0 1-2.34-3.74L17.5 12c0-1.704.947-3.187 2.344-3.95L20 7.967V5z\"}}]}]})(props);\n};\nexport function RiTrophyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16.938V19h5v2H6v-2h5v-2.062A8.001 8.001 0 0 1 4 9V3h16v6a8.001 8.001 0 0 1-7 7.938zM1 5h2v4H1V5zm20 0h2v4h-2V5z\"}}]}]})(props);\n};\nexport function RiTrophyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16.938V19h5v2H6v-2h5v-2.062A8.001 8.001 0 0 1 4 9V3h16v6a8.001 8.001 0 0 1-7 7.938zM6 5v4a6 6 0 1 0 12 0V5H6zM1 5h2v4H1V5zm20 0h2v4h-2V5z\"}}]}]})(props);\n};\nexport function RiVipCrown2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.8 5.2L7 8l4.186-5.86a1 1 0 0 1 1.628 0L17 8l4.2-2.8a1 1 0 0 1 1.547.95l-1.643 13.967a1 1 0 0 1-.993.883H3.889a1 1 0 0 1-.993-.883L1.253 6.149A1 1 0 0 1 2.8 5.2zM12 15a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiVipCrown2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3.492 8.065L4.778 19h14.444l1.286-10.935-4.01 2.673L12 4.441l-4.498 6.297-4.01-2.673zM2.801 5.2L7 8l4.186-5.86a1 1 0 0 1 1.628 0L17 8l4.2-2.8a1 1 0 0 1 1.547.95l-1.643 13.967a1 1 0 0 1-.993.883H3.889a1 1 0 0 1-.993-.883L1.253 6.149A1 1 0 0 1 2.8 5.2zM12 15a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiVipCrownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 19h20v2H2v-2zM2 5l5 3 5-6 5 6 5-3v12H2V5z\"}}]}]})(props);\n};\nexport function RiVipCrownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 19h20v2H2v-2zM2 5l5 3.5L12 2l5 6.5L22 5v12H2V5zm2 3.841V15h16V8.841l-3.42 2.394L12 5.28l-4.58 5.955L4 8.84z\"}}]}]})(props);\n};\nexport function RiVipDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.873 3h14.254a1 1 0 0 1 .809.412l3.823 5.256a.5.5 0 0 1-.037.633L12.367 21.602a.5.5 0 0 1-.734 0L.278 9.302a.5.5 0 0 1-.037-.634l3.823-5.256A1 1 0 0 1 4.873 3z\"}}]}]})(props);\n};\nexport function RiVipDiamondLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.873 3h14.254a1 1 0 0 1 .809.412l3.823 5.256a.5.5 0 0 1-.037.633L12.367 21.602a.5.5 0 0 1-.706.028c-.007-.006-3.8-4.115-11.383-12.329a.5.5 0 0 1-.037-.633l3.823-5.256A1 1 0 0 1 4.873 3zm.51 2l-2.8 3.85L12 19.05 21.417 8.85 18.617 5H5.383z\"}}]}]})(props);\n};\nexport function RiVipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 5.5v7h2v-7h-2zm-.285 0H8.601l-1.497 4.113L5.607 8.5H3.493l2.611 6.964h2L10.715 8.5zm5.285 5h1.5a2.5 2.5 0 1 0 0-5H14v7h2v-2zm0-2v-1h1.5a.5.5 0 1 1 0 1H16z\"}}]}]})(props);\n};\nexport function RiVipLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 19h20v2H2v-2zm9-11h2v8h-2V8zM7.965 8h2.125l-2.986 7.964h-2L2.118 8h2.125l1.861 5.113L7.965 8zM17 14v2h-2V8h4a3 3 0 0 1 0 6h-2zm0-4v2h2a1 1 0 0 0 0-2h-2zM2 3h20v2H2V3z\"}}]}]})(props);\n};\nexport function RiWallet2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 8h-9a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h9v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v4zm-7 3h3v2h-3v-2z\"}}]}]})(props);\n};\nexport function RiWallet2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7V5H4v14h16v-2h-8a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h8zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm10 6v6h7V9h-7zm2 2h3v2h-3v-2z\"}}]}]})(props);\n};\nexport function RiWallet3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 6h-7a6 6 0 1 0 0 12h7v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v2zm-7 2h8v8h-8a4 4 0 1 1 0-8zm0 3v2h3v-2h-3z\"}}]}]})(props);\n};\nexport function RiWallet3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7h1v10h-1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v3zm-2 10h-6a5 5 0 0 1 0-10h6V5H4v14h16v-2zm1-2V9h-7a3 3 0 0 0 0 6h7zm-7-4h3v2h-3v-2z\"}}]}]})(props);\n};\nexport function RiWalletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9h19a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V9zm1-6h15v4H2V4a1 1 0 0 1 1-1zm12 11v2h3v-2h-3z\"}}]}]})(props);\n};\nexport function RiWalletLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7h3a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h15v4zM4 9v10h16V9H4zm0-4v2h12V5H4zm11 8h3v2h-3v-2z\"}}]}]})(props);\n};\nexport function RiWaterFlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.636 6.636L12 .272l6.364 6.364a9 9 0 1 1-12.728 0zM13 11V6.5L8.5 13H11v4.5l4.5-6.5H13z\"}}]}]})(props);\n};\nexport function RiWaterFlashLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.1L7.05 8.05a7 7 0 1 0 9.9 0L12 3.1zm0-2.828l6.364 6.364a9 9 0 1 1-12.728 0L12 .272zM13 11h2.5L11 17.5V13H8.5L13 6.5V11z\"}}]}]})(props);\n};\nexport function RiCapsuleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.778 4.222c2.343 2.343 2.343 6.142 0 8.485l-2.122 2.12-4.949 4.951c-2.343 2.343-6.142 2.343-8.485 0-2.343-2.343-2.343-6.142 0-8.485l7.07-7.071c2.344-2.343 6.143-2.343 8.486 0zm-4.95 10.606L9.172 9.172l-3.536 3.535c-1.562 1.562-1.562 4.095 0 5.657 1.562 1.562 4.095 1.562 5.657 0l3.535-3.536z\"}}]}]})(props);\n};\nexport function RiCapsuleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.778 4.222c2.343 2.343 2.343 6.142 0 8.485l-7.07 7.071c-2.344 2.343-6.143 2.343-8.486 0-2.343-2.343-2.343-6.142 0-8.485l7.07-7.071c2.344-2.343 6.143-2.343 8.486 0zm-5.656 11.313L8.465 9.878l-2.829 2.83c-1.562 1.561-1.562 4.094 0 5.656 1.562 1.562 4.095 1.562 5.657 0l2.829-2.83zm4.242-9.899c-1.562-1.562-4.095-1.562-5.657 0L9.88 8.464l5.657 5.657 2.828-2.828c1.562-1.562 1.562-4.095 0-5.657z\"}}]}]})(props);\n};\nexport function RiDislikeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.808 1.393l18.384 18.385-1.414 1.414-3.747-3.747L12 21.485 3.52 12.993c-2.04-2.284-2.028-5.753.034-8.023L1.393 2.808l1.415-1.415zm17.435 3.364c2.262 2.268 2.34 5.88.236 8.236l-1.635 1.636L7.26 3.046c1.67-.207 3.408.288 4.741 1.483 2.349-2.109 5.979-2.039 8.242.228z\"}}]}]})(props);\n};\nexport function RiDislikeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.808 1.393l18.384 18.385-1.414 1.414-3.747-3.747L12 21.485 3.52 12.993c-2.04-2.284-2.028-5.753.034-8.023L1.393 2.808l1.415-1.415zm2.172 10.23L12 18.654l2.617-2.623-9.645-9.645c-1.294 1.497-1.3 3.735.008 5.237zm15.263-6.866c2.262 2.268 2.34 5.88.236 8.236l-1.635 1.636-1.414-1.414 1.59-1.592c1.374-1.576 1.299-3.958-.193-5.453-1.5-1.502-3.92-1.563-5.49-.153l-1.335 1.198-1.336-1.197c-.35-.314-.741-.555-1.155-.723l-2.25-2.25c1.668-.206 3.407.289 4.74 1.484 2.349-2.109 5.979-2.039 8.242.228z\"}}]}]})(props);\n};\nexport function RiDossierFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2v2h3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h3V2h10zm-4 9h-2v2H9v2h1.999L11 17h2l-.001-2H15v-2h-2v-2zm2-7H9v2h6V4z\"}}]}]})(props);\n};\nexport function RiDossierLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2v2h3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h3V2h10zM7 6H5v14h14V6h-2v2H7V6zm6 5v2h2v2h-2.001L13 17h-2l-.001-2H9v-2h2v-2h2zm2-7H9v2h6V4z\"}}]}]})(props);\n};\nexport function RiEmpathizeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 10.98c1.562 1.561 1.562 4.094 0 5.656l-5.657 5.657c-.39.39-1.024.39-1.414 0l-5.657-5.657c-1.562-1.562-1.562-4.095 0-5.657 1.562-1.562 4.095-1.562 5.657 0l.706.707.708-.707c1.562-1.562 4.095-1.562 5.657 0zM12 1c2.21 0 4 1.79 4 4s-1.79 4-4 4-4-1.79-4-4 1.79-4 4-4z\"}}]}]})(props);\n};\nexport function RiEmpathizeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 10.98c1.562 1.561 1.562 4.094 0 5.656l-5.657 5.657c-.39.39-1.024.39-1.414 0l-5.657-5.657c-1.562-1.562-1.562-4.095 0-5.657 1.562-1.562 4.095-1.562 5.657 0l.706.707.708-.707c1.562-1.562 4.095-1.562 5.657 0zM7.05 12.392c-.78.781-.78 2.048 0 2.829l4.95 4.95 4.95-4.95c.78-.781.78-2.048 0-2.829-.781-.78-2.048-.78-2.83.002l-2.122 2.118-2.12-2.12c-.78-.78-2.047-.78-2.828 0zM12 1c2.21 0 4 1.79 4 4s-1.79 4-4 4-4-1.79-4-4 1.79-4 4-4zm0 2c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2z\"}}]}]})(props);\n};\nexport function RiFirstAidKitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 1c.552 0 1 .448 1 1v3h4c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V6c0-.552.448-1 1-1h4V2c0-.552.448-1 1-1h8zm-3 8h-2v3H8v2h2.999L11 17h2l-.001-3H16v-2h-3V9zm2-6H9v2h6V3z\"}}]}]})(props);\n};\nexport function RiFirstAidKitLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 1c.552 0 1 .448 1 1v3h4c.552 0 1 .448 1 1v14c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V6c0-.552.448-1 1-1h4V2c0-.552.448-1 1-1h8zm4 6H4v12h16V7zm-7 2v3h3v2h-3.001L13 17h-2l-.001-3H8v-2h3V9h2zm2-6H9v2h6V3z\"}}]}]})(props);\n};\nexport function RiFlaskFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2v2h-1v3.243c0 1.158.251 2.301.736 3.352l4.282 9.276c.347.753.018 1.644-.734 1.99-.197.092-.411.139-.628.139H5.344c-.828 0-1.5-.672-1.5-1.5 0-.217.047-.432.138-.629l4.282-9.276C8.749 9.545 9 8.401 9 7.243V4H8V2h8zm-3 2h-2v4h2V4z\"}}]}]})(props);\n};\nexport function RiFlaskLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2v2h-1v3.243c0 1.158.251 2.301.736 3.352l4.282 9.276c.347.753.018 1.644-.734 1.99-.197.092-.411.139-.628.139H5.344c-.828 0-1.5-.672-1.5-1.5 0-.217.047-.432.138-.629l4.282-9.276C8.749 9.545 9 8.401 9 7.243V4H8V2h8zm-2.612 8.001h-2.776c-.104.363-.23.721-.374 1.071l-.158.361L6.125 20h11.749l-3.954-8.567c-.214-.464-.392-.943-.532-1.432zM11 7.243c0 .253-.01.506-.029.758h2.058c-.01-.121-.016-.242-.021-.364L13 7.243V4h-2v3.243z\"}}]}]})(props);\n};\nexport function RiHandSanitizerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2v2l-4-.001V6h3v2c2.21 0 4 1.79 4 4v8c0 1.105-.895 2-2 2H6c-1.105 0-2-.895-2-2v-8c0-2.21 1.79-4 4-4V6h3V3.999L7.5 4c-.63 0-1.37.49-2.2 1.6L3.7 4.4C4.87 2.84 6.13 2 7.5 2H17zm-4 10h-2v2H9v2h1.999L11 18h2l-.001-2H15v-2h-2v-2z\"}}]}]})(props);\n};\nexport function RiHandSanitizerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2v2l-4-.001V6h3v2c2.21 0 4 1.79 4 4v8c0 1.105-.895 2-2 2H6c-1.105 0-2-.895-2-2v-8c0-2.21 1.79-4 4-4V6h3V3.999L7.5 4c-.63 0-1.37.49-2.2 1.6L3.7 4.4C4.87 2.84 6.13 2 7.5 2H17zm-1 8H8c-1.105 0-2 .895-2 2v8h12v-8c0-1.105-.895-2-2-2zm-3 2v2h2v2h-2.001L13 18h-2l-.001-2H9v-2h2v-2h2z\"}}]}]})(props);\n};\nexport function RiHealthBookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2c.552 0 1 .448 1 1v18c0 .552-.448 1-1 1H6c-.552 0-1-.448-1-1v-2H3v-2h2v-2H3v-2h2v-2H3V9h2V7H3V5h2V3c0-.552.448-1 1-1h14zm-6 6h-2v3H9v2h2.999L12 16h2l-.001-3H17v-2h-3V8z\"}}]}]})(props);\n};\nexport function RiHealthBookLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2c.552 0 1 .448 1 1v18c0 .552-.448 1-1 1H6c-.552 0-1-.448-1-1v-2H3v-2h2v-2H3v-2h2v-2H3V9h2V7H3V5h2V3c0-.552.448-1 1-1h14zm-1 2H7v16h12V4zm-5 4v3h3v2h-3.001L14 16h-2l-.001-3H9v-2h3V8h2z\"}}]}]})(props);\n};\nexport function RiHeart2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.243 4.757c2.262 2.268 2.34 5.88.236 8.236l-8.48 8.492-8.478-8.492c-2.104-2.356-2.025-5.974.236-8.236C5.515 3 8.093 2.56 10.261 3.44L6.343 7.358l1.414 1.415L12 4.53l-.013-.014.014.013c2.349-2.109 5.979-2.039 8.242.228z\"}}]}]})(props);\n};\nexport function RiHeart2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.243 4.757c2.262 2.268 2.34 5.88.236 8.236l-8.48 8.492-8.478-8.492c-2.104-2.356-2.025-5.974.236-8.236 2.265-2.264 5.888-2.34 8.244-.228 2.349-2.109 5.979-2.039 8.242.228zM5.172 6.172c-1.49 1.49-1.565 3.875-.192 5.451L12 18.654l7.02-7.03c1.374-1.577 1.299-3.959-.193-5.454-1.487-1.49-3.881-1.562-5.453-.186l-4.202 4.203-1.415-1.414 2.825-2.827-.082-.069c-1.575-1.265-3.877-1.157-5.328.295z\"}}]}]})(props);\n};\nexport function RiHeart3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 3C19.538 3 22 5.5 22 9c0 7-7.5 11-10 12.5C9.5 20 2 16 2 9c0-3.5 2.5-6 5.5-6C9.36 3 11 4 12 5c1-1 2.64-2 4.5-2z\"}}]}]})(props);\n};\nexport function RiHeart3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 3C19.538 3 22 5.5 22 9c0 7-7.5 11-10 12.5C9.5 20 2 16 2 9c0-3.5 2.5-6 5.5-6C9.36 3 11 4 12 5c1-1 2.64-2 4.5-2zm-3.566 15.604c.881-.556 1.676-1.109 2.42-1.701C18.335 14.533 20 11.943 20 9c0-2.36-1.537-4-3.5-4-1.076 0-2.24.57-3.086 1.414L12 7.828l-1.414-1.414C9.74 5.57 8.576 5 7.5 5 5.56 5 4 6.656 4 9c0 2.944 1.666 5.533 4.645 7.903.745.592 1.54 1.145 2.421 1.7.299.189.595.37.934.572.339-.202.635-.383.934-.571z\"}}]}]})(props);\n};\nexport function RiHeartAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm1.243-9.243c2.16 2.166 2.329 5.557.507 7.91C19.926 12.24 18.99 12 18 12c-3.314 0-6 2.686-6 6 0 1.009.249 1.96.689 2.794l-.69.691-8.478-8.492c-2.104-2.356-2.025-5.974.236-8.236 2.265-2.264 5.888-2.34 8.244-.228 2.349-2.109 5.979-2.039 8.242.228z\"}}]}]})(props);\n};\nexport function RiHeartAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 14v3h3v2h-3.001L19 22h-2l-.001-3H14v-2h3v-3h2zm1.243-9.243c2.262 2.268 2.34 5.88.236 8.235l-1.42-1.418c1.331-1.524 1.261-3.914-.232-5.404-1.503-1.499-3.92-1.563-5.49-.153l-1.335 1.198-1.336-1.197c-1.575-1.412-3.991-1.35-5.494.154-1.49 1.49-1.565 3.875-.192 5.451l8.432 8.446L12 21.485 3.52 12.993c-2.104-2.356-2.025-5.974.236-8.236 2.265-2.264 5.888-2.34 8.244-.228 2.349-2.109 5.979-2.039 8.242.228z\"}}]}]})(props);\n};\nexport function RiHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.001 4.529c2.349-2.109 5.979-2.039 8.242.228 2.262 2.268 2.34 5.88.236 8.236l-8.48 8.492-8.478-8.492c-2.104-2.356-2.025-5.974.236-8.236 2.265-2.264 5.888-2.34 8.244-.228z\"}}]}]})(props);\n};\nexport function RiHeartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.001 4.529c2.349-2.109 5.979-2.039 8.242.228 2.262 2.268 2.34 5.88.236 8.236l-8.48 8.492-8.478-8.492c-2.104-2.356-2.025-5.974.236-8.236 2.265-2.264 5.888-2.34 8.244-.228zm6.826 1.641c-1.5-1.502-3.92-1.563-5.49-.153l-1.335 1.198-1.336-1.197c-1.575-1.412-3.99-1.35-5.494.154-1.49 1.49-1.565 3.875-.192 5.451L12 18.654l7.02-7.03c1.374-1.577 1.299-3.959-.193-5.454z\"}}]}]})(props);\n};\nexport function RiHeartPulseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 3C19.538 3 22 5.5 22 9c0 7-7.5 11-10 12.5-1.978-1.187-7.084-3.937-9.132-8.5h4.698l.934-1.556 3 5L13.566 13H17v-2h-4.566l-.934 1.556-3-5L6.434 11H2.21C2.074 10.363 2 9.696 2 9c0-3.5 2.5-6 5.5-6C9.36 3 11 4 12 5c1-1 2.64-2 4.5-2z\"}}]}]})(props);\n};\nexport function RiHeartPulseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5 3C19.538 3 22 5.5 22 9c0 7-7.5 11-10 12.5-1.977-1.186-7.083-3.937-9.131-8.499L1 13v-2h1.21C2.074 10.364 2 9.698 2 9c0-3.5 2.5-6 5.5-6C9.36 3 11 4 12 5c1-1 2.64-2 4.5-2zm0 2c-1.076 0-2.24.57-3.086 1.414L12 7.828l-1.414-1.414C9.74 5.57 8.576 5 7.5 5 5.56 5 4 6.656 4 9c0 .685.09 1.352.267 2h2.167L8.5 7.556l3 5L12.434 11H17v2h-3.434L11.5 16.444l-3-5L7.566 13H5.108c.79 1.374 1.985 2.668 3.537 3.903.745.592 1.54 1.145 2.421 1.7.299.189.595.37.934.572.339-.202.635-.383.934-.571.881-.556 1.676-1.109 2.42-1.701C18.335 14.533 20 11.943 20 9c0-2.36-1.537-4-3.5-4z\"}}]}]})(props);\n};\nexport function RiHeartsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.363 11.045c1.404-1.393 3.68-1.393 5.084 0 1.404 1.394 1.404 3.654 0 5.047L17 21.5l-5.447-5.408c-1.404-1.393-1.404-3.653 0-5.047 1.404-1.393 3.68-1.393 5.084 0l.363.36.363-.36zm1.88-6.288c.94.943 1.503 2.118 1.689 3.338-1.333-.248-2.739-.01-3.932.713-2.15-1.303-4.994-1.03-6.856.818-2.131 2.115-2.19 5.515-.178 7.701l.178.185 2.421 2.404L11 21.485 2.52 12.993C.417 10.637.496 7.019 2.757 4.757c2.265-2.264 5.888-2.34 8.244-.228 2.349-2.109 5.979-2.039 8.242.228z\"}}]}]})(props);\n};\nexport function RiHeartsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.243 4.757c1.462 1.466 2.012 3.493 1.65 5.38.568.16 1.106.463 1.554.908 1.404 1.394 1.404 3.654 0 5.047L17 21.5l-3.022-3L11 21.485 2.52 12.993C.417 10.637.496 7.019 2.757 4.757c2.265-2.264 5.888-2.34 8.244-.228 2.349-2.109 5.979-2.039 8.242.228zm-6.281 7.708c-.616.611-.616 1.597 0 2.208L17 18.682l4.038-4.009c.616-.611.616-1.597 0-2.208-.624-.62-1.642-.62-2.268.002l-1.772 1.754-1.407-1.396-.363-.36c-.624-.62-1.642-.62-2.266 0zm-8.79-6.293c-1.49 1.49-1.565 3.875-.192 5.451L11 18.654l1.559-1.562-1.006-1c-1.404-1.393-1.404-3.653 0-5.047 1.404-1.393 3.68-1.393 5.084 0l.363.36.363-.36c.425-.421.93-.715 1.465-.882.416-1.367.078-2.912-1.001-3.993-1.5-1.502-3.92-1.563-5.49-.153l-1.335 1.198-1.336-1.197c-1.575-1.412-3.99-1.35-5.494.154z\"}}]}]})(props);\n};\nexport function RiInfraredThermometerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2v9h-3.001L18 12c0 2.21-1.79 4-4 4h-1.379l-.613 3.111.911 1.321c.314.455.2 1.078-.255 1.391-.167.115-.365.177-.568.177H3l2.313-10.024L3 11l4-9h14zm-5.001 9h-2.394l-.591 3H14c1.105 0 2-.895 2-2l-.001-1z\"}}]}]})(props);\n};\nexport function RiInfraredThermometerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2v9h-3.001L18 12c0 2.21-1.79 4-4 4h-1.379l-.613 3.111.911 1.321c.314.455.2 1.078-.255 1.391-.167.115-.365.177-.568.177H3l2.313-10.024L3 11l4-9h14zm-2 2H8.3L5.655 9.95l1.985.837L5.514 20h4.678l-.309-.448L11.96 9H19V4zm-3.001 7h-2.394l-.591 3H14c1.105 0 2-.895 2-2l-.001-1z\"}}]}]})(props);\n};\nexport function RiLungsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5c1.412.47 2.048 2.159 2.327 4.023l-4.523 2.611 1 1.732 3.71-2.141C11.06 13.079 11 14.308 11 15c0 3-1 6-5 6s-4 0-4-4C2 9.5 5.5 4.5 8.5 5.5zM22.001 17v.436c-.005 3.564-.15 3.564-4 3.564-4 0-5-3-5-6 0-.691-.06-1.92-.014-3.274l3.71 2.14 1-1.732-4.523-2.61c.279-1.865.915-3.553 2.327-4.024 3-1 6.5 4 6.5 11.5zM13 2v9h-2V2h2z\"}}]}]})(props);\n};\nexport function RiLungsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.001 17c-.001 4-.001 4-4 4-4 0-5-3-5-6 0-.378-.018-.918-.026-1.55l2.023 1.169L15 15c0 2.776.816 4 3 4 1.14 0 1.61-.007 1.963-.038.03-.351.037-.822.037-1.962 0-3.205-.703-6.033-1.835-7.9-.838-1.382-1.613-1.843-2.032-1.703-.293.098-.605.65-.831 1.623l-1.79-1.033c.369-1.197.982-2.151 1.988-2.487 3-1 6.503 4 6.5 11.5zM8.5 5.5c1.007.336 1.62 1.29 1.989 2.487L8.699 9.02c-.226-.973-.539-1.525-.831-1.623-.42-.14-1.195.32-2.032 1.702C4.703 10.967 4 13.795 4 17c0 1.14.007 1.61.038 1.962.351.031.822.038 1.962.038 2.184 0 3-1.224 3-4l.004-.382 2.023-1.168c-.01.633-.027 1.172-.027 1.55 0 3-1 6-5 6s-4 0-4-4C2 9.5 5.5 4.5 8.5 5.5zM13 2v7.422l4.696 2.712-1 1.732L12 11.155l-4.696 2.711-1-1.732L11 9.422V2h2z\"}}]}]})(props);\n};\nexport function RiMedicineBottleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5v2c1.657 0 3 1.343 3 3v11c0 .552-.448 1-1 1H5c-.552 0-1-.448-1-1V10c0-1.657 1.343-3 3-3V5h10zm-4 6h-2v2H9v2h1.999L11 17h2l-.001-2H15v-2h-2v-2zm6-9v2H5V2h14z\"}}]}]})(props);\n};\nexport function RiMedicineBottleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 2v2h-2v3c1.657 0 3 1.343 3 3v11c0 .552-.448 1-1 1H5c-.552 0-1-.448-1-1V10c0-1.657 1.343-3 3-3V4H5V2h14zm-2 7H7c-.552 0-1 .448-1 1v10h12V10c0-.552-.448-1-1-1zm-4 2v2h2v2h-2.001L13 17h-2l-.001-2H9v-2h2v-2h2zm2-7H9v3h6V4z\"}}]}]})(props);\n};\nexport function RiMentalHealthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2c4.068 0 7.426 3.036 7.934 6.965l2.25 3.539c.148.233.118.58-.225.728L19 14.07V17c0 1.105-.895 2-2 2h-1.999L15 22H6v-3.694c0-1.18-.436-2.297-1.244-3.305C3.657 13.631 3 11.892 3 10c0-4.418 3.582-8 8-8zm-.53 5.763c-.684-.684-1.792-.684-2.475 0-.684.683-.684 1.791 0 2.474L11 13.243l3.005-3.006c.684-.683.684-1.791 0-2.474-.683-.684-1.791-.684-2.475 0l-.53.53-.53-.53z\"}}]}]})(props);\n};\nexport function RiMentalHealthLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2c4.068 0 7.426 3.036 7.934 6.965l2.25 3.539c.148.233.118.58-.225.728L19 14.07V17c0 1.105-.895 2-2 2h-1.999L15 22H6v-3.694c0-1.18-.436-2.297-1.244-3.305C3.657 13.631 3 11.892 3 10c0-4.418 3.582-8 8-8zm0 2c-3.314 0-6 2.686-6 6 0 1.385.468 2.693 1.316 3.75C7.41 15.114 8 16.667 8 18.306V20h5l.002-3H17v-4.248l1.55-.664-1.543-2.425-.057-.442C16.566 6.251 14.024 4 11 4zm-.53 3.763l.53.53.53-.53c.684-.684 1.792-.684 2.475 0 .684.683.684 1.791 0 2.474L11 13.243l-3.005-3.006c-.684-.683-.684-1.791 0-2.474.683-.684 1.791-.684 2.475 0z\"}}]}]})(props);\n};\nexport function RiMicroscopeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.196 2.268l3.25 5.63c.276.477.112 1.089-.366 1.365l-1.3.75 1.001 1.732-1.732 1-1-1.733-1.299.751c-.478.276-1.09.112-1.366-.366L8.546 8.215C6.494 8.837 5 10.745 5 13c0 .625.115 1.224.324 1.776C6.1 14.284 7.016 14 8 14c1.684 0 3.174.833 4.08 2.109l7.688-4.439 1 1.732-7.878 4.549c.072.338.11.69.11 1.049 0 .343-.034.677-.1 1H21v2l-17 .001c-.628-.836-1-1.875-1-3.001 0-1.007.298-1.945.81-2.73C3.293 15.295 3 14.182 3 13c0-2.995 1.881-5.551 4.527-6.55l-.393-.682c-.552-.957-.225-2.18.732-2.732l2.598-1.5c.957-.552 2.18-.225 2.732.732z\"}}]}]})(props);\n};\nexport function RiMicroscopeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.196 2.268l3.25 5.63c.276.477.112 1.089-.366 1.365l-1.3.75 1.001 1.732-1.732 1-1-1.733-1.299.751c-.478.276-1.09.112-1.366-.366L8.546 8.215C6.494 8.837 5 10.745 5 13c0 .625.115 1.224.324 1.776C6.1 14.284 7.016 14 8 14c1.684 0 3.174.833 4.08 2.109l7.688-4.439 1 1.732-7.878 4.549c.072.338.11.69.11 1.049 0 .343-.034.677-.1 1H21v2l-17 .001c-.628-.836-1-1.875-1-3.001 0-1.007.298-1.945.81-2.73C3.293 15.295 3 14.182 3 13c0-2.995 1.881-5.551 4.527-6.55l-.393-.682c-.552-.957-.225-2.18.732-2.732l2.598-1.5c.957-.552 2.18-.225 2.732.732zM8 16c-1.657 0-3 1.343-3 3 0 .35.06.687.17 1h5.66c.11-.313.17-.65.17-1 0-1.657-1.343-3-3-3zm3.464-12.732l-2.598 1.5 2.75 4.763 2.598-1.5-2.75-4.763z\"}}]}]})(props);\n};\nexport function RiNurseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.956 15.564c2.659 1.058 4.616 3.5 4.982 6.436H4.062c.366-2.936 2.323-5.378 4.982-6.436L12 20l2.956-4.436zM18 2v6c0 3.314-2.686 6-6 6s-6-2.686-6-6V2h12zm-2 6H8c0 2.21 1.79 4 4 4s4-1.79 4-4z\"}}]}]})(props);\n};\nexport function RiNurseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15c4.08 0 7.446 3.054 7.938 7H4.062c.492-3.946 3.858-7 7.938-7zm-1.813 2.28C8.753 17.734 7.546 18.713 6.8 20H12l-1.813-2.72zm3.627 0L12 20h5.199c-.745-1.287-1.952-2.266-3.385-2.72zM18 2v6c0 3.314-2.686 6-6 6s-6-2.686-6-6V2h12zM8 8c0 2.21 1.79 4 4 4s4-1.79 4-4H8zm8-4H8v2h8V4z\"}}]}]})(props);\n};\nexport function RiPsychotherapyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2c4.068 0 7.426 3.036 7.934 6.965l2.25 3.539c.148.233.118.58-.225.728L19 14.07V17c0 1.105-.895 2-2 2h-1.999L15 22H6v-3.694c0-1.18-.436-2.297-1.244-3.305C3.657 13.631 3 11.892 3 10c0-4.418 3.582-8 8-8zm0 5c-.552 0-1 .448-1 1v.999L9 9c-.552 0-1 .448-1 1s.448 1 1 1l1-.001V12c0 .552.448 1 1 1s1-.448 1-1v-1h1c.552 0 1-.448 1-1s-.448-1-1-1h-1V8c0-.552-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiPsychotherapyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2c4.068 0 7.426 3.036 7.934 6.965l2.25 3.539c.148.233.118.58-.225.728L19 14.07V17c0 1.105-.895 2-2 2h-1.999L15 22H6v-3.694c0-1.18-.436-2.297-1.244-3.305C3.657 13.631 3 11.892 3 10c0-4.418 3.582-8 8-8zm0 2c-3.314 0-6 2.686-6 6 0 1.385.468 2.693 1.316 3.75C7.41 15.114 8 16.667 8 18.306V20h5l.002-3H17v-4.248l1.55-.664-1.543-2.425-.057-.442C16.566 6.251 14.024 4 11 4zm0 3c.552 0 1 .448 1 1v1h1c.552 0 1 .448 1 1s-.448 1-1 1h-1v1c0 .552-.448 1-1 1s-1-.448-1-1v-1.001L9 11c-.552 0-1-.448-1-1s.448-1 1-1l1-.001V8c0-.552.448-1 1-1z\"}}]}]})(props);\n};\nexport function RiPulseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7.539L15 21.539 18.659 13 23 13 23 11 17.341 11 15 16.461 9 2.461 5.341 11 1 11 1 13 6.659 13z\"}}]}]})(props);\n};\nexport function RiPulseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7.539L15 21.539 18.659 13 23 13 23 11 17.341 11 15 16.461 9 2.461 5.341 11 1 11 1 13 6.659 13z\"}}]}]})(props);\n};\nexport function RiRestTimeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6v8h8c0 4.418-3.582 8-8 8s-8-3.582-8-8c0-4.335 3.58-8 8-8zm10-4v2l-5.327 6H21v2h-8v-2l5.326-6H13V2h8z\"}}]}]})(props);\n};\nexport function RiRestTimeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6v2c-3.314 0-6 2.686-6 6s2.686 6 6 6c3.238 0 5.878-2.566 5.996-5.775L17 14h2c0 4.418-3.582 8-8 8s-8-3.582-8-8c0-4.335 3.58-8 8-8zm10-4v2l-5.327 6H21v2h-8v-2l5.326-6H13V2h8z\"}}]}]})(props);\n};\nexport function RiStethoscopeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3v2H6v4c0 2.21 1.79 4 4 4s4-1.79 4-4V5h-2V3h3c.552 0 1 .448 1 1v5c0 2.973-2.162 5.44-5 5.917V16.5c0 1.933 1.567 3.5 3.5 3.5 1.497 0 2.775-.94 3.275-2.263C16.728 17.27 16 16.22 16 15c0-1.657 1.343-3 3-3s3 1.343 3 3c0 1.371-.92 2.527-2.176 2.885C19.21 20.252 17.059 22 14.5 22 11.462 22 9 19.538 9 16.5v-1.583C6.162 14.441 4 11.973 4 9V4c0-.552.448-1 1-1h3z\"}}]}]})(props);\n};\nexport function RiStethoscopeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3v2H6v4c0 2.21 1.79 4 4 4s4-1.79 4-4V5h-2V3h3c.552 0 1 .448 1 1v5c0 2.973-2.162 5.44-5 5.917V16.5c0 1.933 1.567 3.5 3.5 3.5 1.497 0 2.775-.94 3.275-2.263C16.728 17.27 16 16.22 16 15c0-1.657 1.343-3 3-3s3 1.343 3 3c0 1.371-.92 2.527-2.176 2.885C19.21 20.252 17.059 22 14.5 22 11.462 22 9 19.538 9 16.5v-1.583C6.162 14.441 4 11.973 4 9V4c0-.552.448-1 1-1h3zm11 11c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiSurgicalMaskFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.485 3.121l7.758 1.94c.445.11.757.51.757.97V7h1c1.1 0 2 .9 2 2v3c0 1.657-1.343 3-3 3h-.421c-.535 1.35-1.552 2.486-2.896 3.158l-4.789 2.395c-.563.281-1.225.281-1.788 0l-4.79-2.395C4.974 17.486 3.957 16.35 3.422 15H3c-1.657 0-3-1.343-3-3V9c0-1.105.895-2 2-2h1v-.97c0-.458.312-.858.757-.97l7.758-1.939c.318-.08.652-.08.97 0zM3 9H2v3c0 .552.448 1 1 1V9zm19 0h-1v4c.552 0 1-.448 1-1V9z\"}}]}]})(props);\n};\nexport function RiSurgicalMaskLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.485 3.121l7.758 1.94c.445.11.757.51.757.97V7h1c1.1 0 2 .9 2 2v3c0 1.657-1.343 3-3 3h-.421c-.535 1.35-1.552 2.486-2.896 3.158l-4.789 2.395c-.563.281-1.225.281-1.788 0l-4.79-2.395C4.974 17.486 3.957 16.35 3.422 15H3c-1.657 0-3-1.343-3-3V9c0-1.105.895-2 2-2h1v-.97c0-.458.312-.858.757-.97l7.758-1.939c.318-.08.652-.08.97 0zM12 5.061l-7 1.75v5.98c0 1.516.856 2.9 2.211 3.579L12 18.764l4.789-2.394C18.144 15.692 19 14.307 19 12.792v-5.98l-7-1.75zM3 9H2v3c0 .552.448 1 1 1V9zm19 0h-1v4c.552 0 1-.448 1-1V9z\"}}]}]})(props);\n};\nexport function RiSyringeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.678 7.98l-1.415 1.413-2.12-2.12-2.122 2.12 3.535 3.536-1.414 1.414-.707-.707L11.071 20H5.414l-2.121 2.121-1.414-1.414L4 18.586v-5.657l6.364-6.364-.707-.707 1.414-1.414 3.536 3.535 2.12-2.121-2.12-2.121 1.414-1.415 5.657 5.657zM9.657 14.342l-2.829-2.828-1.414 1.414 2.829 2.828 1.414-1.414zm2.828-2.828L9.657 8.686l-1.414 1.415 2.828 2.828 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiSyringeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.678 7.98l-1.415 1.413-2.12-2.12-2.122 2.12 3.535 3.536-1.414 1.414-.707-.707L11.071 20H5.414l-2.121 2.121-1.414-1.414L4 18.586v-5.657l6.364-6.364-.707-.707 1.414-1.414 3.536 3.535 2.12-2.121-2.12-2.121 1.414-1.415 5.657 5.657zm-5.657 4.242l-4.243-4.243-1.414 1.414 2.121 2.122-1.414 1.414-2.121-2.121-1.414 1.414 2.12 2.121-1.413 1.414-2.122-2.121-.121.121V18h4.243l5.778-5.778z\"}}]}]})(props);\n};\nexport function RiTestTubeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2v2h-1v14c0 2.21-1.79 4-4 4s-4-1.79-4-4V4H7V2h10zm-4 13c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zm-2-3c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zm3-8h-4v4h4V4z\"}}]}]})(props);\n};\nexport function RiTestTubeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 2v2h-1v14c0 2.21-1.79 4-4 4s-4-1.79-4-4V4H7V2h10zm-3 8h-4v8c0 1.105.895 2 2 2s2-.895 2-2v-8zm-1 5c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-2-3c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm3-8h-4v4h4V4z\"}}]}]})(props);\n};\nexport function RiThermometerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.556 3.444c1.562 1.562 1.562 4.094 0 5.657l-8.2 8.2c-.642.642-1.484 1.047-2.387 1.147l-3.378.374-2.298 2.3c-.39.39-1.024.39-1.414 0-.39-.391-.39-1.024 0-1.415l2.298-2.299.375-3.377c.1-.903.505-1.745 1.147-2.387l8.2-8.2c1.563-1.562 4.095-1.562 5.657 0zm-9.192 9.192L9.95 14.05l2.121 2.122 1.414-1.415-2.121-2.121zm2.828-2.828l-1.414 1.414 2.121 2.121 1.415-1.414-2.122-2.121zm2.829-2.829l-1.414 1.414 2.12 2.122L19.143 9.1l-2.121-2.122z\"}}]}]})(props);\n};\nexport function RiThermometerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.556 3.444c1.562 1.562 1.562 4.094 0 5.657l-8.2 8.2c-.642.642-1.484 1.047-2.387 1.147l-3.378.374-2.298 2.3c-.39.39-1.024.39-1.414 0-.39-.391-.39-1.024 0-1.415l2.298-2.299.375-3.377c.1-.903.505-1.745 1.147-2.387l8.2-8.2c1.563-1.562 4.095-1.562 5.657 0zm-4.242 1.414l-8.2 8.2c-.322.321-.524.742-.574 1.193l-.276 2.485 2.485-.276c.45-.05.872-.252 1.193-.573l.422-.423L9.95 14.05l1.414-1.414 1.414 1.414 1.414-1.414-1.414-1.414 1.414-1.414 1.415 1.414 1.414-1.415-1.414-1.414L17.02 6.98l1.414 1.414.707-.707c.781-.78.781-2.047 0-2.828-.78-.781-2.047-.781-2.828 0z\"}}]}]})(props);\n};\nexport function RiVirusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.717 1.947l3.734 1.434-.717 1.867-.934-.359-.746 1.945c.779.462 1.444 1.094 1.945 1.846l1.903-.847-.407-.914 1.827-.813 1.627 3.654-1.827.813-.407-.913-1.902.847c.122.477.187.978.187 1.493 0 .406-.04.803-.117 1.187l1.944.746.358-.933 1.868.717-1.434 3.734-1.867-.717.358-.933-1.944-.747c-.462.779-1.094 1.444-1.846 1.945l.847 1.903.914-.407.813 1.827-3.654 1.627-.813-1.827.913-.407-.847-1.902c-.477.122-.978.187-1.493.187-.407 0-.804-.04-1.188-.118l-.746 1.945.934.358-.717 1.868-3.734-1.434.717-1.867.932.358.748-1.944C8.167 16.704 7.502 16.072 7 15.32l-1.903.847.407.914-1.827.813-1.627-3.654 1.827-.813.406.914 1.903-.848C6.065 13.016 6 12.515 6 12c0-.406.04-.803.117-1.187l-1.945-.746-.357.933-1.868-.717L3.381 6.55l1.867.717-.359.933 1.945.747C7.296 8.167 7.928 7.502 8.68 7l-.847-1.903-.914.407-.813-1.827L9.76 2.051l.813 1.827-.913.407.847 1.902C10.984 6.065 11.485 6 12 6c.406 0 .803.04 1.187.117l.745-1.945L13 3.815l.717-1.868zm-3.583 11.285c-.276.478-.112 1.09.366 1.366s1.09.112 1.366-.366.112-1.09-.366-1.366-1.09-.112-1.366.366zM14 11c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zm-3.5-1.598c-.478.276-.642.888-.366 1.366.276.478.888.642 1.366.366.478-.276.642-.888.366-1.366-.276-.478-.888-.642-1.366-.366z\"}}]}]})(props);\n};\nexport function RiVirusLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.717 1.947l3.734 1.434-.717 1.867-.934-.359-.746 1.945c.779.462 1.444 1.094 1.945 1.846l1.903-.847-.407-.914 1.827-.813 1.627 3.654-1.827.813-.407-.913-1.902.847c.122.477.187.978.187 1.493 0 .406-.04.803-.117 1.187l1.944.746.358-.933 1.868.717-1.434 3.734-1.867-.717.358-.933-1.944-.747c-.462.779-1.094 1.444-1.846 1.945l.847 1.903.914-.407.813 1.827-3.654 1.627-.813-1.827.913-.407-.847-1.902c-.477.122-.978.187-1.493.187-.407 0-.804-.04-1.188-.118l-.746 1.945.934.358-.717 1.868-3.734-1.434.717-1.867.932.358.748-1.944C8.167 16.704 7.502 16.072 7 15.32l-1.903.847.407.914-1.827.813-1.627-3.654 1.827-.813.406.914 1.903-.848C6.065 13.016 6 12.515 6 12c0-.406.04-.803.117-1.187l-1.945-.746-.357.933-1.868-.717L3.381 6.55l1.867.717-.359.933 1.945.747C7.296 8.167 7.928 7.502 8.68 7l-.847-1.903-.914.407-.813-1.827L9.76 2.051l.813 1.827-.913.407.847 1.902C10.984 6.065 11.485 6 12 6c.406 0 .803.04 1.187.117l.745-1.945L13 3.815l.717-1.868zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm-.5 4.866c.478.276.642.888.366 1.366-.276.478-.888.642-1.366.366-.478-.276-.642-.888-.366-1.366.276-.478.888-.642 1.366-.366zM14 11c.552 0 1 .448 1 1s-.448 1-1 1-1-.448-1-1 .448-1 1-1zm-2.134-1.232c.276.478.112 1.09-.366 1.366s-1.09.112-1.366-.366-.112-1.09.366-1.366 1.09-.112 1.366.366z\"}}]}]})(props);\n};\nexport function RiZzzFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11v2l-5.327 6H11v2H3v-2l5.326-6H3v-2h8zm10-8v2l-5.327 6H21v2h-8v-2l5.326-6H13V3h8z\"}}]}]})(props);\n};\nexport function RiZzzLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11v2l-5.327 6H11v2H3v-2l5.326-6H3v-2h8zm10-8v2l-5.327 6H21v2h-8v-2l5.326-6H13V3h8z\"}}]}]})(props);\n};\nexport function RiAlipayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.422 15.358c-3.83-1.153-6.055-1.84-6.678-2.062a12.41 12.41 0 0 0 1.32-3.32H12.8V8.872h4v-.68h-4V6.344h-1.536c-.28 0-.312.248-.312.248v1.592H7.2v.68h3.752v1.104H7.88v.616h6.224a10.972 10.972 0 0 1-.888 2.176c-1.408-.464-2.192-.784-3.912-.944-3.256-.312-4.008 1.48-4.128 2.576C5 16.064 6.48 17.424 8.688 17.424s3.68-1.024 5.08-2.72c1.167.558 3.338 1.525 6.514 2.902A9.99 9.99 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.983 9.983 0 0 1-.578 3.358zm-12.99 1.01c-2.336 0-2.704-1.48-2.584-2.096.12-.616.8-1.416 2.104-1.416 1.496 0 2.832.384 4.44 1.16-1.136 1.48-2.52 2.352-3.96 2.352z\"}}]}]})(props);\n};\nexport function RiAlipayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18.408 16.79c-2.173-.95-3.72-1.646-4.64-2.086-1.4 1.696-2.872 2.72-5.08 2.72S5 16.064 5.176 14.392c.12-1.096.872-2.888 4.128-2.576 1.72.16 2.504.48 3.912.944.36-.664.664-1.4.888-2.176H7.88v-.616h3.072V8.864H7.2v-.68h3.752V6.592s.032-.248.312-.248H12.8v1.848h4v.68h-4v1.104h3.264a12.41 12.41 0 0 1-1.32 3.32c.51.182 2.097.676 4.76 1.483a8 8 0 1 0-1.096 2.012zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-3.568-5.632c1.44 0 2.824-.872 3.96-2.352-1.608-.776-2.944-1.16-4.44-1.16-1.304 0-1.984.8-2.104 1.416-.12.616.248 2.096 2.584 2.096z\"}}]}]})(props);\n};\nexport function RiAmazonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.996 18.23c0 .727-.405 2.127-1.314 2.896-.182.14-.365.061-.285-.143.265-.648.872-2.147.587-2.492-.2-.262-1.03-.243-1.738-.182-.324.041-.607.06-.828.105-.203.017-.245-.163-.041-.303.262-.185.545-.325.87-.428 1.15-.344 2.48-.137 2.67.083.036.042.08.16.08.463zm-1.921 1.294a7.426 7.426 0 0 1-.83.55c-2.122 1.275-4.87 1.943-7.258 1.943-3.843 0-7.28-1.417-9.888-3.788-.223-.182-.038-.446.223-.303 2.81 1.64 6.288 2.632 9.889 2.632 2.265 0 4.708-.424 7.035-1.336.162-.061.344-.144.503-.202.367-.165.69.243.326.504zm-6.17-11.03c0-1.041.041-1.654-.304-2.18-.306-.433-.833-.693-1.568-.652-.798.044-1.655.567-1.874 1.526-.042.22-.171.436-.436.483l-2.436-.31c-.174-.04-.438-.173-.352-.521C7.458 4.088 9.81 3.129 12.033 3h.523c1.22 0 2.787.349 3.79 1.264 1.217 1.136 1.088 2.662 1.088 4.32v3.927c0 1.178.477 1.7.958 2.314.13.219.174.477-.045.655-.48.435-1.394 1.219-1.917 1.654-.174.133-.488.147-.61.045-.77-.645-.958-1.003-1.435-1.658-.83.871-1.526 1.352-2.355 1.613a7.035 7.035 0 0 1-1.784.216c-2.09 0-3.746-1.303-3.746-3.88 0-2.049 1.09-3.442 2.7-4.101 1.61-.66 3.95-.87 4.704-.874zm-.478 5.192c.52-.872.477-1.586.477-3.185-.651 0-1.306.045-1.871.178-1.045.303-1.874.961-1.874 2.355 0 1.09.567 1.832 1.525 1.832.132 0 .248-.016.349-.045.67-.186 1.088-.522 1.394-1.135z\"}}]}]})(props);\n};\nexport function RiAmazonLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.625 14.62c-1.107 1.619-2.728 2.384-4.625 2.384-2.304 0-4.276-1.773-3.993-4.124.315-2.608 2.34-3.73 5.708-4.143.601-.073.85-.094 2.147-.19l.138-.01v-.215C15 6.526 13.932 5.3 12.5 5.3c-1.437 0-2.44.747-3.055 2.526l-1.89-.652C8.442 4.604 10.193 3.3 12.5 3.3c2.603 0 4.5 2.178 4.5 5.022 0 2.649.163 4.756.483 5.557.356.892.486 1.117.884 1.613l-1.56 1.251c-.523-.652-.753-1.049-1.181-2.122v-.001zm5.632 5.925c-.271.2-.742.081-.529-.44.265-.648.547-1.408.262-1.752-.21-.255-.467-.382-1.027-.382-.46 0-.69.06-.995.08-.204.013-.293-.297-.091-.44a2.96 2.96 0 0 1 .87-.428c1.15-.344 2.505-.155 2.67.083.365.53-.199 2.569-1.16 3.28zm-1.182-1.084a7.555 7.555 0 0 1-.83.695c-2.122 1.616-4.87 2.46-7.258 2.46-3.843 0-7.28-1.793-9.888-4.795-.223-.23-.038-.566.223-.384 2.81 2.077 6.288 3.333 9.889 3.333 2.265 0 4.708-.537 7.035-1.693.162-.076.344-.18.503-.254.367-.21.69.306.326.638zm-5.065-8.92c-1.258.094-1.496.113-2.052.181-2.552.313-3.797 1.003-3.965 2.398-.126 1.043.81 1.884 2.007 1.884 2.039 0 3.517-1.228 4.022-4.463h-.012z\"}}]}]})(props);\n};\nexport function RiAndroidFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.382 3.968A8.962 8.962 0 0 1 12 2c2.125 0 4.078.736 5.618 1.968l1.453-1.453 1.414 1.414-1.453 1.453A8.962 8.962 0 0 1 21 11v1H3v-1c0-2.125.736-4.078 1.968-5.618L3.515 3.93l1.414-1.414 1.453 1.453zM3 14h18v7a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-7zm6-5a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm6 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiAndroidLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M19 13H5v7h14v-7zm0-2a7 7 0 0 0-14 0h14zM6.382 3.968A8.962 8.962 0 0 1 12 2c2.125 0 4.078.736 5.618 1.968l1.453-1.453 1.414 1.414-1.453 1.453A8.962 8.962 0 0 1 21 11v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11c0-2.125.736-4.078 1.968-5.618L3.515 3.93l1.414-1.414 1.453 1.453zM9 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm6 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiAngularjsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2l9.3 3.32-1.418 12.31L12 22l-7.882-4.37L2.7 5.32 12 2zm0 2.21L6.186 17.26h2.168l1.169-2.92h4.934l1.17 2.92h2.167L12 4.21zm1.698 8.33h-3.396L12 8.45l1.698 4.09z\"}}]}]})(props);\n};\nexport function RiAngularjsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.523 16.65l.49-.27 1.118-9.71L12 4.123 4.869 6.669l1.119 9.71.473.263L12 4.21l5.523 12.44zm-1.099.61h-.798l-1.169-2.92H9.523l-1.17 2.92h-.777L12 19.713l4.424-2.453zM12 2l9.3 3.32-1.418 12.31L12 22l-7.882-4.37L2.7 5.32 12 2zm1.698 10.54L12 8.45l-1.698 4.09h3.396z\"}}]}]})(props);\n};\nexport function RiAppStoreFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zM8.823 15.343c-.395-.477-.886-.647-1.479-.509l-.15.041-.59 1.016a.823.823 0 0 0 1.366.916l.062-.093.79-1.371zM13.21 8.66c-.488.404-.98 1.597-.29 2.787l3.04 5.266a.824.824 0 0 0 1.476-.722l-.049-.1-.802-1.392h1.19a.82.82 0 0 0 .822-.823.82.82 0 0 0-.72-.816l-.103-.006h-2.14L13.44 9.057l-.23-.396zm.278-3.044a.825.825 0 0 0-1.063.21l-.062.092-.367.633-.359-.633a.824.824 0 0 0-1.476.722l.049.1.838 1.457-2.685 4.653H6.266a.82.82 0 0 0-.822.822c0 .421.312.766.719.817l.103.006h7.48c.34-.64-.06-1.549-.81-1.638l-.121-.007h-2.553l3.528-6.11a.823.823 0 0 0-.302-1.124z\"}}]}]})(props);\n};\nexport function RiAppStoreLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zM8.823 15.343l-.79 1.37a.823.823 0 1 1-1.428-.822l.589-1.016c.66-.206 1.201-.048 1.629.468zM13.21 8.66l2.423 4.194h2.141a.82.82 0 0 1 .823.822.82.82 0 0 1-.823.823h-1.19l.803 1.391a.824.824 0 0 1-1.427.823l-3.04-5.266c-.69-1.19-.198-2.383.29-2.787zm.278-3.044c.395.226.528.73.302 1.125l-3.528 6.109h2.553c.826 0 1.29.972.931 1.645h-7.48a.82.82 0 0 1-.822-.823.82.82 0 0 1 .822-.822h2.097l2.685-4.653-.838-1.456a.824.824 0 0 1 1.427-.823l.359.633.367-.633a.823.823 0 0 1 1.125-.302z\"}}]}]})(props);\n};\nexport function RiAppleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11.624 7.222c-.876 0-2.232-.996-3.66-.96-1.884.024-3.612 1.092-4.584 2.784-1.956 3.396-.504 8.412 1.404 11.172.936 1.344 2.04 2.856 3.504 2.808 1.404-.06 1.932-.912 3.636-.912 1.692 0 2.172.912 3.66.876 1.512-.024 2.472-1.368 3.396-2.724 1.068-1.56 1.512-3.072 1.536-3.156-.036-.012-2.94-1.128-2.976-4.488-.024-2.808 2.292-4.152 2.4-4.212-1.32-1.932-3.348-2.148-4.056-2.196-1.848-.144-3.396 1.008-4.26 1.008zm3.12-2.832c.78-.936 1.296-2.244 1.152-3.54-1.116.048-2.46.744-3.264 1.68-.72.828-1.344 2.16-1.176 3.432 1.236.096 2.508-.636 3.288-1.572z\"}}]}]})(props);\n};\nexport function RiAppleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.729 8.208c-.473-.037-.981.076-1.759.373.066-.025-.742.29-.968.37-.502.175-.915.271-1.378.271-.458 0-.88-.092-1.366-.255-.155-.053-.311-.11-.505-.186-.082-.032-.382-.152-.448-.177-.648-.254-1.013-.35-1.316-.342-1.152.015-2.243.68-2.876 1.782-1.292 2.244-.577 6.299 1.312 9.031 1.006 1.444 1.556 1.96 1.778 1.953.222-.01.385-.057.783-.225l.167-.071c1.005-.429 1.71-.618 2.771-.618 1.021 0 1.703.186 2.668.602l.168.072c.398.17.542.208.792.202.358-.005.799-.417 1.778-1.854.268-.391.505-.803.71-1.22a7.354 7.354 0 0 1-.392-.347c-1.289-1.228-2.086-2.884-2.108-4.93a6.625 6.625 0 0 1 1.41-4.181 4.124 4.124 0 0 0-1.221-.25zm.155-1.994c.708.048 2.736.264 4.056 2.196-.108.06-2.424 1.404-2.4 4.212.036 3.36 2.94 4.476 2.976 4.488-.024.084-.468 1.596-1.536 3.156-.924 1.356-1.884 2.7-3.396 2.724-1.488.036-1.968-.876-3.66-.876-1.704 0-2.232.852-3.636.912-1.464.048-2.568-1.464-3.504-2.808-1.908-2.76-3.36-7.776-1.404-11.172.972-1.692 2.7-2.76 4.584-2.784 1.428-.036 2.784.96 3.66.96.864 0 2.412-1.152 4.26-1.008zm-1.14-1.824c-.78.936-2.052 1.668-3.288 1.572-.168-1.272.456-2.604 1.176-3.432.804-.936 2.148-1.632 3.264-1.68.144 1.296-.372 2.604-1.152 3.54z\"}}]}]})(props);\n};\nexport function RiBaiduFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5.927 12.497c2.063-.443 1.782-2.909 1.72-3.448-.101-.83-1.078-2.282-2.405-2.167-1.67.15-1.913 2.561-1.913 2.561-.226 1.115.54 3.497 2.598 3.054zm2.19 4.288c-.06.173-.195.616-.078 1.002.23.866.982.905.982.905h1.08v-2.64H8.944c-.52.154-.77.559-.827.733zm1.638-8.422c1.14 0 2.06-1.312 2.06-2.933 0-1.62-.92-2.93-2.06-2.93-1.137 0-2.06 1.31-2.06 2.93 0 1.621.923 2.933 2.06 2.933zm4.908.193c1.522.198 2.501-1.427 2.696-2.659.199-1.23-.784-2.658-1.862-2.904-1.08-.248-2.429 1.483-2.552 2.61-.147 1.38.197 2.758 1.718 2.953zm0 3.448c-1.865-2.905-4.513-1.723-5.4-.245-.881 1.477-2.256 2.41-2.451 2.658-.198.244-2.846 1.673-2.258 4.284.587 2.609 2.652 2.56 2.652 2.56s1.521.15 3.286-.246c1.766-.391 3.286.098 3.286.098s4.125 1.38 5.253-1.278c1.128-2.66-.637-4.038-.637-4.038s-2.356-1.823-3.732-3.793zm-6.008 7.75c-1.158-.231-1.619-1.021-1.677-1.156-.057-.137-.386-.772-.212-1.853.5-1.619 1.927-1.735 1.927-1.735h1.428v-1.755l1.215.02v6.479h-2.68zm4.59-.019c-1.196-.308-1.251-1.158-1.251-1.158v-3.412l1.251-.02v3.066c.077.328.483.387.483.387h1.271v-3.433h1.332v4.57h-3.086zm7.454-9.11c0-.59-.49-2.364-2.305-2.364-1.819 0-2.062 1.675-2.062 2.859 0 1.13.095 2.707 2.354 2.657 2.26-.05 2.013-2.56 2.013-3.152z\"}}]}]})(props);\n};\nexport function RiBaiduLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M7.564 19.28a9.69 9.69 0 0 0 2.496-.217 8.8 8.8 0 0 1 2.98-.131c.547.067.985.165 1.288.257 1.078.275 2.61.223 3.005-.41.291-.468.253-.787-.026-1.199a1.886 1.886 0 0 0-.212-.26 25.006 25.006 0 0 1-.743-.618 25.618 25.618 0 0 1-1.753-1.66 16.151 16.151 0 0 1-1.577-1.893l-.036-.053c-.742-1.139-1.558-1.067-2.002-.317a9.604 9.604 0 0 1-.955 1.331c-.41.482-.83.89-1.305 1.297-.123.105-.503.42-.412.344-.004.003-.017.015.051-.071-.098.12-.95.877-1.2 1.162-.515.583-.723 1.08-.645 1.48.072.376.219.587.45.745a1.432 1.432 0 0 0 .48.206l.116.007zm7.098-7.276c1.376 1.97 3.732 3.793 3.732 3.793s2.063 1.748.637 4.038c-1.426 2.29-5.253 1.278-5.253 1.278s-1.52-.49-3.286-.098c-1.765.395-3.286.245-3.286.245S5 21.015 4.554 18.701c-.446-2.314 2.06-4.04 2.258-4.284.195-.247 1.512-1.073 2.452-2.658.94-1.586 3.583-2.54 5.398.245zm5.539-1.42c0 .458.19 2.393-1.553 2.432-1.742.038-1.816-1.178-1.816-2.05 0-.913.188-2.205 1.59-2.205 1.4 0 1.779 1.369 1.779 1.824zm-5.43-2.777c-1.18-.152-1.447-1.222-1.333-2.293.096-.875 1.143-2.219 1.981-2.026.837.19 1.6 1.3 1.446 2.254-.151.957-.911 2.218-2.094 2.065zM9.755 7.44c-.86 0-1.56-.993-1.56-2.22 0-1.227.699-2.22 1.56-2.22.863 0 1.56.993 1.56 2.22 0 1.227-.697 2.22-1.56 2.22zm-3.793 4.566c-1.695.365-2.326-1.597-2.14-2.515 0 0 .2-1.987 1.576-2.11 1.093-.095 1.898 1.101 1.981 1.785.051.444.283 2.475-1.417 2.84z\"}}]}]})(props);\n};\nexport function RiBehanceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M7.443 5.35c.639 0 1.23.05 1.77.198a3.83 3.83 0 0 1 1.377.544c.394.247.689.594.885 1.039.197.445.295.99.295 1.583 0 .693-.147 1.286-.491 1.731-.295.446-.787.841-1.377 1.138.836.248 1.475.693 1.868 1.286.394.594.64 1.336.64 2.177 0 .693-.148 1.286-.394 1.781-.246.495-.639.94-1.082 1.237a5.078 5.078 0 0 1-1.573.692c-.59.149-1.18.248-1.77.248H1V5.35h6.443zm-.394 5.54c.541 0 .984-.148 1.328-.395.344-.247.492-.693.492-1.237 0-.297-.05-.594-.148-.791-.098-.198-.246-.347-.442-.495-.197-.099-.394-.198-.64-.247-.246-.05-.491-.05-.787-.05H4v3.216h3.05zm.148 5.838c.295 0 .59-.05.836-.099a1.72 1.72 0 0 0 .688-.297 1.76 1.76 0 0 0 .492-.544c.098-.247.197-.544.197-.89 0-.693-.197-1.188-.59-1.534-.394-.297-.935-.445-1.574-.445H4v3.81h3.197zm9.492-.05c.393.396.983.594 1.77.594.541 0 1.033-.148 1.426-.395.394-.297.64-.594.738-.891h2.41c-.394 1.187-.984 2.028-1.77 2.572-.788.495-1.722.792-2.853.792a5.753 5.753 0 0 1-2.115-.396 3.93 3.93 0 0 1-1.574-1.088 3.93 3.93 0 0 1-.983-1.633c-.246-.643-.345-1.335-.345-2.127 0-.742.099-1.434.345-2.078a5.34 5.34 0 0 1 1.032-1.682c.443-.445.984-.84 1.574-1.088a5.49 5.49 0 0 1 2.066-.396c.836 0 1.574.149 2.213.495.64.346 1.131.742 1.525 1.336a6.01 6.01 0 0 1 .885 1.88c.098.692.147 1.385.098 2.176H16c0 .792.295 1.534.689 1.93zm3.098-5.194c-.344-.346-.885-.544-1.525-.544-.442 0-.787.099-1.082.247-.295.149-.491.347-.688.545a1.322 1.322 0 0 0-.344.692c-.05.248-.099.445-.099.643h4.426c-.098-.742-.344-1.236-.688-1.583zM15.459 6.29h5.508v1.336H15.46V6.29z\"}}]}]})(props);\n};\nexport function RiBehanceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 11a2 2 0 1 0 0-4H3v4h4.5zm1 2H3v4h5.5a2 2 0 1 0 0-4zm2.063-1.428A4 4 0 0 1 8.5 19H1V5h6.5a4 4 0 0 1 3.063 6.572zM15.5 6H21v1.5h-5.5V6zm7.5 8.5h-7.5v.25A2.75 2.75 0 0 0 20.7 16h2.134a4.752 4.752 0 0 1-9.334-1.25v-1.5a4.75 4.75 0 1 1 9.5 0v1.25zm-2.104-2a2.751 2.751 0 0 0-5.292 0h5.292z\"}}]}]})(props);\n};\nexport function RiBilibiliFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.223 3.086a1.25 1.25 0 0 1 0 1.768L17.08 5.996h1.17A3.75 3.75 0 0 1 22 9.747v7.5a3.75 3.75 0 0 1-3.75 3.75H5.75A3.75 3.75 0 0 1 2 17.247v-7.5a3.75 3.75 0 0 1 3.75-3.75h1.166L5.775 4.855a1.25 1.25 0 1 1 1.767-1.768l2.652 2.652c.079.079.145.165.198.257h3.213c.053-.092.12-.18.199-.258l2.651-2.652a1.25 1.25 0 0 1 1.768 0zm.027 5.42H5.75a1.25 1.25 0 0 0-1.247 1.157l-.003.094v7.5c0 .659.51 1.199 1.157 1.246l.093.004h12.5a1.25 1.25 0 0 0 1.247-1.157l.003-.093v-7.5c0-.69-.56-1.25-1.25-1.25zm-10 2.5c.69 0 1.25.56 1.25 1.25v1.25a1.25 1.25 0 1 1-2.5 0v-1.25c0-.69.56-1.25 1.25-1.25zm7.5 0c.69 0 1.25.56 1.25 1.25v1.25a1.25 1.25 0 1 1-2.5 0v-1.25c0-.69.56-1.25 1.25-1.25z\"}}]}]})(props);\n};\nexport function RiBilibiliLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.172 2.757L10.414 6h3.171l3.243-3.242a1 1 0 0 1 1.415 1.415l-1.829 1.827L18.5 6A3.5 3.5 0 0 1 22 9.5v8a3.5 3.5 0 0 1-3.5 3.5h-13A3.5 3.5 0 0 1 2 17.5v-8A3.5 3.5 0 0 1 5.5 6h2.085L5.757 4.171a1 1 0 0 1 1.415-1.415zM18.5 8h-13a1.5 1.5 0 0 0-1.493 1.356L4 9.5v8a1.5 1.5 0 0 0 1.356 1.493L5.5 19h13a1.5 1.5 0 0 0 1.493-1.356L20 17.5v-8A1.5 1.5 0 0 0 18.5 8zM8 11a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1zm8 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiCentosFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.06l4.47 4.471L12 22l-4.47-4.47L12 13.06zm-8 3.06L7.879 20H4v-3.88zm16 0V20h-3.88L20 16.12zm-2.47-8.59L22 12l-4.469 4.47-4.47-4.47 4.469-4.47zm-11.06 0L10.94 12l-4.471 4.469L2 12l4.47-4.47zM12 2l4.469 4.469L12 10.939 7.53 6.47 12 2zM7.879 4l-3.88 3.879L4 4h3.879zM20 4v3.879l-3.88-3.88L20 4z\"}}]}]})(props);\n};\nexport function RiCentosLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2l4.292 4.292 1.061-1.06L16.121 4H20v3.879l-1.233-1.233-1.06 1.061L22 12l-4.292 4.293 1.059 1.059L20 16.121V20h-3.88l1.232-1.233-1.059-1.06L12 22l-4.293-4.293-1.061 1.06L7.879 20H4v-3.88l1.231 1.232 1.061-1.06L2 12l4.293-4.293-1.062-1.061L4 7.879V4h3.879L6.646 5.23l1.062 1.062L12 2zm0 11.413l-2.88 2.879 2.88 2.88 2.879-2.88L12 13.412zM7.707 9.12L4.828 12l2.878 2.878 2.88-2.88-2.879-2.877zm8.585 0l-2.877 2.878 2.878 2.879L19.172 12l-2.88-2.879zM12 4.828L9.122 7.707l2.879 2.878 2.877-2.879L12 4.828z\"}}]}]})(props);\n};\nexport function RiChromeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.827 21.763C5.35 20.771 2 16.777 2 12c0-1.822.487-3.53 1.339-5.002l4.283 7.419a4.999 4.999 0 0 0 4.976 2.548l-2.77 4.798zM12 22l4.287-7.425A4.977 4.977 0 0 0 17 12a4.978 4.978 0 0 0-1-3h5.542c.298.947.458 1.955.458 3 0 5.523-4.477 10-10 10zm2.572-8.455a2.999 2.999 0 0 1-5.17-.045l-.029-.05a3 3 0 1 1 5.225.05l-.026.045zm-9.94-8.306A9.974 9.974 0 0 1 12 2a9.996 9.996 0 0 1 8.662 5H12a5.001 5.001 0 0 0-4.599 3.035L4.632 5.239z\"}}]}]})(props);\n};\nexport function RiChromeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.365 19.833l1.93-3.342a4.499 4.499 0 0 1-4.234-2.315L4.794 8.52a8.003 8.003 0 0 0 5.57 11.313zm2.225.146A8 8 0 0 0 19.602 9.5h-3.86A4.48 4.48 0 0 1 16.5 12a4.48 4.48 0 0 1-.642 2.318l-3.268 5.66zm1.553-6.691l.022-.038a2.5 2.5 0 1 0-4.354-.042l.024.042a2.499 2.499 0 0 0 4.308.038zm-8.108-6.62l1.929 3.34A4.5 4.5 0 0 1 12 7.5h6.615A7.992 7.992 0 0 0 12 4a7.98 7.98 0 0 0-5.965 2.669zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiCodepenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 10.202L9.303 12 12 13.798 14.697 12 12 10.202zm4.5.596L19.197 9 13 4.869v3.596l3.5 2.333zm3.5.07L18.303 12 20 13.131V10.87zm-3.5 2.334L13 15.535v3.596L19.197 15 16.5 13.202zM11 8.465V4.869L4.803 9 7.5 10.798 11 8.465zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zm.894-3L4 10.869v2.262L5.697 12zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z\"}}]}]})(props);\n};\nexport function RiCodepenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z\"}}]}]})(props);\n};\nexport function RiCoreosFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-3.671-9.696c-.04.85.037 1.697.118 2.544.005.06.027.074.08.08.406.054.813.102 1.222.127.964.061 1.928.139 2.896.085.55-.03 1.1-.048 1.648-.095.78-.068 1.56-.155 2.33-.312.958-.194 1.907-.425 2.8-.845.406-.19.79-.415 1.114-.736.238-.235.408-.507.41-.86a8.92 8.92 0 0 0-.045-.94 9.022 9.022 0 0 0-.481-2.18c-.584-1.618-1.51-2.989-2.826-4.07a8.87 8.87 0 0 0-3.851-1.863c-.5-.105-1.006-.144-1.514-.18-.573-.041-1.064.12-1.488.514-.495.457-.837 1.024-1.122 1.633-.667 1.427-.973 2.954-1.166 4.508a15.215 15.215 0 0 0-.125 2.59zm3.57-5.03c.959.03 1.77.324 2.494.856a4.326 4.326 0 0 1 1.714 2.612c.068.304.097.612.103.922.005.209-.11.362-.262.49-.307.258-.67.401-1.05.508-.74.207-1.496.326-2.265.366-.5.026-1 .035-1.5.01-.192-.01-.385-.024-.577-.032-.06-.002-.08-.02-.084-.081-.023-.434-.057-.868-.05-1.302.016-1.026.094-2.045.397-3.034.1-.329.223-.65.42-.936.173-.25.378-.437.66-.38z\"}}]}]})(props);\n};\nexport function RiCoreosLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9.42 4.4a8 8 0 1 0 10.202 9.91c-3.4 1.46-7.248 1.98-11.545 1.565-.711-4.126-.264-7.95 1.343-11.475zm2.448-.414a16.805 16.805 0 0 0-1.542 3.769 5.98 5.98 0 0 1 4.115 1.756 5.977 5.977 0 0 1 1.745 3.861c1.33-.341 2.589-.82 3.78-1.433a7.994 7.994 0 0 0-8.098-7.953zM4.895 19.057C.99 15.152.99 8.82 4.895 4.915c3.905-3.905 10.237-3.905 14.142 0 3.905 3.905 3.905 10.237 0 14.142-3.905 3.905-10.237 3.905-14.142 0zm5.02-9.293a17.885 17.885 0 0 0-.076 4.229 23.144 23.144 0 0 0 4.36-.22 3.988 3.988 0 0 0-1.172-2.848 3.99 3.99 0 0 0-3.112-1.161z\"}}]}]})(props);\n};\nexport function RiDingdingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm4.49 9.04l-.006.014c-.42.898-1.516 2.66-1.516 2.66l-.005-.012-.32.558h1.543l-2.948 3.919.67-2.666h-1.215l.422-1.763c-.341.082-.745.195-1.223.349 0 0-.646.378-1.862-.729 0 0-.82-.722-.344-.902.202-.077.981-.175 1.594-.257.83-.112 1.339-.172 1.339-.172s-2.555.038-3.161-.057c-.606-.095-1.375-1.107-1.539-1.996 0 0-.253-.488.545-.257.798.231 4.101.9 4.101.9S8.27 9.312 7.983 8.99c-.286-.32-.841-1.754-.769-2.634 0 0 .031-.22.257-.16 0 0 3.176 1.45 5.347 2.245 2.172.795 4.06 1.199 3.816 2.228-.02.087-.072.216-.144.37z\"}}]}]})(props);\n};\nexport function RiDingdingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0-2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm4.49 9.04l-.006.014c-.42.898-1.516 2.66-1.516 2.66l-.005-.012-.32.558h1.543l-2.948 3.919.67-2.666h-1.215l.422-1.763c-.341.082-.745.195-1.223.349 0 0-.646.378-1.862-.729 0 0-.82-.722-.344-.902.202-.077.981-.175 1.594-.257.83-.112 1.339-.172 1.339-.172s-2.555.038-3.161-.057c-.606-.095-1.375-1.107-1.539-1.996 0 0-.253-.488.545-.257.798.231 4.101.9 4.101.9S8.27 9.312 7.983 8.99c-.286-.32-.841-1.754-.769-2.634 0 0 .031-.22.257-.16 0 0 3.176 1.45 5.347 2.245 2.172.795 4.06 1.199 3.816 2.228-.02.087-.072.216-.144.37z\"}}]}]})(props);\n};\nexport function RiDiscordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10.076 11c.6 0 1.086.45 1.075 1 0 .55-.474 1-1.075 1C9.486 13 9 12.55 9 12s.475-1 1.076-1zm3.848 0c.601 0 1.076.45 1.076 1s-.475 1-1.076 1c-.59 0-1.075-.45-1.075-1s.474-1 1.075-1zm4.967-9C20.054 2 21 2.966 21 4.163V23l-2.211-1.995-1.245-1.176-1.317-1.25.546 1.943H5.109C3.946 20.522 3 19.556 3 18.359V4.163C3 2.966 3.946 2 5.109 2H18.89zm-3.97 13.713c2.273-.073 3.148-1.596 3.148-1.596 0-3.381-1.482-6.122-1.482-6.122-1.48-1.133-2.89-1.102-2.89-1.102l-.144.168c1.749.546 2.561 1.334 2.561 1.334a8.263 8.263 0 0 0-3.096-1.008 8.527 8.527 0 0 0-2.077.02c-.062 0-.114.011-.175.021-.36.032-1.235.168-2.335.662-.38.178-.607.305-.607.305s.854-.83 2.705-1.376l-.103-.126s-1.409-.031-2.89 1.103c0 0-1.481 2.74-1.481 6.121 0 0 .864 1.522 3.137 1.596 0 0 .38-.472.69-.871-1.307-.4-1.8-1.24-1.8-1.24s.102.074.287.179c.01.01.02.021.041.031.031.022.062.032.093.053.257.147.514.262.75.357.422.168.926.336 1.513.452a7.06 7.06 0 0 0 2.664.01 6.666 6.666 0 0 0 1.491-.451c.36-.137.761-.337 1.183-.62 0 0-.514.861-1.862 1.25.309.399.68.85.68.85z\"}}]}]})(props);\n};\nexport function RiDiscordLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.914 14.58a8.998 8.998 0 0 1-.484.104 7.06 7.06 0 0 1-2.664-.01c-.154-.03-.372-.083-.653-.158l-.921 1.197c-2.273-.073-3.137-1.596-3.137-1.596 0-3.381 1.481-6.122 1.481-6.122 1.481-1.133 2.89-1.102 2.89-1.102l.403.525a1.12 1.12 0 0 1 .112-.01 8.527 8.527 0 0 1 2.314.01l.442-.525s1.41-.031 2.89 1.103c0 0 1.482 2.74 1.482 6.121 0 0-.875 1.522-3.148 1.596l-1.007-1.134zM10.076 11C9.475 11 9 11.45 9 12s.485 1 1.076 1c.6 0 1.075-.45 1.075-1 .01-.55-.474-1-1.075-1zm3.848 0c-.6 0-1.075.45-1.075 1s.485 1 1.075 1c.601 0 1.076-.45 1.076-1s-.475-1-1.076-1zM21 23l-4.99-5H19V4H5v14h11.003l.57 2H5a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v19z\"}}]}]})(props);\n};\nexport function RiDisqusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-2.53 0-4.84-.94-6.601-2.488L1.5 20l1.424-3.797C2.33 14.925 2 13.501 2 12 2 6.477 6.477 2 12 2zM8 7v10h3.733l.263-.004c3.375-.103 5.337-2.211 5.337-5.025v-.027l-.003-.215C17.23 8.956 15.21 7 11.79 7H8zm3.831 2.458c1.628 0 2.709.928 2.709 2.529v.028l-.005.183c-.079 1.5-1.138 2.345-2.704 2.345h-1.108V9.458h1.108z\"}}]}]})(props);\n};\nexport function RiDisqusLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.95 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-2.306 0-4.492-.784-6.249-2.192l-4.718.59 1.72-4.586C2.207 14.614 1.95 13.324 1.95 12c0-5.523 4.477-10 10-10zm0 2c-4.418 0-8 3.582-8 8 0 1.178.254 2.318.738 3.362l.176.38-.847 2.26 2.315-.289.338.297C8.12 19.286 9.978 20 11.95 20c4.418 0 8-3.582 8-8s-3.582-8-8-8zM8 7h3.79c3.42 0 5.44 1.956 5.54 4.729l.003.215v.027c0 2.814-1.962 4.922-5.337 5.025l-.263.004H8V7h3.79H8zm3.831 2.458h-1.108v5.085h1.108c1.566 0 2.625-.845 2.704-2.345l.005-.183v-.028c0-1.6-1.08-2.53-2.709-2.53z\"}}]}]})(props);\n};\nexport function RiDoubanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.314 19.138h4.065a.62.62 0 0 1 .621.62v.621a.62.62 0 0 1-.62.621H3.62a.62.62 0 0 1-.62-.62v-.621a.62.62 0 0 1 .62-.621h3.754l-.96-3.104h2.19a.62.62 0 0 1 .59.425l.892 2.679H13.6l1.225-4.035H5.172a.62.62 0 0 1-.62-.62V7.345a.62.62 0 0 1 .62-.62h13.656a.62.62 0 0 1 .62.62v7.138a.62.62 0 0 1-.62.62h-1.289l-1.225 4.035zM3.931 3h16.138a.62.62 0 0 1 .62.62v.621a.62.62 0 0 1-.62.621H3.931a.62.62 0 0 1-.62-.62V3.62A.62.62 0 0 1 3.93 3zM7.19 8.586a.155.155 0 0 0-.156.155v4.035c0 .086.07.155.156.155h9.62c.086 0 .156-.07.156-.155V8.74a.155.155 0 0 0-.156-.155H7.19z\"}}]}]})(props);\n};\nexport function RiDoubanLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.273 15H5V7h14v8h-1.624l-1.3 4H21v2H3v-2h4.612L6.8 16.5l1.902-.618L9.715 19h4.259l1.3-4zM3.5 3h17v2h-17V3zM7 9v4h10V9H7z\"}}]}]})(props);\n};\nexport function RiDribbbleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 0 1 1.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.424 25.424 0 0 0-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.814 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.686 8.686 0 0 1 12 3.475zm-3.633.803a53.903 53.903 0 0 1 3.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 0 1 4.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 0 1-2.19-5.705zM12 20.547a8.482 8.482 0 0 1-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.309 35.309 0 0 1 1.823 6.475 8.4 8.4 0 0 1-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.66-6.084 2.68-.423 5.023.271 5.315.369a8.468 8.468 0 0 1-3.655 5.715z\"}}]}]})(props);\n};\nexport function RiDribbbleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.989 11.572a7.96 7.96 0 0 0-1.573-4.351 9.749 9.749 0 0 1-.92.87 13.157 13.157 0 0 1-3.313 2.01c.167.35.32.689.455 1.009v.003a9.186 9.186 0 0 1 .11.27c1.514-.17 3.11-.108 4.657.101.206.028.4.058.584.088zm-9.385-7.45a46.164 46.164 0 0 1 2.692 4.27c1.223-.482 2.234-1.09 3.048-1.767a7.88 7.88 0 0 0 .796-.755A7.968 7.968 0 0 0 12 4a8.05 8.05 0 0 0-1.396.121zM4.253 9.997a29.21 29.21 0 0 0 2.04-.123 31.53 31.53 0 0 0 4.862-.822 54.365 54.365 0 0 0-2.7-4.227 8.018 8.018 0 0 0-4.202 5.172zm1.53 7.038c.388-.567.898-1.205 1.575-1.899 1.454-1.49 3.17-2.65 5.156-3.29l.062-.018c-.165-.364-.32-.689-.476-.995-1.836.535-3.77.869-5.697 1.042-.94.085-1.783.122-2.403.128a7.967 7.967 0 0 0 1.784 5.032zm9.222 2.38a35.947 35.947 0 0 0-1.632-5.709c-2.002.727-3.597 1.79-4.83 3.058a9.77 9.77 0 0 0-1.317 1.655A7.964 7.964 0 0 0 12 20a7.977 7.977 0 0 0 3.005-.583zm1.873-1.075a7.998 7.998 0 0 0 2.987-4.87c-.34-.085-.771-.17-1.245-.236a12.023 12.023 0 0 0-3.18-.033 39.368 39.368 0 0 1 1.438 5.14zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiDriveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.94 4.146l3.482 6.03-5.94 10.293L2 14.44 7.94 4.146zm2.176 10.294H22l-3.482 6.029H6.635l3.481-6.029zm4.343-1L8.518 3.145h6.964l5.94 10.295H14.46z\"}}]}]})(props);\n};\nexport function RiDriveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9.097 6.15L4.31 14.443l1.755 3.032 4.785-8.29L9.097 6.15zm-1.3 12.324h9.568l1.751-3.034H9.55l-1.752 3.034zm11.314-5.034l-4.786-8.29H10.83l4.787 8.29h3.495zM8.52 3.15h6.96L22 14.444l-3.48 6.03H5.49L2 14.444 8.52 3.15zm3.485 8.036l-1.302 2.254h2.603l-1.301-2.254z\"}}]}]})(props);\n};\nexport function RiDropboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.285 10.668l5.215 3.323-5.252 3.346L12 13.993l-5.248 3.344L1.5 13.99l5.215-3.323L1.5 7.346 6.752 4 12 7.343 17.248 4 22.5 7.346l-5.215 3.322zm-.074 0L12 7.348l-5.211 3.32L12 13.988l5.211-3.32zM6.786 18.446l5.252-3.346 5.252 3.346-5.252 3.346-5.252-3.346z\"}}]}]})(props);\n};\nexport function RiDropboxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.646 17.26l3.392 2.162 3.392-2.161 1.86 1.185-5.252 3.346-5.252-3.346 1.86-1.185zm-.877-8.28l2.393-1.553-2.425-1.574L5.28 7.37 7.77 8.98zm1.84 1.19L12 11.719l2.39-1.547L12 8.619l-2.391 1.552zm4.231 2.74l2.424 1.568 2.45-1.502-2.485-1.612-2.389 1.545zM12 6.234l4.237-2.748L22.46 7.33l-4.392 2.843 4.393 2.85-6.226 3.819L12 14.1l-4.235 2.74-6.23-3.817 4.396-2.851L1.539 7.33l6.224-3.843L12 6.235zm1.837 1.192L16.23 8.98l2.489-1.61-2.456-1.517-2.426 1.574zM10.16 12.91l-2.39-1.546-2.486 1.613 2.451 1.502 2.425-1.569z\"}}]}]})(props);\n};\nexport function RiEdgeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.644 8.586c-.17-.711-.441-1.448-.774-2.021-.771-1.329-1.464-2.237-3.177-3.32C14.98 2.162 13.076 2 12.17 2c-2.415 0-4.211.86-5.525 1.887C3.344 6.47 3 11 3 11s1.221-2.045 3.54-3.526C7.943 6.579 9.941 6 11.568 6 15.885 6 16 10 16 10H9c0-2 1-3 1-3s-5 2-5 7.044c0 .487-.003 1.372.248 2.283.232.843.7 1.705 1.132 2.353 1.221 1.832 3.045 2.614 3.916 2.904.996.332 2.029.416 3.01.416 2.72 0 4.877-.886 5.694-1.275v-4.172c-.758.454-2.679 1.447-5 1.447-5 0-5-4-5-4h12v-2.49s-.039-1.593-.356-2.924z\"}}]}]})(props);\n};\nexport function RiEdgeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.007 14.001A4.559 4.559 0 0 0 8 14.25C8 16.632 9.753 19 13 19c2.373 0 4.528-.655 6-1.553v3.35C17.211 21.564 15.113 22 13 22c-5.502 0-8-3.47-8-7.75 0-3.231 2.041-6 4.943-7.164C8.539 8.663 8 10.341 8 10.996L18 11c0-3.406-2.548-6-6-6-5 0-8.001 3.988-9 5.999C3.29 6.237 7.01 2 12 2c5.2 0 9 4.03 9 9v3H8l.007.001z\"}}]}]})(props);\n};\nexport function RiEvernoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.63 7.754c-.216.201-.546.217-.743.217h-2.11c-.61 0-.974 0-1.22.033-.134.017-.298.084-.381.117-.033.016-.033 0-.017-.016l4.816-4.94c.017-.017.033-.017.017.017a1.734 1.734 0 0 0-.116.382c-.033.249-.033.615-.033 1.23v2.212c0 .2-.017.533-.214.748zm4.682 14.184c-.56-.366-.857-.848-.973-1.147a2.443 2.443 0 0 1-.181-.915 2.513 2.513 0 0 1 2.507-2.51c.412 0 .742.332.742.748a.735.735 0 0 1-.38.648.946.946 0 0 1-.28.1c-.082.017-.396.05-.543.183a.776.776 0 0 0-.298.582.92.92 0 0 0 .264.649c.297.299.693.465 1.122.465a2.036 2.036 0 0 0 2.028-2.045c0-1.014-.676-1.913-1.567-2.311-.132-.067-.346-.117-.544-.167a6.719 6.719 0 0 0-.495-.083c-.693-.084-2.424-.632-2.54-2.178 0 0-.51 2.328-1.534 2.96-.098.05-.23.1-.379.133-.148.033-.312.05-.363.05-1.665.1-3.43-.433-4.65-1.696 0 0-.825-.682-1.253-2.594-.099-.466-.297-1.298-.412-2.08-.05-.281-.067-.498-.083-.698 0-.814.495-1.363 1.121-1.445h3.365c.576 0 .907-.15 1.121-.35.28-.266.347-.649.347-1.098V3.631c.08-.615.627-1.131 1.434-1.131h.396c.165 0 .363.017.544.033.132.017.247.05.445.1 1.006.25 1.22 1.28 1.22 1.28l2.854.5c.907.166 3.15.316 3.578 2.594 1.006 5.42.396 10.675.347 10.675-.71 5.121-4.931 4.871-4.931 4.871a3.426 3.426 0 0 1-2.029-.615zm2.622-10.309c-.033.084-.066.183-.05.233.018.05.051.066.084.083.198.1.527.15 1.006.2.478.05.808.083 1.022.05.033 0 .067-.017.1-.067s.016-.15.016-.233c-.05-.449-.462-.781-1.006-.848-.545-.05-1.006.167-1.172.582z\"}}]}]})(props);\n};\nexport function RiEvernoteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10.5 8.5a1 1 0 0 1-1 1H6.001c-.336 0-.501.261-.501.532 0 1.32.254 2.372.664 3.193.216.433.399.67.523.79.735.76 1.886 1.16 3.092 1.089.095-.006.199-.064.332-.208a1.51 1.51 0 0 0 .214-.293 2 2 0 0 1 2.531-1.073c.693.258 1.277.434 1.813.56.196.046.375.083.586.122-.077-.014.402.074.518.098.34.07.598.146.883.29a5.087 5.087 0 0 1 1.775 1.475c.045-.591.077-1.268.087-2.026a34.182 34.182 0 0 0-.559-6.673c-.074-.398-.236-.562-.663-.718a3.847 3.847 0 0 0-.587-.155c-.147-.028-.65-.11-.693-.118a1273 1273 0 0 1-2.34-.409l-.528-.092a2 2 0 0 1-1.524-1.26 11.467 11.467 0 0 0-.034-.088 5.595 5.595 0 0 0-.702-.036c-.271 0-.388.124-.388.463V8.5zm6.23 11.639c.352-.356.56-.829.587-1.327.054-1.036-.824-2.48-2.317-2.634-.617-.063-1.586-.306-2.842-.774 0 0-.7 1.603-2.26 1.696-1.665.1-3.43-.433-4.65-1.696 0 0-1.748-1.64-1.748-5.372 0-.814.29-1.422.648-1.904.96-1.292 2.505-2.78 4.133-4.304C9 3.15 9.701 2.5 10.888 2.5c2.04 0 2.32.664 2.605 1.414l2.854.499c.907.166 3.15.316 3.578 2.594 1.006 5.42.458 9.87.347 10.675-.71 5.121-4.772 4.871-4.931 4.871-2.059 0-3.178-1.373-3.183-2.677a2.494 2.494 0 0 1 1.038-2.034 2.586 2.586 0 0 1 1.527-.478c.305 0 .687.318.687.753 0 .37-.255.575-.382.645-.223.124-1.122.174-1.122.865 0 .317.35 1.114 1.386 1.114.588 0 1.094-.256 1.437-.602zm-1.796-9.51c.166-.415.627-.632 1.172-.582.544.067.956.4 1.006.848 0 .083.017.183-.017.233-.032.05-.066.067-.1.067-.213.033-.543 0-1.021-.05-.48-.05-.808-.1-1.006-.2-.033-.017-.066-.033-.083-.083s.016-.15.05-.233z\"}}]}]})(props);\n};\nexport function RiFacebookBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.402 21v-6.966h2.333l.349-2.708h-2.682V9.598c0-.784.218-1.319 1.342-1.319h1.434V5.857a19.19 19.19 0 0 0-2.09-.107c-2.067 0-3.482 1.262-3.482 3.58v1.996h-2.338v2.708h2.338V21H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-4.598z\"}}]}]})(props);\n};\nexport function RiFacebookBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19h5V5H5v14h7v-5h-2v-2h2v-1.654c0-1.337.14-1.822.4-2.311A2.726 2.726 0 0 1 13.536 6.9c.382-.205.857-.328 1.687-.381.329-.021.755.005 1.278.08v1.9H16c-.917 0-1.296.043-1.522.164a.727.727 0 0 0-.314.314c-.12.226-.164.45-.164 1.368V12h2.5l-.5 2h-2v5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiFacebookCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.477 2 2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.879V14.89h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.989C18.343 21.129 22 16.99 22 12c0-5.523-4.477-10-10-10z\"}}]}]})(props);\n};\nexport function RiFacebookCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 19.938A8.001 8.001 0 0 0 12 4a8 8 0 0 0-1 15.938V14H9v-2h2v-1.654c0-1.337.14-1.822.4-2.311A2.726 2.726 0 0 1 12.536 6.9c.382-.205.857-.328 1.687-.381.329-.021.755.005 1.278.08v1.9H15c-.917 0-1.296.043-1.522.164a.727.727 0 0 0-.314.314c-.12.226-.164.45-.164 1.368V12h2.5l-.5 2h-2v5.938zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiFacebookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.5h2.5l1-4H14v-2c0-1.03 0-2 2-2h1.5V2.14c-.326-.043-1.557-.14-2.857-.14C11.928 2 10 3.657 10 6.7v2.8H7v4h3V22h4v-8.5z\"}}]}]})(props);\n};\nexport function RiFacebookLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 9h4.5l-.5 2h-4v9h-2v-9H7V9h4V7.128c0-1.783.186-2.43.534-3.082a3.635 3.635 0 0 1 1.512-1.512C13.698 2.186 14.345 2 16.128 2c.522 0 .98.05 1.372.15V4h-1.372c-1.324 0-1.727.078-2.138.298-.304.162-.53.388-.692.692-.22.411-.298.814-.298 2.138V9z\"}}]}]})(props);\n};\nexport function RiFinderFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h18zm-1 2h-8.465c-.69 1.977-1.035 4.644-1.035 8h3c-.115.92-.15 1.878-.107 2.877 1.226-.211 2.704-.777 4.027-1.71l1.135 1.665c-1.642 1.095-3.303 1.779-4.976 2.043.052.37.113.745.184 1.125H20V5zM6.555 14.168l-1.11 1.664C7.602 17.27 9.792 18 12 18v-2c-1.792 0-3.602-.603-5.445-1.832zM17 7c.552 0 1 .448 1 1v1c0 .552-.448 1-1 1s-1-.448-1-1V8c0-.552.448-1 1-1zM7 7c-.552 0-1 .452-1 1v1c0 .552.448 1 1 1s1-.45 1-1V8c0-.552-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiFinderLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h18zM10.48 4.999L4 5v14h8.746c-.062-.344-.116-.684-.163-1.02-.297.013-.491.02-.583.02-2.208 0-4.398-.73-6.555-2.168l1.11-1.664C8.398 15.397 10.208 16 12 16c.133 0 .265-.003.398-.01-.024-.497-.024-1.41.007-1.99H9.5v-1c0-3.275.32-5.94.98-8.001zm2.12 0C11.935 6.582 11.556 9.41 11.51 12h3.123l-.14 1.124c-.101.805-.137 1.645-.108 2.52 1.013-.3 2.031-.79 3.06-1.476l1.11 1.664c-1.32.88-2.652 1.495-3.993 1.84.057.433.13.876.219 1.327L20 19V5l-7.4-.001zM7 7c.552 0 1 .448 1 1v1c0 .552-.448 1-1 1s-1-.448-1-1V8c0-.552.448-1 1-1zm10 0c.552 0 1 .448 1 1v1c0 .552-.448 1-1 1s-1-.448-1-1V8c0-.552.448-1 1-1z\"}}]}]})(props);\n};\nexport function RiFirefoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12c0-1.464.314-2.854.88-4.106.466-.939 1.233-1.874 1.85-2.194-.653 1.283-.973 2.54-1.04 3.383.454-1.5 1.315-2.757 2.52-3.644 2.066-1.519 4.848-1.587 5.956-.62-2.056.707-4.296 3.548-3.803 6.876.08.55.245 1.084.489 1.582-.384-1.01-.418-2.433.202-3.358.692-1.03 1.678-1.248 2.206-1.136-.208-.044-.668.836-.736.991-.173.394-.259.82-.251 1.25a3.395 3.395 0 0 0 1.03 2.38c1.922 1.871 5.023 1.135 6.412-1.002.953-1.471 1.069-3.968-.155-5.952a6.915 6.915 0 0 0-1.084-1.32c-1.85-1.766-4.48-2.57-6.982-2.205-1.106.177-2.047.496-2.824.956C7.755 2.798 9.91 2 12 2z\"}}]}]})(props);\n};\nexport function RiFirefoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12c0-1.464.314-2.854.88-4.106.466-.939 1.233-1.874 1.85-2.194-.653 1.283-.973 2.54-1.04 3.383.454-1.5 1.315-2.757 2.52-3.644 2.066-1.519 4.848-1.587 5.956-.62-2.056.707-4.296 3.548-3.803 6.876.08.55.245 1.084.489 1.582-.384-1.01-.418-2.433.202-3.358.692-1.03 1.678-1.248 2.206-1.136-.208-.044-.668.836-.736.991-.173.394-.259.82-.251 1.25a3.395 3.395 0 0 0 1.03 2.38c1.922 1.871 5.023 1.135 6.412-1.002.953-1.471 1.069-3.968-.155-5.952a6.915 6.915 0 0 0-1.084-1.32c-1.85-1.766-4.48-2.57-6.982-2.205-1.106.177-2.047.496-2.824.956C7.755 2.798 9.91 2 12 2zM6.875 7.705c-2.253.781-3.501 3.17-2.579 6.46a8.004 8.004 0 0 0 7.455 5.831L12 20a8 8 0 0 0 7.985-7.504l.009-.212c-.13.349-.283.674-.463.98l-.14.227c-2.104 3.239-6.681 4.075-9.48 1.348a5.392 5.392 0 0 1-.962-1.257l-.106-.201c-1.736-.387-2.584-1.326-2.543-2.817.027-.991.23-1.96.575-2.86z\"}}]}]})(props);\n};\nexport function RiFlutterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13.503 2.001l-10 10 3.083 3.083 13.08-13.083h-6.163zm-.006 9.198L8.122 16.62 13.494 22h6.189l-5.387-5.4 5.389-5.4h-6.188z\"}}]}]})(props);\n};\nexport function RiFlutterLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.597 10.684h2.828l-5.657 5.658 5.657 5.656h-2.828L8.94 16.34l5.657-5.657zm-.194-8.68h2.829L5.918 13.318l-1.414-1.414 9.9-9.9z\"}}]}]})(props);\n};\nexport function RiGatsbyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zM6.429 17.571c-1.5-1.5-2.286-3.5-2.286-5.428l7.786 7.714c-2-.071-4-.786-5.5-2.286zm7.285 2.072l-9.357-9.357c.786-3.5 3.929-6.143 7.643-6.143 2.643 0 4.929 1.286 6.357 3.214l-1.071.929C16.07 6.643 14.143 5.57 12 5.57c-2.786 0-5.143 1.786-6.071 4.286l8.214 8.214c2.071-.714 3.643-2.5 4.143-4.642h-3.429V12h5c0 3.714-2.643 6.857-6.143 7.643z\"}}]}]})(props);\n};\nexport function RiGatsbyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.751 21.997c-5.221-.128-9.45-4.257-9.736-9.438l-.012-.313 9.748 9.751zM12 2a9.988 9.988 0 0 1 8.193 4.265l-1.638 1.148A8.003 8.003 0 0 0 4.534 9.12L14.88 19.466A8.018 8.018 0 0 0 19.748 14H15.5v-2H22c0 4.726-3.279 8.686-7.685 9.73L2.269 9.686C3.314 5.28 7.274 2 12 2z\"}}]}]})(props);\n};\nexport function RiGithubFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2C6.475 2 2 6.475 2 12a9.994 9.994 0 0 0 6.838 9.488c.5.087.687-.213.687-.476 0-.237-.013-1.024-.013-1.862-2.512.463-3.162-.612-3.362-1.175-.113-.288-.6-1.175-1.025-1.413-.35-.187-.85-.65-.013-.662.788-.013 1.35.725 1.538 1.025.9 1.512 2.338 1.087 2.912.825.088-.65.35-1.087.638-1.337-2.225-.25-4.55-1.113-4.55-4.938 0-1.088.387-1.987 1.025-2.688-.1-.25-.45-1.275.1-2.65 0 0 .837-.262 2.75 1.026a9.28 9.28 0 0 1 2.5-.338c.85 0 1.7.112 2.5.337 1.912-1.3 2.75-1.024 2.75-1.024.55 1.375.2 2.4.1 2.65.637.7 1.025 1.587 1.025 2.687 0 3.838-2.337 4.688-4.562 4.938.362.312.675.912.675 1.85 0 1.337-.013 2.412-.013 2.75 0 .262.188.574.688.474A10.016 10.016 0 0 0 22 12c0-5.525-4.475-10-10-10z\"}}]}]})(props);\n};\nexport function RiGithubLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5.883 18.653c-.3-.2-.558-.455-.86-.816a50.32 50.32 0 0 1-.466-.579c-.463-.575-.755-.84-1.057-.949a1 1 0 0 1 .676-1.883c.752.27 1.261.735 1.947 1.588-.094-.117.34.427.433.539.19.227.33.365.44.438.204.137.587.196 1.15.14.023-.382.094-.753.202-1.095C5.38 15.31 3.7 13.396 3.7 9.64c0-1.24.37-2.356 1.058-3.292-.218-.894-.185-1.975.302-3.192a1 1 0 0 1 .63-.582c.081-.024.127-.035.208-.047.803-.123 1.937.17 3.415 1.096A11.731 11.731 0 0 1 12 3.315c.912 0 1.818.104 2.684.308 1.477-.933 2.613-1.226 3.422-1.096.085.013.157.03.218.05a1 1 0 0 1 .616.58c.487 1.216.52 2.297.302 3.19.691.936 1.058 2.045 1.058 3.293 0 3.757-1.674 5.665-4.642 6.392.125.415.19.879.19 1.38a300.492 300.492 0 0 1-.012 2.716 1 1 0 0 1-.019 1.958c-1.139.228-1.983-.532-1.983-1.525l.002-.446.005-.705c.005-.708.007-1.338.007-1.998 0-.697-.183-1.152-.425-1.36-.661-.57-.326-1.655.54-1.752 2.967-.333 4.337-1.482 4.337-4.66 0-.955-.312-1.744-.913-2.404a1 1 0 0 1-.19-1.045c.166-.414.237-.957.096-1.614l-.01.003c-.491.139-1.11.44-1.858.949a1 1 0 0 1-.833.135A9.626 9.626 0 0 0 12 5.315c-.89 0-1.772.119-2.592.35a1 1 0 0 1-.83-.134c-.752-.507-1.374-.807-1.868-.947-.144.653-.073 1.194.092 1.607a1 1 0 0 1-.189 1.045C6.016 7.89 5.7 8.694 5.7 9.64c0 3.172 1.371 4.328 4.322 4.66.865.097 1.201 1.177.544 1.748-.192.168-.429.732-.429 1.364v3.15c0 .986-.835 1.725-1.96 1.528a1 1 0 0 1-.04-1.962v-.99c-.91.061-1.662-.088-2.254-.485z\"}}]}]})(props);\n};\nexport function RiGitlabFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.868 2.75L8 10h8l2.132-7.25a.4.4 0 0 1 .765-.01l3.495 10.924a.5.5 0 0 1-.173.55L12 22 1.78 14.214a.5.5 0 0 1-.172-.55L5.103 2.74a.4.4 0 0 1 .765.009z\"}}]}]})(props);\n};\nexport function RiGitlabLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5.68 7.314l-1.82 5.914L12 19.442l8.14-6.214-1.82-5.914L16.643 11H7.356L5.681 7.314zM15.357 9l2.888-6.354a.4.4 0 0 1 .747.048l3.367 10.945a.5.5 0 0 1-.174.544L12 21.958 1.816 14.183a.5.5 0 0 1-.174-.544L5.009 2.694a.4.4 0 0 1 .747-.048L8.644 9h6.712z\"}}]}]})(props);\n};\nexport function RiGoogleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.064 7.51A9.996 9.996 0 0 1 12 2c2.695 0 4.959.99 6.69 2.605l-2.867 2.868C14.786 6.482 13.468 5.977 12 5.977c-2.605 0-4.81 1.76-5.595 4.123-.2.6-.314 1.24-.314 1.9 0 .66.114 1.3.314 1.9.786 2.364 2.99 4.123 5.595 4.123 1.345 0 2.49-.355 3.386-.955a4.6 4.6 0 0 0 1.996-3.018H12v-3.868h9.418c.118.654.182 1.336.182 2.045 0 3.046-1.09 5.61-2.982 7.35C16.964 21.105 14.7 22 12 22A9.996 9.996 0 0 1 2 12c0-1.614.386-3.14 1.064-4.49z\"}}]}]})(props);\n};\nexport function RiGoogleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11h8.533c.044.385.067.78.067 1.184 0 2.734-.98 5.036-2.678 6.6-1.485 1.371-3.518 2.175-5.942 2.175A8.976 8.976 0 0 1 3 11.98 8.976 8.976 0 0 1 11.98 3c2.42 0 4.453.89 6.008 2.339L16.526 6.8C15.368 5.681 13.803 5 12 5a7 7 0 1 0 0 14c3.526 0 6.144-2.608 6.577-6H12v-2z\"}}]}]})(props);\n};\nexport function RiGooglePlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.609 1.814L13.792 12 3.61 22.186a.996.996 0 0 1-.61-.92V2.734a1 1 0 0 1 .609-.92zm10.89 10.893l2.302 2.302-10.937 6.333 8.635-8.635zm3.199-3.198l2.807 1.626a1 1 0 0 1 0 1.73l-2.808 1.626L15.206 12l2.492-2.491zM5.864 2.658L16.802 8.99l-2.303 2.303-8.635-8.635z\"}}]}]})(props);\n};\nexport function RiGooglePlayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.734a1 1 0 0 1 .501.135l16.004 9.266a1 1 0 0 1 0 1.73L4.501 22.131A1 1 0 0 1 3 21.266V2.734a1 1 0 0 1 1-1zm8.292 11.68l-4.498 4.498 5.699-3.299-1.2-1.2zM5 6.118v11.76l5.88-5.88-5.88-5.88zm10.284 4.302L13.706 12l1.578 1.577L18.008 12l-2.725-1.579zm-7.49-4.336l4.5 4.5 1.199-1.2-5.699-3.3z\"}}]}]})(props);\n};\nexport function RiHonorOfKingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.158 4.258c.034 3.5.591 4.811.788 6.701.301 2.894-.657 5.894-2.875 8.112-3.666 3.666-9.471 3.89-13.4.673l2.852-2.853c2.344 1.67 5.617 1.454 7.72-.648 2.102-2.103 2.318-5.377.648-7.72l4.267-4.265zm-2.83-.002l-2.851 2.853c-2.344-1.67-5.617-1.454-7.72.648-2.102 2.103-2.318 5.376-.648 7.72l-4.267 4.265c-.034-3.5-.591-4.811-.788-6.701-.301-2.894.657-5.894 2.875-8.112 3.666-3.666 9.471-3.89 13.4-.673zM12 8c2.21 0 4 1.79 4 4s-1.79 4-4 4-4-1.79-4-4 1.79-4 4-4zm0 2.5c-.828 0-1.5.672-1.5 1.5s.672 1.5 1.5 1.5 1.5-.672 1.5-1.5-.672-1.5-1.5-1.5z\"}}]}]})(props);\n};\nexport function RiHonorOfKingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.328 4.256l-1.423 1.423c-3.138-2.442-7.677-2.22-10.562.664-2.374 2.374-2.944 5.868-1.71 8.78l2.417-2.417c-.213-1.503.258-3.085 1.414-4.242 1.71-1.71 4.352-1.922 6.293-.636l-1.464 1.464c-1.115-.532-2.49-.337-3.414.587-.924.923-1.12 2.299-.587 3.414l-6.45 6.45c-.034-3.5-.591-4.812-.788-6.702-.301-2.894.657-5.894 2.875-8.112 3.666-3.666 9.471-3.89 13.4-.673zm2.83.002c.034 3.5.591 4.811.788 6.701.301 2.894-.657 5.894-2.875 8.112-3.666 3.666-9.471 3.89-13.4.673l1.424-1.423c3.138 2.442 7.677 2.22 10.562-.664 2.374-2.374 2.944-5.868 1.71-8.78l-2.417 2.417c.213 1.503-.258 3.085-1.414 4.242-1.71 1.71-4.352 1.922-6.293.636l1.464-1.464c1.115.532 2.49.337 3.414-.587.924-.923 1.12-2.299.587-3.414l6.45-6.45z\"}}]}]})(props);\n};\nexport function RiIeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.612 20.12c-2.744 1.49-5.113 1.799-6.422.49-1.344-1.34-.628-4.851 1.313-8.373A23.204 23.204 0 0 1 7.127 7.32c.187-.187 1.125-1.124 1.187-1.124 0 0-.5.313-.562.313-1.95 1.095-3.663 3.08-4.037 3.525a9.004 9.004 0 0 1 9.468-7.009c3.095-1.402 5.974-1.726 7.192-.51 1.125 1.123 1.062 2.995.125 5.242-.01.021-.018.043-.027.064A8.96 8.96 0 0 1 21.5 12c0 .38-.023.753-.069 1.12h-.804a4.104 4.104 0 0 1-.142.003H8.689v.187c.062 1.997 1.812 3.744 3.937 3.744 1.5 0 2.937-.811 3.562-1.997h4.78A9.003 9.003 0 0 1 8.612 20.12zm-.607-.321a9.03 9.03 0 0 1-3.972-4.742c-1.161 2.282-1.46 4.19-.469 5.18.813.812 2.438.624 4.438-.436l.003-.002zM20.172 7.292a8.19 8.19 0 0 1 .015-.034c.75-1.622.813-2.994.125-3.806-.869-.868-2.54-.75-4.522.168a9.032 9.032 0 0 1 4.382 3.672zm-3.609 3.46v-.061c-.125-2.06-1.75-3.62-3.75-3.62-2.125 0-3.936 1.685-4.061 3.62v.062h7.811z\"}}]}]})(props);\n};\nexport function RiIeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18.159 10A6.002 6.002 0 0 0 6.84 10H18.16zM6.583 13a6.002 6.002 0 0 0 11.08 2.057h3.304A9.003 9.003 0 0 1 8.612 20.12c-2.744 1.491-5.113 1.8-6.422.491-1.344-1.34-.628-4.851 1.313-8.373a23.624 23.624 0 0 1 2.499-3.665c.359-.433.735-.852 1.125-1.252-.275.055-1.88.851-3.412 2.714a9.004 9.004 0 0 1 9.468-7.009c3.095-1.402 5.974-1.726 7.192-.51 1.125 1.123 1.062 2.995.125 5.242-.01.021-.018.043-.027.064A8.96 8.96 0 0 1 21.5 12c0 .338-.019.672-.055 1H6.583zm1.422 6.799a9.03 9.03 0 0 1-3.972-4.742c-1.161 2.282-1.46 4.19-.469 5.18.813.812 2.438.624 4.438-.436l.003-.002zM20.172 7.292a8.19 8.19 0 0 1 .015-.034c.75-1.622.813-2.994.125-3.806-.869-.868-2.54-.75-4.522.168a9.032 9.032 0 0 1 4.382 3.672z\"}}]}]})(props);\n};\nexport function RiInstagramFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c2.717 0 3.056.01 4.122.06 1.065.05 1.79.217 2.428.465.66.254 1.216.598 1.772 1.153a4.908 4.908 0 0 1 1.153 1.772c.247.637.415 1.363.465 2.428.047 1.066.06 1.405.06 4.122 0 2.717-.01 3.056-.06 4.122-.05 1.065-.218 1.79-.465 2.428a4.883 4.883 0 0 1-1.153 1.772 4.915 4.915 0 0 1-1.772 1.153c-.637.247-1.363.415-2.428.465-1.066.047-1.405.06-4.122.06-2.717 0-3.056-.01-4.122-.06-1.065-.05-1.79-.218-2.428-.465a4.89 4.89 0 0 1-1.772-1.153 4.904 4.904 0 0 1-1.153-1.772c-.248-.637-.415-1.363-.465-2.428C2.013 15.056 2 14.717 2 12c0-2.717.01-3.056.06-4.122.05-1.066.217-1.79.465-2.428a4.88 4.88 0 0 1 1.153-1.772A4.897 4.897 0 0 1 5.45 2.525c.638-.248 1.362-.415 2.428-.465C8.944 2.013 9.283 2 12 2zm0 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm6.5-.25a1.25 1.25 0 0 0-2.5 0 1.25 1.25 0 0 0 2.5 0zM12 9a3 3 0 1 1 0 6 3 3 0 0 1 0-6z\"}}]}]})(props);\n};\nexport function RiInstagramLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0-2a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm6.5-.25a1.25 1.25 0 0 1-2.5 0 1.25 1.25 0 0 1 2.5 0zM12 4c-2.474 0-2.878.007-4.029.058-.784.037-1.31.142-1.798.332-.434.168-.747.369-1.08.703a2.89 2.89 0 0 0-.704 1.08c-.19.49-.295 1.015-.331 1.798C4.006 9.075 4 9.461 4 12c0 2.474.007 2.878.058 4.029.037.783.142 1.31.331 1.797.17.435.37.748.702 1.08.337.336.65.537 1.08.703.494.191 1.02.297 1.8.333C9.075 19.994 9.461 20 12 20c2.474 0 2.878-.007 4.029-.058.782-.037 1.309-.142 1.797-.331.433-.169.748-.37 1.08-.702.337-.337.538-.65.704-1.08.19-.493.296-1.02.332-1.8.052-1.104.058-1.49.058-4.029 0-2.474-.007-2.878-.058-4.029-.037-.782-.142-1.31-.332-1.798a2.911 2.911 0 0 0-.703-1.08 2.884 2.884 0 0 0-1.08-.704c-.49-.19-1.016-.295-1.798-.331C14.925 4.006 14.539 4 12 4zm0-2c2.717 0 3.056.01 4.122.06 1.065.05 1.79.217 2.428.465.66.254 1.216.598 1.772 1.153a4.908 4.908 0 0 1 1.153 1.772c.247.637.415 1.363.465 2.428.047 1.066.06 1.405.06 4.122 0 2.717-.01 3.056-.06 4.122-.05 1.065-.218 1.79-.465 2.428a4.883 4.883 0 0 1-1.153 1.772 4.915 4.915 0 0 1-1.772 1.153c-.637.247-1.363.415-2.428.465-1.066.047-1.405.06-4.122.06-2.717 0-3.056-.01-4.122-.06-1.065-.05-1.79-.218-2.428-.465a4.89 4.89 0 0 1-1.772-1.153 4.904 4.904 0 0 1-1.153-1.772c-.248-.637-.415-1.363-.465-2.428C2.013 15.056 2 14.717 2 12c0-2.717.01-3.056.06-4.122.05-1.066.217-1.79.465-2.428a4.88 4.88 0 0 1 1.153-1.772A4.897 4.897 0 0 1 5.45 2.525c.638-.248 1.362-.415 2.428-.465C8.944 2.013 9.283 2 12 2z\"}}]}]})(props);\n};\nexport function RiInvisionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm2.988 11.065c-.06.267-.09.555-.09.79 0 .927.482 1.542 1.508 1.542.851 0 1.541-.526 2.038-1.375l-.303 1.267h1.69l.966-4.031c.241-1.02.71-1.55 1.419-1.55.558 0 .905.36.905.957 0 .173-.015.361-.075.565l-.498 1.853a2.89 2.89 0 0 0-.106.785c0 .88.498 1.523 1.54 1.523.89 0 1.6-.596 1.992-2.025l-.664-.267c-.332.958-.62 1.13-.846 1.13-.226 0-.347-.156-.347-.47 0-.141.03-.298.076-.487l.483-1.805c.12-.424.166-.8.166-1.145 0-1.35-.785-2.055-1.736-2.055-.89 0-1.796.835-2.248 1.715l.331-1.579h-2.58l-.363 1.39h1.208l-.744 3.098c-.583 1.35-1.656 1.372-1.79 1.34-.222-.051-.363-.139-.363-.438 0-.172.03-.42.106-.718l1.132-4.672H6.927l-.362 1.39h1.192l-.77 3.272zm1.637-5.44a1.125 1.125 0 1 0 0-2.25 1.125 1.125 0 0 0 0 2.25z\"}}]}]})(props);\n};\nexport function RiInvisionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm1.988 9.065l.77-3.271H6.564l.362-1.39h2.868l-1.132 4.67a3.071 3.071 0 0 0-.106.72c0 .298.141.386.362.437.135.032 1.208.01 1.791-1.34l.744-3.097h-1.208l.363-1.39h2.58l-.331 1.578c.452-.88 1.358-1.715 2.248-1.715.95 0 1.736.704 1.736 2.055 0 .345-.046.721-.166 1.145l-.483 1.805a2.159 2.159 0 0 0-.076.487c0 .314.121.47.347.47.227 0 .514-.172.846-1.13l.664.267c-.393 1.429-1.102 2.025-1.993 2.025-1.041 0-1.539-.643-1.539-1.523 0-.25.03-.518.106-.785l.498-1.853c.06-.204.075-.392.075-.565 0-.596-.347-.958-.905-.958-.71 0-1.178.53-1.419 1.55l-.966 4.032h-1.69l.303-1.267c-.497.85-1.187 1.375-2.038 1.375-1.026 0-1.509-.615-1.509-1.542 0-.235.03-.523.09-.79zm1.637-5.44a1.125 1.125 0 1 1 0-2.25 1.125 1.125 0 0 1 0 2.25z\"}}]}]})(props);\n};\nexport function RiKakaoTalkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c5.799 0 10.5 3.664 10.5 8.185 0 4.52-4.701 8.184-10.5 8.184a13.5 13.5 0 0 1-1.727-.11l-4.408 2.883c-.501.265-.678.236-.472-.413l.892-3.678c-2.88-1.46-4.785-3.99-4.785-6.866C1.5 6.665 6.201 3 12 3zm5.907 8.06l1.47-1.424a.472.472 0 0 0-.656-.678l-1.928 1.866V9.282a.472.472 0 0 0-.944 0v2.557a.471.471 0 0 0 0 .222V13.5a.472.472 0 0 0 .944 0v-1.363l.427-.413 1.428 2.033a.472.472 0 1 0 .773-.543l-1.514-2.155zm-2.958 1.924h-1.46V9.297a.472.472 0 0 0-.943 0v4.159c0 .26.21.472.471.472h1.932a.472.472 0 1 0 0-.944zm-5.857-1.092l.696-1.707.638 1.707H9.092zm2.523.488l.002-.016a.469.469 0 0 0-.127-.32l-1.046-2.8a.69.69 0 0 0-.627-.474.696.696 0 0 0-.653.447l-1.661 4.075a.472.472 0 0 0 .874.357l.33-.813h2.07l.299.8a.472.472 0 1 0 .884-.33l-.345-.926zM8.293 9.302a.472.472 0 0 0-.471-.472H4.577a.472.472 0 1 0 0 .944h1.16v3.736a.472.472 0 0 0 .944 0V9.774h1.14c.261 0 .472-.212.472-.472z\"}}]}]})(props);\n};\nexport function RiKakaoTalkLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5.678 18.123C3.092 16.566 1.5 14.112 1.5 11.405 1.5 6.701 6.248 3 12 3s10.5 3.701 10.5 8.405c0 4.704-4.748 8.405-10.5 8.405-.442 0-.882-.022-1.318-.065l-3.765 2.458c-.615.326-.957.425-1.485.066-.62-.424-.596-.892-.381-1.56l.627-2.586zM3.5 11.405c0 2.132 1.418 4.123 3.781 5.32l.706.359-.186.77-.401 1.648 2.8-1.83.366.046c.473.061.952.092 1.434.092 4.741 0 8.5-2.93 8.5-6.405S16.741 5 12 5s-8.5 2.93-8.5 6.405zm14.407-.346l1.514 2.155a.472.472 0 1 1-.773.543l-1.428-2.033-.427.413V13.5a.472.472 0 0 1-.944 0v-1.439a.471.471 0 0 1 0-.222V9.282a.472.472 0 0 1 .944 0v1.542l1.928-1.866a.472.472 0 0 1 .656.678l-1.47 1.423zm-2.958 1.925a.472.472 0 0 1 0 .944h-1.932a.472.472 0 0 1-.471-.472V9.297a.472.472 0 1 1 .943 0v3.687h1.46zm-5.857-1.092h1.334l-.638-1.707-.696 1.707zm2.523.488l.345.925a.472.472 0 1 1-.884.33l-.298-.799h-2.07l-.331.813a.472.472 0 1 1-.874-.357l1.66-4.075a.696.696 0 0 1 .654-.447.69.69 0 0 1 .627.474l1.046 2.8a.469.469 0 0 1 .127.32l-.002.016zM8.293 9.302c0 .26-.21.472-.471.472h-1.14v3.736a.472.472 0 0 1-.945 0V9.774h-1.16a.472.472 0 1 1 0-.944h3.245c.26 0 .471.211.471.472z\"}}]}]})(props);\n};\nexport function RiLineFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18.663 10.84a.526.526 0 0 1-.526.525h-1.462v.938h1.462a.525.525 0 1 1 0 1.049H16.15a.526.526 0 0 1-.522-.524V8.852c0-.287.235-.525.525-.525h1.988a.525.525 0 0 1-.003 1.05h-1.462v.938h1.462c.291 0 .526.237.526.525zm-4.098 2.485a.538.538 0 0 1-.166.025.515.515 0 0 1-.425-.208l-2.036-2.764v2.45a.525.525 0 0 1-1.047 0V8.852a.522.522 0 0 1 .52-.523c.162 0 .312.086.412.211l2.052 2.775V8.852c0-.287.235-.525.525-.525.287 0 .525.238.525.525v3.976a.524.524 0 0 1-.36.497zm-4.95.027a.526.526 0 0 1-.523-.524V8.852c0-.287.236-.525.525-.525.289 0 .524.238.524.525v3.976a.527.527 0 0 1-.526.524zm-1.53 0H6.098a.528.528 0 0 1-.525-.524V8.852a.527.527 0 0 1 1.05 0v3.45h1.464a.525.525 0 0 1 0 1.05zM12 2.572c-5.513 0-10 3.643-10 8.118 0 4.01 3.558 7.369 8.363 8.007.325.068.769.215.881.492.1.25.066.638.032.9l-.137.85c-.037.25-.2.988.874.537 1.076-.449 5.764-3.398 7.864-5.812C21.313 14.089 22 12.477 22 10.69c0-4.475-4.488-8.118-10-8.118z\"}}]}]})(props);\n};\nexport function RiLineLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 10.69c0 1.787-.687 3.4-2.123 4.974-2.1 2.414-6.788 5.363-7.864 5.812-1.074.451-.911-.287-.874-.537l.137-.85c.034-.262.068-.65-.032-.9-.112-.277-.556-.424-.881-.492C5.558 18.059 2 14.7 2 10.69c0-4.475 4.487-8.118 10-8.118 5.512 0 10 3.643 10 8.118zm-3.6 3.625c1.113-1.22 1.6-2.361 1.6-3.625 0-3.268-3.51-6.118-8-6.118s-8 2.85-8 6.118c0 2.905 2.728 5.507 6.626 6.024l.147.026c1.078.226 1.884.614 2.329 1.708l.036.096c1.806-1.176 4.174-2.98 5.261-4.229zm-.262-4a.526.526 0 0 1 0 1.05h-1.463v.938h1.462a.525.525 0 1 1 0 1.049H16.15a.526.526 0 0 1-.522-.524V8.852c0-.287.235-.525.525-.525h1.988a.525.525 0 0 1-.003 1.05h-1.462v.938h1.462zm-3.213 2.513a.524.524 0 0 1-.526.522.515.515 0 0 1-.425-.208l-2.036-2.764v2.45a.525.525 0 0 1-1.047 0V8.852a.522.522 0 0 1 .52-.523c.162 0 .312.086.412.211l2.052 2.775V8.852c0-.287.235-.525.525-.525.287 0 .525.238.525.525v3.976zm-4.784 0a.527.527 0 0 1-.526.524.526.526 0 0 1-.523-.524V8.852c0-.287.236-.525.525-.525.289 0 .524.238.524.525v3.976zm-2.055.524H6.097a.528.528 0 0 1-.525-.524V8.852a.527.527 0 0 1 1.05 0v3.45h1.464a.525.525 0 0 1 0 1.05z\"}}]}]})(props);\n};\nexport function RiLinkedinBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18.335 18.339H15.67v-4.177c0-.996-.02-2.278-1.39-2.278-1.389 0-1.601 1.084-1.601 2.205v4.25h-2.666V9.75h2.56v1.17h.035c.358-.674 1.228-1.387 2.528-1.387 2.7 0 3.2 1.778 3.2 4.091v4.715zM7.003 8.575a1.546 1.546 0 0 1-1.548-1.549 1.548 1.548 0 1 1 1.547 1.549zm1.336 9.764H5.666V9.75H8.34v8.589zM19.67 3H4.329C3.593 3 3 3.58 3 4.297v15.406C3 20.42 3.594 21 4.328 21h15.338C20.4 21 21 20.42 21 19.703V4.297C21 3.58 20.4 3 19.666 3h.003z\"}}]}]})(props);\n};\nexport function RiLinkedinBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm2.5 4a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm-1 1h2v7.5h-2V10zm5.5.43c.584-.565 1.266-.93 2-.93 2.071 0 3.5 1.679 3.5 3.75v4.25h-2v-4.25a1.75 1.75 0 0 0-3.5 0v4.25h-2V10h2v.43z\"}}]}]})(props);\n};\nexport function RiLinkedinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M6.94 5a2 2 0 1 1-4-.002 2 2 0 0 1 4 .002zM7 8.48H3V21h4V8.48zm6.32 0H9.34V21h3.94v-6.57c0-3.66 4.77-4 4.77 0V21H22v-7.93c0-6.17-7.06-5.94-8.72-2.91l.04-1.68z\"}}]}]})(props);\n};\nexport function RiLinkedinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9.55C12.917 8.613 14.111 8 15.5 8a5.5 5.5 0 0 1 5.5 5.5V21h-2v-7.5a3.5 3.5 0 0 0-7 0V21h-2V8.5h2v1.05zM5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm-1 2h2V21H4V8.5z\"}}]}]})(props);\n};\nexport function RiMastercardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6.654a6.786 6.786 0 0 1 2.596 5.344A6.786 6.786 0 0 1 12 17.34a6.786 6.786 0 0 1-2.596-5.343A6.786 6.786 0 0 1 12 6.654zm-.87-.582A7.783 7.783 0 0 0 8.4 12a7.783 7.783 0 0 0 2.728 5.926 6.798 6.798 0 1 1 .003-11.854zm1.742 11.854A7.783 7.783 0 0 0 15.6 12a7.783 7.783 0 0 0-2.73-5.928 6.798 6.798 0 1 1 .003 11.854z\"}}]}]})(props);\n};\nexport function RiMastercardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 18.294a7.3 7.3 0 1 1 0-12.588 7.3 7.3 0 1 1 0 12.588zm1.702-1.384a5.3 5.3 0 1 0 0-9.82A7.273 7.273 0 0 1 15.6 12c0 1.89-.719 3.614-1.898 4.91zm-3.404-9.82a5.3 5.3 0 1 0 0 9.82A7.273 7.273 0 0 1 8.4 12c0-1.89.719-3.614 1.898-4.91zM12 8.205A5.284 5.284 0 0 0 10.4 12c0 1.488.613 2.832 1.6 3.795A5.284 5.284 0 0 0 13.6 12 5.284 5.284 0 0 0 12 8.205z\"}}]}]})(props);\n};\nexport function RiMastodonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21.258 13.99c-.274 1.41-2.456 2.955-4.962 3.254-1.306.156-2.593.3-3.965.236-2.243-.103-4.014-.535-4.014-.535 0 .218.014.426.04.62.292 2.215 2.196 2.347 4 2.41 1.82.062 3.44-.45 3.44-.45l.076 1.646s-1.274.684-3.542.81c-1.25.068-2.803-.032-4.612-.51-3.923-1.039-4.598-5.22-4.701-9.464-.031-1.26-.012-2.447-.012-3.44 0-4.34 2.843-5.611 2.843-5.611 1.433-.658 3.892-.935 6.45-.956h.062c2.557.02 5.018.298 6.451.956 0 0 2.843 1.272 2.843 5.61 0 0 .036 3.201-.397 5.424zm-2.956-5.087c0-1.074-.273-1.927-.822-2.558-.567-.631-1.308-.955-2.229-.955-1.065 0-1.871.41-2.405 1.228l-.518.87-.519-.87C11.276 5.8 10.47 5.39 9.405 5.39c-.921 0-1.663.324-2.229.955-.549.631-.822 1.484-.822 2.558v5.253h2.081V9.057c0-1.075.452-1.62 1.357-1.62 1 0 1.501.647 1.501 1.927v2.79h2.07v-2.79c0-1.28.5-1.927 1.5-1.927.905 0 1.358.545 1.358 1.62v5.1h2.08V8.902z\"}}]}]})(props);\n};\nexport function RiMastodonLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3.018 12.008c-.032-1.26-.012-2.448-.012-3.442 0-4.338 2.843-5.61 2.843-5.61 1.433-.658 3.892-.935 6.45-.956h.062c2.557.02 5.018.298 6.451.956 0 0 2.843 1.272 2.843 5.61 0 0 .036 3.201-.396 5.424-.275 1.41-2.457 2.955-4.963 3.254-1.306.156-2.593.3-3.965.236-2.243-.103-4.014-.535-4.014-.535 0 .218.014.426.04.62.084.633.299 1.095.605 1.435.766.85 2.106.93 3.395.974 1.82.063 3.44-.449 3.44-.449l.076 1.646s-1.274.684-3.542.81c-1.25.068-2.803-.032-4.612-.51-1.532-.406-2.568-1.29-3.27-2.471-1.093-1.843-1.368-4.406-1.431-6.992zm3.3 4.937v-2.548l2.474.605a20.54 20.54 0 0 0 1.303.245c.753.116 1.538.2 2.328.235 1.019.047 1.901-.017 3.636-.224 1.663-.199 3.148-1.196 3.236-1.65.082-.422.151-.922.206-1.482a33.6 33.6 0 0 0 .137-2.245c.015-.51.02-.945.017-1.256v-.059c0-1.43-.369-2.438-.963-3.158a3.008 3.008 0 0 0-.584-.548c-.09-.064-.135-.089-.13-.087-1.013-.465-3.093-.752-5.617-.773h-.046c-2.54.02-4.62.308-5.65.782.023-.01-.021.014-.112.078a3.008 3.008 0 0 0-.584.548c-.594.72-.963 1.729-.963 3.158 0 .232 0 .397-.003.875a77.483 77.483 0 0 0 .014 2.518c.054 2.197.264 3.835.7 5.041.212.587.472 1.07.78 1.45a5.7 5.7 0 0 1-.18-1.505zM8.084 6.37a1.143 1.143 0 1 1 0 2.287 1.143 1.143 0 0 1 0-2.287z\"}}]}]})(props);\n};\nexport function RiMediumFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm13.3 12.94c-.1-.05-.15-.2-.15-.301V8.006c0-.1.05-.25.15-.351l.955-1.105V6.5H14.84l-2.56 6.478L9.366 6.5H5.852v.05l.903 1.256c.201.2.251.502.251.753v5.523c.05.302 0 .653-.15.954L5.5 16.894v.05h3.616v-.05L7.76 15.087c-.15-.302-.201-.603-.15-.954V9.11c.05.1.1.1.15.301l3.414 7.633h.05L14.54 8.76c-.05.3-.05.652-.05.904v5.925c0 .15-.05.25-.15.351l-1.005.954v.05h4.921v-.05l-.954-.954z\"}}]}]})(props);\n};\nexport function RiMediumLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm12.3 10.94l.955.954v.05h-4.921v-.05l1.004-.954c.1-.1.15-.2.15-.351V9.664c0-.252 0-.603.051-.904l-3.314 8.285h-.05L7.76 9.412c-.05-.2-.1-.2-.15-.3v5.02c-.051.352 0 .653.15.955l1.356 1.807v.05H5.5v-.05l1.356-1.858c.15-.3.2-.652.15-.954V8.56c0-.251-.05-.553-.25-.753L5.851 6.55V6.5h3.515l2.912 6.478L14.84 6.5h3.415v.05l-.954 1.105c-.1.1-.15.251-.15.351v7.633c0 .1.05.251.15.301z\"}}]}]})(props);\n};\nexport function RiMessengerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.634 0 10 4.127 10 9.7 0 5.573-4.366 9.7-10 9.7a10.894 10.894 0 0 1-2.895-.384.8.8 0 0 0-.534.039l-1.984.876a.8.8 0 0 1-1.123-.707l-.055-1.78a.797.797 0 0 0-.268-.57C3.195 17.135 2 14.617 2 11.7 2 6.127 6.367 2 12 2zM5.995 14.537c-.282.447.268.951.689.631l3.155-2.394a.6.6 0 0 1 .723 0l2.337 1.75a1.5 1.5 0 0 0 2.169-.4l2.937-4.66c.282-.448-.268-.952-.689-.633l-3.155 2.396a.6.6 0 0 1-.723 0l-2.337-1.75a1.5 1.5 0 0 0-2.169.4l-2.937 4.66z\"}}]}]})(props);\n};\nexport function RiMessengerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M7.764 19.225c.59-.26 1.25-.309 1.868-.139.77.21 1.565.316 2.368.314 4.585 0 8-3.287 8-7.7S16.585 4 12 4s-8 3.287-8 7.7c0 2.27.896 4.272 2.466 5.676a2.8 2.8 0 0 1 .942 2.006l.356-.157zM12 2c5.634 0 10 4.127 10 9.7 0 5.573-4.366 9.7-10 9.7a10.894 10.894 0 0 1-2.895-.384.8.8 0 0 0-.534.039l-1.984.876a.8.8 0 0 1-1.123-.707l-.055-1.78a.797.797 0 0 0-.268-.57C3.195 17.135 2 14.617 2 11.7 2 6.127 6.367 2 12 2zM5.995 14.537l2.937-4.66a1.5 1.5 0 0 1 2.17-.4l2.336 1.75a.6.6 0 0 0 .723 0l3.155-2.396c.421-.319.971.185.689.633l-2.937 4.66a1.5 1.5 0 0 1-2.17.4l-2.336-1.75a.6.6 0 0 0-.723 0l-3.155 2.395c-.421.319-.971-.185-.689-.633z\"}}]}]})(props);\n};\nexport function RiMicrosoftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 3v8.5H3V3h8.5zm0 18H3v-8.5h8.5V21zm1-18H21v8.5h-8.5V3zm8.5 9.5V21h-8.5v-8.5H21z\"}}]}]})(props);\n};\nexport function RiMicrosoftLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5H5v6h6V5zm2 0v6h6V5h-6zm6 8h-6v6h6v-6zm-8 6v-6H5v6h6zM3 3h18v18H3V3z\"}}]}]})(props);\n};\nexport function RiMiniProgramFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.84 12.691l-.067.02a1.522 1.522 0 0 1-.414.062c-.61 0-.954-.412-.77-.921.136-.372.491-.686.925-.831.672-.245 1.142-.804 1.142-1.455 0-.877-.853-1.587-1.905-1.587s-1.904.71-1.904 1.587v4.868c0 1.17-.679 2.197-1.694 2.778a3.829 3.829 0 0 1-1.904.502c-1.984 0-3.598-1.471-3.598-3.28 0-.576.164-1.117.451-1.587.444-.73 1.184-1.287 2.07-1.541a1.55 1.55 0 0 1 .46-.073c.612 0 .958.414.773.924-.126.347-.466.645-.861.803a2.162 2.162 0 0 0-.139.052c-.628.26-1.061.798-1.061 1.422 0 .877.853 1.587 1.905 1.587s1.904-.71 1.904-1.587V9.566c0-1.17.679-2.197 1.694-2.778a3.829 3.829 0 0 1 1.904-.502c1.984 0 3.598 1.471 3.598 3.28 0 .576-.164 1.117-.451 1.587-.442.726-1.178 1.282-2.058 1.538zM2 12c0 5.523 4.477 10 10 10s10-4.477 10-10S17.523 2 12 2 2 6.477 2 12z\"}}]}]})(props);\n};\nexport function RiMiniProgramLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm1-6a3.5 3.5 0 1 1-4.977-3.174 1 1 0 1 1 .845 1.813A1.5 1.5 0 1 0 11 14v-4a3.5 3.5 0 1 1 4.977 3.174 1 1 0 0 1-.845-1.813A1.5 1.5 0 1 0 13 10v4z\"}}]}]})(props);\n};\nexport function RiNeteaseCloudMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1.086-10.432c.24-.84 1.075-1.541 1.99-1.648.187.694.388 1.373.545 2.063.053.23.037.495-.018.727-.213.892-1.248 1.242-1.978.685-.53-.405-.742-1.12-.539-1.827zm3.817-.197c-.125-.465-.256-.927-.393-1.42.5.13.908.36 1.255.698 1.257 1.221 1.385 3.3.294 4.731-1.135 1.49-3.155 2.134-5.028 1.605-2.302-.65-3.808-2.952-3.441-5.316.274-1.768 1.27-3.004 2.9-3.733.407-.182.58-.56.42-.93-.157-.364-.54-.504-.944-.343-2.721 1.089-4.32 4.134-3.67 6.987.713 3.118 3.495 5.163 6.675 4.859 1.732-.165 3.164-.948 4.216-2.347 1.506-2.002 1.297-4.783-.463-6.499-.666-.65-1.471-1.018-2.39-1.153-.083-.013-.217-.052-.232-.106-.087-.313-.18-.632-.206-.954-.029-.357.29-.64.65-.645.253-.003.434.13.603.3.303.3.704.322.988.062.29-.264.296-.678.018-1.008-.566-.672-1.586-.891-2.43-.523-.847.37-1.321 1.187-1.2 2.093.038.28.11.557.167.842l-.26.072c-.856.24-1.561.704-2.098 1.414-.921 1.22-.936 2.828-.041 3.947 1.274 1.594 3.747 1.284 4.523-.568.284-.676.275-1.368.087-2.065z\"}}]}]})(props);\n};\nexport function RiNeteaseCloudMusicLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.421 11.375c-.294 1.028.012 2.064.784 2.653 1.061.81 2.565.3 2.874-.995.08-.337.103-.722.027-1.056-.23-1.001-.52-1.988-.792-2.996-1.33.154-2.543 1.172-2.893 2.394zm5.548-.287c.273 1.012.285 2.017-.127 3-1.128 2.69-4.721 3.14-6.573.826-1.302-1.627-1.28-3.961.06-5.734.78-1.032 1.804-1.707 3.048-2.054l.379-.104c-.084-.415-.188-.816-.243-1.224-.176-1.317.512-2.503 1.744-3.04 1.226-.535 2.708-.216 3.53.76.406.479.395 1.08-.025 1.464-.412.377-.996.346-1.435-.09-.247-.246-.51-.44-.877-.436-.525.006-.987.418-.945.937.037.468.173.93.3 1.386.022.078.216.135.338.153 1.334.197 2.504.731 3.472 1.676 2.558 2.493 2.861 6.531.672 9.44-1.529 2.032-3.61 3.168-6.127 3.409-4.621.44-8.664-2.53-9.7-7.058C2.515 10.255 4.84 5.831 8.795 4.25c.586-.234 1.143-.031 1.371.498.232.537-.019 1.086-.61 1.35-2.368 1.06-3.817 2.855-4.215 5.424-.533 3.433 1.656 6.776 5 7.72 2.723.77 5.658-.166 7.308-2.33 1.586-2.08 1.4-5.099-.427-6.873a3.979 3.979 0 0 0-1.823-1.013c.198.716.389 1.388.57 2.062z\"}}]}]})(props);\n};\nexport function RiNetflixFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11.29 3.814l2.02 5.707.395 1.116.007-4.81.01-4.818h4.27L18 11.871c.003 5.98-.003 10.89-.015 10.9-.012.009-.209 0-.436-.027-.989-.118-2.29-.236-3.34-.282a14.57 14.57 0 0 1-.636-.038c-.003-.004-.273-.762-.776-2.184v-.004l-2.144-6.061-.34-.954-.008 4.586c-.006 4.365-.01 4.61-.057 4.61-.163 0-1.57.09-2.04.136-.308.027-.926.09-1.37.145-.446.051-.816.085-.823.078C6.006 22.77 6 17.867 6 11.883V1.002h.005V1h4.288l.028.08c.007.016.065.176.157.437l.641 1.778.173.496-.001.023z\"}}]}]})(props);\n};\nexport function RiNetflixLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.984 17.208L16 2h2v20a7.593 7.593 0 0 0-2.02-.5L8 6.302V21.5a7.335 7.335 0 0 0-2 .5V2h2l7.984 15.208z\"}}]}]})(props);\n};\nexport function RiNpmjsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm-3 4H7v10h5V9.5h2.5V17H17V7z\"}}]}]})(props);\n};\nexport function RiNpmjsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm-1 2H5v14h14V5zm-2 2v10h-2.5V9.5H12V17H7V7h10z\"}}]}]})(props);\n};\nexport function RiOpenSourceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10 0 4.13-2.504 7.676-6.077 9.201l-2.518-6.55C14.354 14.148 15 13.15 15 12c0-1.657-1.343-3-3-3s-3 1.343-3 3c0 1.15.647 2.148 1.596 2.652l-2.518 6.55C4.504 19.675 2 16.13 2 12 2 6.477 6.477 2 12 2z\"}}]}]})(props);\n};\nexport function RiOpenSourceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10 0 4.4-2.841 8.136-6.789 9.473l-.226.074-2.904-7.55C13.15 13.95 14 13.054 14 12c0-1.105-.895-2-2-2s-2 .895-2 2c0 1.077.851 1.955 1.917 1.998l-2.903 7.549-.225-.074C4.84 20.136 2 16.4 2 12 2 6.477 6.477 2 12 2zm0 2c-4.418 0-8 3.582-8 8 0 2.92 1.564 5.475 3.901 6.872l1.48-3.849C8.534 14.29 8 13.207 8 12c0-2.21 1.79-4 4-4s4 1.79 4 4c0 1.207-.535 2.29-1.38 3.023.565 1.474 1.059 2.757 1.479 3.85C18.435 17.475 20 14.92 20 12c0-4.418-3.582-8-8-8z\"}}]}]})(props);\n};\nexport function RiOperaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.71 6.365c-1.108 1.305-1.823 3.236-1.873 5.4v.47c.051 2.165.766 4.093 1.872 5.4 1.434 1.862 3.566 3.044 5.95 3.044a7.208 7.208 0 0 0 4.005-1.226 9.94 9.94 0 0 1-7.139 2.535A9.998 9.998 0 0 1 2 12C2 6.476 6.478 2 12 2h.037a9.97 9.97 0 0 1 6.628 2.546 7.239 7.239 0 0 0-4.008-1.226c-2.382 0-4.514 1.183-5.95 3.045h.002zM22 12a9.969 9.969 0 0 1-3.335 7.454c-2.565 1.25-4.955.376-5.747-.17 2.52-.554 4.423-3.6 4.423-7.284 0-3.685-1.903-6.73-4.423-7.283.791-.545 3.182-1.42 5.747-.171A9.967 9.967 0 0 1 22 12z\"}}]}]})(props);\n};\nexport function RiOperaLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14.766 19.51a8.003 8.003 0 0 0 0-15.02C16.71 5.977 18 8.935 18 12s-1.289 6.024-3.234 7.51zM9.234 4.49a8.003 8.003 0 0 0 0 15.02C7.29 18.023 6 15.065 6 12s1.289-6.024 3.234-7.51zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-3.5c2 0 4-3.033 4-6.5s-2-6.5-4-6.5S8 8.533 8 12s2 6.5 4 6.5z\"}}]}]})(props);\n};\nexport function RiPatreonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 17a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15zM2 2h4v20H2V2z\"}}]}]})(props);\n};\nexport function RiPatreonLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15 17a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15zm0-2a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM2 2h5v20H2V2zm2 2v16h1V4H4z\"}}]}]})(props);\n};\nexport function RiPaypalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.067 8.478c.492.88.556 2.014.3 3.327-.74 3.806-3.276 5.12-6.514 5.12h-.5a.805.805 0 0 0-.794.68l-.04.22-.63 3.993-.032.17a.804.804 0 0 1-.794.679H7.72a.483.483 0 0 1-.477-.558L7.418 21h1.518l.95-6.02h1.385c4.678 0 7.75-2.203 8.796-6.502zm-2.96-5.09c.762.868.983 1.81.752 3.285-.019.123-.04.24-.062.36-.735 3.773-3.089 5.446-6.956 5.446H8.957c-.63 0-1.174.414-1.354 1.002l-.014-.002-.93 5.894H3.121a.051.051 0 0 1-.05-.06l2.598-16.51A.95.95 0 0 1 6.607 2h5.976c2.183 0 3.716.469 4.523 1.388z\"}}]}]})(props);\n};\nexport function RiPaypalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.495 20.667h1.551l.538-3.376a2.805 2.805 0 0 1 2.77-2.366h.5c2.677 0 4.06-.983 4.55-3.503.208-1.066.117-1.73-.171-2.102-1.207 3.054-3.79 4.16-6.962 4.16h-.884c-.384 0-.794.209-.852.58l-1.04 6.607zm-4.944-.294a.551.551 0 0 1-.544-.637L5.68 2.776A.92.92 0 0 1 6.59 2h6.424c2.212 0 3.942.467 4.899 1.558.87.99 1.123 2.084.871 3.692.36.191.668.425.916.706.818.933.978 2.26.668 3.85-.74 3.805-3.276 5.12-6.514 5.12h-.5a.805.805 0 0 0-.794.679l-.702 4.383a.804.804 0 0 1-.794.679H6.72a.483.483 0 0 1-.477-.558l.274-1.736H3.55zm6.836-8.894h.884c3.19 0 4.895-1.212 5.483-4.229.02-.101.037-.203.053-.309.166-1.06.05-1.553-.398-2.063-.465-.53-1.603-.878-3.396-.878h-5.5L5.246 18.373h1.561l.73-4.628.007.001a2.915 2.915 0 0 1 2.843-2.267z\"}}]}]})(props);\n};\nexport function RiPinterestFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.37 2.094A10.003 10.003 0 0 0 8.002 21.17a7.757 7.757 0 0 1 .163-2.293c.185-.839 1.296-5.463 1.296-5.463a3.739 3.739 0 0 1-.324-1.577c0-1.485.857-2.593 1.923-2.593a1.334 1.334 0 0 1 1.342 1.508c0 .9-.578 2.262-.88 3.54a1.544 1.544 0 0 0 1.575 1.923c1.898 0 3.17-2.431 3.17-5.301 0-2.2-1.457-3.848-4.143-3.848a4.746 4.746 0 0 0-4.93 4.794 2.96 2.96 0 0 0 .648 1.97.48.48 0 0 1 .162.554c-.046.184-.162.623-.208.784a.354.354 0 0 1-.51.254c-1.384-.554-2.036-2.077-2.036-3.816 0-2.847 2.384-6.255 7.154-6.255 3.796 0 6.32 2.777 6.32 5.747 0 3.909-2.177 6.848-5.394 6.848a2.861 2.861 0 0 1-2.454-1.246s-.578 2.316-.692 2.754a8.026 8.026 0 0 1-1.019 2.131c.923.28 1.882.42 2.846.416a9.988 9.988 0 0 0 9.996-10.003 10.002 10.002 0 0 0-8.635-9.903z\"}}]}]})(props);\n};\nexport function RiPinterestLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.49 19.191c.024-.336.072-.671.144-1.001.063-.295.254-1.13.534-2.34l.007-.03.387-1.668c.079-.34.14-.604.181-.692a3.46 3.46 0 0 1-.284-1.423c0-1.337.756-2.373 1.736-2.373.36-.006.704.15.942.426.238.275.348.644.302.996 0 .453-.085.798-.453 2.035-.071.238-.12.404-.166.571-.051.188-.095.358-.132.522-.096.386-.008.797.237 1.106a1.2 1.2 0 0 0 1.006.456c1.492 0 2.6-1.985 2.6-4.548 0-1.97-1.29-3.274-3.432-3.274A3.878 3.878 0 0 0 9.2 9.1a4.13 4.13 0 0 0-1.195 2.961 2.553 2.553 0 0 0 .512 1.644c.181.14.25.383.175.59-.041.168-.14.552-.176.68a.41.41 0 0 1-.216.297.388.388 0 0 1-.355.002c-1.16-.479-1.796-1.778-1.796-3.44 0-2.985 2.491-5.584 6.192-5.584 3.135 0 5.481 2.329 5.481 5.14 0 3.532-1.932 6.104-4.69 6.104a2.508 2.508 0 0 1-2.046-.959l-.043.177-.207.852-.002.007c-.146.6-.248 1.017-.288 1.174-.106.355-.24.703-.4 1.04a8 8 0 1 0-1.656-.593zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiPixelfedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm1.031 6.099h-2.624c-.988 0-1.789.776-1.789 1.733v6.748l2.595-2.471h1.818c1.713 0 3.101-1.345 3.101-3.005s-1.388-3.005-3.1-3.005z\"}}]}]})(props);\n};\nexport function RiPixelfedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zm1.031 4.099c1.713 0 3.101 1.345 3.101 3.005s-1.388 3.005-3.1 3.005h-1.819L8.618 16.58V9.832c0-.957.801-1.733 1.79-1.733h2.623z\"}}]}]})(props);\n};\nexport function RiPlaystationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.584 17.011c-.43.543-1.482.93-1.482.93l-7.833 2.817V18.68l5.764-2.057c.655-.234.755-.566.223-.74-.53-.175-1.491-.125-2.146.111l-3.84 1.354v-2.155l.22-.075s1.11-.394 2.671-.567c1.56-.172 3.472.024 4.972.593 1.69.535 1.88 1.323 1.451 1.866zm-8.57-3.537V8.162c0-.624-.114-1.198-.699-1.36-.447-.144-.725.272-.725.895V21l-3.584-1.139V4c1.524.283 3.744.953 4.937 1.355 3.035 1.043 4.064 2.342 4.064 5.267 0 2.851-1.758 3.932-3.992 2.852zm-11.583 4.99c-1.735-.49-2.024-1.51-1.233-2.097.731-.542 1.974-.95 1.974-.95l5.138-1.83v2.086l-3.697 1.325c-.653.234-.754.566-.223.74.531.175 1.493.125 2.147-.11l1.773-.644v1.865l-.353.06c-1.774.29-3.664.169-5.526-.445z\"}}]}]})(props);\n};\nexport function RiPlaystationLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.584 17.011c-.43.543-1.482.93-1.482.93l-7.833 2.817V18.68l5.764-2.057c.655-.234.755-.566.223-.74-.53-.175-1.491-.125-2.146.111l-3.84 1.354v-2.155l.22-.075s1.11-.394 2.671-.567c1.56-.172 3.472.024 4.972.593 1.69.535 1.88 1.323 1.451 1.866zm-8.57-3.537V8.162c0-.624-.114-1.198-.699-1.36-.447-.144-.725.272-.725.895V21l-3.584-1.139V4c1.524.283 3.744.953 4.937 1.355 3.035 1.043 4.064 2.342 4.064 5.267 0 2.851-1.758 3.932-3.992 2.852zm-11.583 4.99c-1.735-.49-2.024-1.51-1.233-2.097.731-.542 1.974-.95 1.974-.95l5.138-1.83v2.086l-3.697 1.325c-.653.234-.754.566-.223.74.531.175 1.493.125 2.147-.11l1.773-.644v1.865l-.353.06c-1.774.29-3.664.169-5.526-.445z\"}}]}]})(props);\n};\nexport function RiProductHuntFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm1.334-10H10.5V9h2.834a1.5 1.5 0 0 1 0 3zm0-5H8.5v10h2v-3h2.834a3.5 3.5 0 0 0 0-7z\"}}]}]})(props);\n};\nexport function RiProductHuntLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm1.334-8a1.5 1.5 0 0 0 0-3H10.5v3h2.834zm0-5a3.5 3.5 0 0 1 0 7H10.5v3h-2V7h4.834z\"}}]}]})(props);\n};\nexport function RiQqFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.913 14.529a31.977 31.977 0 0 0-.675-1.886l-.91-2.246c0-.026.012-.468.012-.696C18.34 5.86 16.507 2 12 2 7.493 2 5.66 5.86 5.66 9.7c0 .229.011.671.012.697l-.91 2.246c-.248.643-.495 1.312-.675 1.886-.86 2.737-.581 3.87-.369 3.895.455.054 1.771-2.06 1.771-2.06 0 1.224.637 2.822 2.016 3.976-.515.157-1.147.399-1.554.695-.365.267-.319.54-.253.65.289.481 4.955.307 6.303.157 1.347.15 6.014.324 6.302-.158.066-.11.112-.382-.253-.649-.407-.296-1.039-.538-1.555-.696 1.379-1.153 2.016-2.751 2.016-3.976 0 0 1.316 2.115 1.771 2.06.212-.025.49-1.157-.37-3.894\"}}]}]})(props);\n};\nexport function RiQqLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.535 12.514l-.696-1.796c0-.021.01-.375.01-.558C16.848 7.088 15.446 4 12 4c-3.446 0-4.848 3.088-4.848 6.16 0 .183.009.537.01.558l-.696 1.796c-.19.515-.38 1.05-.517 1.51-.657 2.189-.444 3.095-.282 3.115.348.043 1.354-1.648 1.354-1.648 0 .98.488 2.258 1.542 3.18-.394.127-.878.32-1.188.557-.28.214-.245.431-.194.52.22.385 3.79.245 4.82.125 1.03.12 4.599.26 4.82-.126.05-.088.085-.305-.194-.519-.311-.237-.795-.43-1.19-.556 1.055-.923 1.542-2.202 1.542-3.181 0 0 1.007 1.691 1.355 1.648.162-.02.378-.928-.283-3.116-.14-.463-.325-.994-.516-1.509zm1.021 8.227c-.373.652-.833.892-1.438 1.057-.24.065-.498.108-.794.138-.44.045-.986.065-1.613.064a33.23 33.23 0 0 1-2.71-.116c-.692.065-1.785.114-2.71.116a16.07 16.07 0 0 1-1.614-.064 4.928 4.928 0 0 1-.793-.138c-.605-.164-1.065-.405-1.44-1.059a2.274 2.274 0 0 1-.239-1.652c-.592-.132-1.001-.483-1.279-.911a2.43 2.43 0 0 1-.309-.71 4.028 4.028 0 0 1-.116-1.106c.013-.785.187-1.762.532-2.912.14-.466.327-1.008.568-1.655l.553-1.43a15.496 15.496 0 0 1-.002-.203C5.152 5.605 7.588 2 12 2c4.413 0 6.848 3.605 6.848 8.16l-.001.203.553 1.43.01.026c.225.606.413 1.153.556 1.626.348 1.15.522 2.129.535 2.916.007.407-.03.776-.118 1.108-.066.246-.161.48-.31.708-.276.427-.684.776-1.277.91.13.554.055 1.14-.24 1.654z\"}}]}]})(props);\n};\nexport function RiReactjsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14.448 16.24a21.877 21.877 0 0 1-1.747 2.175c1.672 1.623 3.228 2.383 4.09 1.884.864-.498.983-2.225.414-4.484-.853.19-1.78.334-2.757.425zm-1.31.087a27.512 27.512 0 0 1-2.276 0c.377.492.758.948 1.138 1.364.38-.416.76-.872 1.138-1.364zm5.04-7.894c2.665.764 4.405 2.034 4.405 3.567 0 1.533-1.74 2.803-4.405 3.567.67 2.69.441 4.832-.886 5.598-1.328.767-3.298-.105-5.292-2.03-1.994 1.925-3.964 2.797-5.292 2.03-1.327-.766-1.557-2.908-.886-5.598-2.665-.764-4.405-2.034-4.405-3.567 0-1.533 1.74-2.803 4.405-3.567-.67-2.69-.441-4.832.886-5.598 1.328-.767 3.298.105 5.292 2.03 1.994-1.925 3.964-2.797 5.292-2.03 1.327.766 1.557 2.908.886 5.598zm-.973-.248c.57-2.26.45-3.986-.413-4.484-.863-.499-2.419.261-4.09 1.884.591.643 1.179 1.374 1.746 2.175.978.09 1.904.234 2.757.425zm-10.41 7.63c-.57 2.26-.45 3.986.413 4.484.863.499 2.419-.261 4.09-1.884a21.877 21.877 0 0 1-1.746-2.175 21.877 21.877 0 0 1-2.757-.425zm4.067-8.142a27.512 27.512 0 0 1 2.276 0A20.523 20.523 0 0 0 12 6.31c-.38.416-.76.872-1.138 1.364zm-1.31.087A21.877 21.877 0 0 1 11.3 5.585C9.627 3.962 8.07 3.202 7.209 3.701c-.864.498-.983 2.225-.414 4.484.853-.19 1.78-.334 2.757-.425zm4.342 7.52A25.368 25.368 0 0 0 15.787 12a25.368 25.368 0 0 0-1.893-3.28 25.368 25.368 0 0 0-3.788 0A25.368 25.368 0 0 0 8.213 12a25.368 25.368 0 0 0 1.893 3.28 25.368 25.368 0 0 0 3.788 0zm1.284-.131c.615-.08 1.2-.183 1.75-.304a20.523 20.523 0 0 0-.612-1.667 27.512 27.512 0 0 1-1.138 1.97zM8.822 8.85c-.615.08-1.2.183-1.75.304.17.536.374 1.094.612 1.667a27.512 27.512 0 0 1 1.138-1.97zm-1.75 5.994c.55.121 1.135.223 1.75.304a27.512 27.512 0 0 1-1.138-1.97c-.238.572-.442 1.13-.612 1.666zm-.978-.245c.261-.834.6-1.708 1.01-2.6-.41-.892-.749-1.766-1.01-2.6-2.242.637-3.677 1.604-3.677 2.6s1.435 1.963 3.677 2.6zm10.834-5.445c-.55-.121-1.135-.223-1.75-.304a27.511 27.511 0 0 1 1.138 1.97c.238-.572.442-1.13.612-1.666zm.978.245c-.261.834-.6 1.708-1.01 2.6.41.892.749 1.766 1.01 2.6 2.242-.637 3.677-1.604 3.677-2.6s-1.435-1.963-3.677-2.6zM12 13.88a1.88 1.88 0 1 1 0-3.76 1.88 1.88 0 0 1 0 3.76z\"}}]}]})(props);\n};\nexport function RiReactjsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm-.528 2.994c.175.21.351.414.528.609.177-.195.353-.398.528-.609a24.883 24.883 0 0 1-1.056 0zm-1.995-.125a20.678 20.678 0 0 1-2.285-.368c-.075.35-.132.69-.17 1.016-.19 1.583.075 2.545.478 2.777.403.233 1.368-.019 2.645-.974.263-.197.528-.416.794-.655a20.678 20.678 0 0 1-1.462-1.796zm7.331-.368c-.717.16-1.483.284-2.285.368a20.678 20.678 0 0 1-1.462 1.796c.266.24.531.458.794.655 1.277.955 2.242 1.207 2.645.974.403-.232.667-1.194.479-2.777a11.36 11.36 0 0 0-.17-1.016zm1.45-.387c.577 2.639.274 4.74-1.008 5.48-1.282.74-3.253-.048-5.25-1.867-1.997 1.819-3.968 2.606-5.25 1.866-1.282-.74-1.585-2.84-1.009-5.48C3.167 14.794 1.5 13.48 1.5 12s1.667-2.793 4.241-3.614c-.576-2.639-.273-4.74 1.009-5.48 1.282-.74 3.253.048 5.25 1.867 1.997-1.819 3.968-2.606 5.25-1.866 1.282.74 1.585 2.84 1.009 5.48C20.833 9.206 22.5 10.52 22.5 12s-1.667 2.793-4.241 3.614zm-7.32-9.779a11.36 11.36 0 0 0-.793-.655C8.868 4.225 7.903 3.973 7.5 4.206c-.403.232-.667 1.194-.479 2.777.04.327.096.666.17 1.016a20.678 20.678 0 0 1 2.286-.368c.475-.653.965-1.254 1.462-1.796zm3.585 1.796c.802.084 1.568.209 2.285.368.075-.35.132-.69.17-1.016.19-1.583-.075-2.545-.478-2.777-.403-.233-1.368.019-2.645.974a11.36 11.36 0 0 0-.794.655c.497.542.987 1.143 1.462 1.796zm-1.995-.125c-.175-.21-.351-.414-.528-.609-.177.195-.353.398-.528.609a24.884 24.884 0 0 1 1.056 0zm-4.156 7.198a24.884 24.884 0 0 1-.528-.914c-.095.257-.183.51-.263.761.257.056.521.107.79.153zm1.932.234a22.897 22.897 0 0 0 3.392 0A22.897 22.897 0 0 0 15.392 12a22.897 22.897 0 0 0-1.696-2.938 22.897 22.897 0 0 0-3.392 0A22.897 22.897 0 0 0 8.608 12a22.897 22.897 0 0 0 1.696 2.938zm5.852-4.728c.095-.257.183-.51.263-.761a17.974 17.974 0 0 0-.79-.153 24.884 24.884 0 0 1 .527.914zM6.13 9.837c-.34.11-.662.23-.964.36C3.701 10.825 3 11.535 3 12c0 .465.7 1.175 2.166 1.803.302.13.624.25.964.36.222-.7.497-1.426.825-2.163a20.678 20.678 0 0 1-.825-2.163zm1.45-.388c.081.25.169.504.264.76a24.884 24.884 0 0 1 .528-.913c-.27.046-.534.097-.791.153zm10.29 4.714c.34-.11.662-.23.964-.36C20.299 13.175 21 12.465 21 12c0-.465-.7-1.175-2.166-1.803a11.36 11.36 0 0 0-.964-.36c-.222.7-.497 1.426-.825 2.163.328.737.603 1.462.825 2.163zm-1.45.388c-.081-.25-.169-.504-.264-.76a24.884 24.884 0 0 1-.528.913c.27-.046.534-.097.791-.153z\"}}]}]})(props);\n};\nexport function RiRedditFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm6.67-10a1.46 1.46 0 0 0-2.47-1 7.12 7.12 0 0 0-3.85-1.23L13 6.65l2.14.45a1 1 0 1 0 .13-.61L12.82 6a.31.31 0 0 0-.37.24l-.74 3.47a7.14 7.14 0 0 0-3.9 1.23 1.46 1.46 0 1 0-1.61 2.39 2.87 2.87 0 0 0 0 .44c0 2.24 2.61 4.06 5.83 4.06s5.83-1.82 5.83-4.06a2.87 2.87 0 0 0 0-.44 1.46 1.46 0 0 0 .81-1.33zm-10 1a1 1 0 1 1 2 0 1 1 0 0 1-2 0zm5.81 2.75a3.84 3.84 0 0 1-2.47.77 3.84 3.84 0 0 1-2.47-.77.27.27 0 0 1 .38-.38A3.27 3.27 0 0 0 12 16a3.28 3.28 0 0 0 2.09-.61.28.28 0 1 1 .39.4v-.04zm-.18-1.71a1 1 0 1 1 1-1 1 1 0 0 1-1.01 1.04l.01-.04z\"}}]}]})(props);\n};\nexport function RiRedditLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11.102 7.815l.751-3.536a2 2 0 0 1 2.373-1.54l3.196.68a2 2 0 1 1-.416 1.956l-3.196-.68-.666 3.135c1.784.137 3.557.73 5.163 1.7a3.192 3.192 0 0 1 4.741 2.673v.021a3.192 3.192 0 0 1-1.207 2.55 2.855 2.855 0 0 1-.008.123c0 3.998-4.45 7.03-9.799 7.03-5.332 0-9.708-3.024-9.705-6.953a5.31 5.31 0 0 1-.01-.181 3.192 3.192 0 0 1 3.454-5.35 11.446 11.446 0 0 1 5.329-1.628zm9.286 5.526c.408-.203.664-.62.661-1.075a1.192 1.192 0 0 0-2.016-.806l-.585.56-.67-.455c-1.615-1.098-3.452-1.725-5.23-1.764h-1.006c-1.875.029-3.651.6-5.237 1.675l-.663.45-.584-.55a1.192 1.192 0 1 0-1.314 1.952l.633.29-.054.695c-.013.17-.013.339.003.584 0 2.71 3.356 5.03 7.708 5.03 4.371 0 7.799-2.336 7.802-5.106a3.31 3.31 0 0 0 0-.508l-.052-.672.604-.3zM7 13.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0zm7 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0zm-1.984 5.103c-1.397 0-2.767-.37-3.882-1.21a.424.424 0 0 1 .597-.597c.945.693 2.123.99 3.269.99s2.33-.275 3.284-.959a.439.439 0 0 1 .732.206.469.469 0 0 1-.119.423c-.684.797-2.484 1.147-3.881 1.147z\"}}]}]})(props);\n};\nexport function RiRemixiconFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.53 17.53L20 21H3V4h10.667v.008A7.118 7.118 0 0 1 14.136 4c-.089.37-.136.76-.136 1.166C14 7.485 16.015 9.5 18.667 9.5c.724 0 1.419-.197 2.032-.538a7.003 7.003 0 0 1-4.17 8.567zM18.5 7.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z\"}}]}]})(props);\n};\nexport function RiRemixiconLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M6.364 6l8.784 9.663.72-.283c1.685-.661 2.864-2.156 3.092-3.896A6.502 6.502 0 0 1 12.077 6H6.363zM14 5a4.5 4.5 0 0 0 6.714 3.918c.186.618.286 1.271.286 1.947 0 2.891-1.822 5.364-4.4 6.377L20 21H3V4h11.111A4.515 4.515 0 0 0 14 5zm4.5 2.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zM5 7.47V19h10.48L5 7.47z\"}}]}]})(props);\n};\nexport function RiSafariFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.7 6.8l-6.114 3.786L6.8 16.7l-.104-.104-1.415 1.414.708.708 1.414-1.415L7.3 17.2l6.114-3.785L17.2 7.3l.104.104 1.415-1.414-.708-.708-1.414 1.415.104.104zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-.5-19v2h1V3h-1zm0 16v2h1v-2h-1zM8.094 3.876l.765 1.848.924-.382-.765-1.848-.924.382zm6.123 14.782l.765 1.848.924-.382-.765-1.848-.924.382zm.765-15.164l-.765 1.848.924.382.765-1.848-.924-.382zM8.86 18.276l-.765 1.848.924.382.765-1.848-.924-.382zM21 11.5h-2v1h2v-1zm-16 0H3v1h2v-1zm15.458 3.615l-1.835-.794-.397.918 1.835.794.397-.918zM5.774 8.761L3.94 7.967l-.397.918 1.835.794.397-.918zm14.35-.667l-1.848.765.382.924 1.848-.765-.382-.924zM5.342 14.217l-1.848.765.382.924 1.848-.765-.382-.924zm13.376 3.793l-1.415-1.414-.707.707 1.414 1.415.708-.708zM7.404 6.697L5.99 5.282l-.708.708 1.415 1.414.707-.707zm3.908 4.615l3.611-2.235-2.235 3.61-1.376-1.375z\"}}]}]})(props);\n};\nexport function RiSafariLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.812 6.503l-4.398 6.911-6.911 4.398A7.973 7.973 0 0 0 11 19.938V18h2v1.938a7.96 7.96 0 0 0 3.906-1.618l-1.37-1.37 1.414-1.414 1.37 1.37A7.96 7.96 0 0 0 19.938 13H18v-2h1.938a7.973 7.973 0 0 0-2.126-4.497zm-.315-.315A7.973 7.973 0 0 0 13 4.062V6h-2V4.062A7.96 7.96 0 0 0 7.094 5.68l1.37 1.37L7.05 8.464l-1.37-1.37A7.96 7.96 0 0 0 4.062 11H6v2H4.062a7.973 7.973 0 0 0 2.126 4.497l4.398-6.911 6.911-4.398zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiSkypeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.31 20.4a8.5 8.5 0 0 1-9.71-9.71 5.25 5.25 0 0 1 7.09-7.09 8.5 8.5 0 0 1 9.71 9.71 5.25 5.25 0 0 1-7.09 7.09zm-1.258-3.244h-.04c2.872 0 4.303-1.386 4.303-3.243 0-1.198-.551-2.471-2.726-2.958l-1.983-.44c-.755-.172-1.622-.4-1.622-1.115s.62-1.213 1.724-1.213c2.23 0 2.027 1.528 3.131 1.528.576 0 1.093-.342 1.093-.93 0-1.37-2.197-2.4-4.056-2.4-2.021 0-4.173.859-4.173 3.144 0 1.098.394 2.27 2.56 2.813l2.689.671c.816.202 1.018.659 1.018 1.072 0 .687-.684 1.358-1.918 1.358-2.417 0-2.078-1.857-3.374-1.857-.58 0-1.003.398-1.003.971 0 1.114 1.352 2.598 4.377 2.598z\"}}]}]})(props);\n};\nexport function RiSkypeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13.004 18.423a2 2 0 0 1 1.237.207 3.25 3.25 0 0 0 4.389-4.389 2 2 0 0 1-.207-1.237 6.5 6.5 0 0 0-7.427-7.427 2 2 0 0 1-1.237-.207A3.25 3.25 0 0 0 5.37 9.76a2 2 0 0 1 .207 1.237 6.5 6.5 0 0 0 7.427 7.427zM12 20.5a8.5 8.5 0 0 1-8.4-9.81 5.25 5.25 0 0 1 7.09-7.09 8.5 8.5 0 0 1 9.71 9.71 5.25 5.25 0 0 1-7.09 7.09c-.427.066-.865.1-1.31.1zm.053-3.5C9.25 17 8 15.62 8 14.586c0-.532.39-.902.928-.902 1.2 0 .887 1.725 3.125 1.725 1.143 0 1.776-.624 1.776-1.261 0-.384-.188-.808-.943-.996l-2.49-.623c-2.006-.504-2.37-1.592-2.37-2.612C8.026 7.797 10.018 7 11.89 7c1.72 0 3.756.956 3.756 2.228 0 .545-.48.863-1.012.863-1.023 0-.835-1.418-2.9-1.418-1.023 0-1.596.462-1.596 1.126 0 .663.803.876 1.502 1.035l1.836.409C15.49 11.695 16 12.876 16 13.989 16 15.713 14.675 17 12.015 17h.038z\"}}]}]})(props);\n};\nexport function RiSlackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.527 14.514A1.973 1.973 0 0 1 4.56 16.48a1.973 1.973 0 0 1-1.967-1.967c0-1.083.884-1.968 1.967-1.968h1.968v1.968zm.992 0c0-1.083.884-1.968 1.967-1.968 1.083 0 1.968.885 1.968 1.968v4.927a1.973 1.973 0 0 1-1.968 1.967 1.973 1.973 0 0 1-1.967-1.967v-4.927zm1.967-7.987A1.973 1.973 0 0 1 7.52 4.56c0-1.083.884-1.967 1.967-1.967 1.083 0 1.968.884 1.968 1.967v1.968H9.486zm0 .992c1.083 0 1.968.884 1.968 1.967a1.973 1.973 0 0 1-1.968 1.968H4.56a1.973 1.973 0 0 1-1.967-1.968c0-1.083.884-1.967 1.967-1.967h4.927zm7.987 1.967c0-1.083.885-1.967 1.968-1.967s1.967.884 1.967 1.967a1.973 1.973 0 0 1-1.967 1.968h-1.968V9.486zm-.992 0a1.973 1.973 0 0 1-1.967 1.968 1.973 1.973 0 0 1-1.968-1.968V4.56c0-1.083.885-1.967 1.968-1.967s1.967.884 1.967 1.967v4.927zm-1.967 7.987c1.083 0 1.967.885 1.967 1.968a1.973 1.973 0 0 1-1.967 1.967 1.973 1.973 0 0 1-1.968-1.967v-1.968h1.968zm0-.992a1.973 1.973 0 0 1-1.968-1.967c0-1.083.885-1.968 1.968-1.968h4.927c1.083 0 1.967.885 1.967 1.968a1.973 1.973 0 0 1-1.967 1.967h-4.927z\"}}]}]})(props);\n};\nexport function RiSlackLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3A1.5 1.5 0 0 1 16 4.5v5a1.5 1.5 0 0 1-3 0v-5A1.5 1.5 0 0 1 14.5 3zm-10 10H6v1.5A1.5 1.5 0 1 1 4.5 13zm8.5 5h1.5a1.5 1.5 0 1 1-1.5 1.5V18zm1.5-5h5a1.5 1.5 0 0 1 0 3h-5a1.5 1.5 0 0 1 0-3zm5-5a1.5 1.5 0 0 1 0 3H18V9.5A1.5 1.5 0 0 1 19.5 8zm-15 0h5a1.5 1.5 0 0 1 0 3h-5a1.5 1.5 0 0 1 0-3zm5-5A1.5 1.5 0 0 1 11 4.5V6H9.5a1.5 1.5 0 0 1 0-3zm0 10a1.5 1.5 0 0 1 1.5 1.5v5a1.5 1.5 0 0 1-3 0v-5A1.5 1.5 0 0 1 9.5 13z\"}}]}]})(props);\n};\nexport function RiSnapchatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.871 21.764c-1.19 0-1.984-.561-2.693-1.056-.503-.357-.976-.696-1.533-.79a4.568 4.568 0 0 0-.803-.066c-.472 0-.847.071-1.114.125-.17.03-.312.058-.424.058-.116 0-.263-.032-.32-.228-.05-.16-.081-.312-.112-.459-.08-.37-.147-.597-.286-.62-1.489-.227-2.38-.57-2.554-.976-.014-.044-.031-.09-.031-.125-.01-.125.08-.227.205-.25 1.181-.196 2.242-.824 3.138-1.858.696-.803 1.035-1.579 1.066-1.663 0-.01.009-.01.009-.01.17-.351.205-.65.102-.895-.191-.46-.825-.656-1.257-.79-.111-.03-.205-.066-.285-.093-.37-.147-.986-.46-.905-.892.058-.312.472-.535.811-.535.094 0 .174.014.24.05.38.173.723.262 1.017.262.366 0 .54-.138.584-.182a24.93 24.93 0 0 0-.035-.593c-.09-1.365-.192-3.059.24-4.03 1.298-2.907 4.053-3.14 4.869-3.14L12.156 3h.05c.815 0 3.57.227 4.868 3.139.437.971.33 2.67.24 4.03l-.008.067c-.01.182-.023.356-.032.535.045.035.205.169.535.173.286-.008.598-.102.954-.263a.804.804 0 0 1 .312-.066c.125 0 .25.03.357.066h.009c.299.112.495.321.495.54.009.205-.152.517-.914.825-.08.03-.174.067-.285.093-.424.13-1.057.335-1.258.79-.111.24-.066.548.103.895 0 .01.009.01.009.01.049.124 1.337 3.049 4.204 3.526a.246.246 0 0 1 .205.25c0 .044-.009.089-.031.129-.174.41-1.057.744-2.555.976-.138.022-.205.25-.285.62a6.831 6.831 0 0 1-.112.459c-.044.147-.138.227-.298.227h-.023c-.102 0-.24-.013-.423-.049a5.285 5.285 0 0 0-1.115-.116c-.263 0-.535.023-.802.067-.553.09-1.03.433-1.534.79-.717.49-1.515 1.051-2.697 1.051h-.254z\"}}]}]})(props);\n};\nexport function RiSnapchatLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.396 10.58l.02-.249a32.392 32.392 0 0 0 .083-2.326c0-.87-.294-1.486-.914-2.063-.66-.614-1.459-.942-2.59-.942-1.137 0-1.958.335-2.51.888-.696.695-.958 1.218-.958 2.1 0 .521.061 1.994.096 2.618a2 2 0 0 1-.469 1.402c.055.098.105.204.153.317.3.771.198 1.543-.152 2.271-.392.818-.731 1.393-1.41 2.154a7.973 7.973 0 0 1-.642.643 1.999 1.999 0 0 1 .412.565 5.886 5.886 0 0 1 1.585.074c.81.146 1.324.434 2.194 1.061l.016.011.213.152c.619.44.877.546 1.473.546.609 0 .91-.121 1.523-.552l.207-.146c.876-.632 1.407-.928 2.231-1.076a6.664 6.664 0 0 1 1.559-.074 1.999 1.999 0 0 1 .417-.567 8.409 8.409 0 0 1-.616-.616 9.235 9.235 0 0 1-1.447-2.16c-.363-.749-.47-1.54-.137-2.321.04-.098.085-.19.132-.276a2 2 0 0 1-.469-1.435zm-10.315-.102c.419 0 .6.305 1.219.305.157 0 .26-.035.326-.066-.009-.156-.099-1.986-.099-2.729 0-1.688.72-2.69 1.543-3.514C8.893 3.65 10.175 3 11.996 3c1.82 0 3.066.653 3.952 1.478.886.825 1.551 1.93 1.551 3.528 0 1.555-.099 2.594-.108 2.716a.59.59 0 0 0 .279.065c.63 0 .63-.31 1.33-.31.685 0 .983.57.983.823 0 .621-.833.967-1.33 1.126-.369.117-.931.291-1.075.635-.074.174-.043.4.092.678.003.008 1.26 2.883 3.93 3.326.235.035.391.241.391.483 0 .332-.37.617-.726.782-.443.2-1.091.37-1.952.505-.043.078-.134.485-.235.887-.135.542-.801.366-.991.326A4.997 4.997 0 0 0 16.291 20c-.482.087-.913.378-1.395.726-.713.504-1.465 1.076-2.9 1.076-1.436 0-2.144-.572-2.857-1.076-.482-.348-.905-.637-1.396-.726-.898-.163-1.57.036-1.795.057-.226.02-.842.244-.996-.327-.045-.166-.191-.808-.235-.895-.856-.135-1.508-.313-1.952-.513-.365-.165-.726-.443-.726-.779 0-.235.158-.44.391-.482 2.644-.483 3.766-3.005 3.922-3.33.132-.276.161-.5.091-.679-.143-.343-.704-.513-1.073-.635-.105-.034-1.336-.373-1.336-1.117 0-.24.205-.573.582-.73a1.36 1.36 0 0 1 .465-.092z\"}}]}]})(props);\n};\nexport function RiSoundcloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.464 8.596c.265 0 .48 2.106.48 4.704l-.001.351c-.019 2.434-.226 4.353-.479 4.353-.256 0-.465-1.965-.48-4.44v-.352c.005-2.558.218-4.616.48-4.616zm-1.664.96c.259 0 .47 1.8.48 4.054v.34c-.01 2.254-.221 4.054-.48 4.054-.255 0-.464-1.755-.48-3.97v-.34l.002-.34c.025-2.133.23-3.798.478-3.798zm-1.664 0c.255 0 .464 1.755.48 3.97v.34l-.002.34c-.025 2.133-.23 3.798-.478 3.798-.259 0-.47-1.8-.48-4.054v-.34c.01-2.254.221-4.054.48-4.054zm-1.664.576c.265 0 .48 1.762.48 3.936l-.002.335c-.02 2.017-.227 3.601-.478 3.601-.262 0-.474-1.717-.48-3.852v-.168c.006-2.135.218-3.852.48-3.852zM3.808 11.86c.265 0 .48 1.375.48 3.072v.158c-.013 1.623-.223 2.914-.48 2.914-.265 0-.48-1.375-.48-3.072v-.158c.013-1.623.223-2.914.48-2.914zm10.784-4.8c2.58 0 4.72 1.886 5.118 4.354a3.36 3.36 0 1 1 .993 6.589l-.063.001h-8.16a.768.768 0 0 1-.768-.768V7.933a5.16 5.16 0 0 1 2.88-.873zM2.144 11.668c.265 0 .48 1.332.48 2.976v.156c-.014 1.57-.223 2.82-.48 2.82-.26 0-.473-1.29-.48-2.898v-.078c0-1.644.215-2.976.48-2.976zm-1.664.96c.265 0 .48.946.48 2.112v.131c-.016 1.105-.225 1.981-.48 1.981-.265 0-.48-.946-.48-2.112v-.131c.016-1.105.225-1.981.48-1.981z\"}}]}]})(props);\n};\nexport function RiSoundcloudLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10a1 1 0 0 1 1 1v7a1 1 0 0 1-2 0v-7a1 1 0 0 1 1-1zm3 1a1 1 0 0 1 1 1v6a1 1 0 0 1-2 0v-6a1 1 0 0 1 1-1zm3-4a1 1 0 0 1 1 1v10a1 1 0 0 1-2 0V8a1 1 0 0 1 1-1zm5-1a6 6 0 0 1 5.996 5.775l.003.26a3.5 3.5 0 0 1-.307 6.96L20.5 19h-3.501a1 1 0 0 1-.117-1.993L17 17h3.447l.138-.002a1.5 1.5 0 0 0 .267-2.957l-.135-.026-1.77-.252.053-1.787-.004-.176A4 4 0 0 0 15.2 8.005L15 8c-.268 0-.531.026-.788.077L14 8.126V18a1 1 0 0 1-.883.993L13 19a1 1 0 0 1-1-1l-.001-11.197A5.972 5.972 0 0 1 15 6zM1 12a1 1 0 0 1 1 1v4a1 1 0 0 1-2 0v-4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiSpectrumFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.2 2.006C21.24 2.093 22 3.25 22 12l-.006 1.2C21.907 21.24 20.75 22 12 22l-1.2-.006c-7.658-.083-8.711-1.136-8.794-8.795L2 11.691l.006-.89c.085-7.85 1.19-8.76 9.382-8.8l1.811.005zM8.25 7h-.583a.667.667 0 0 0-.66.568L7 7.667v3.666c0 .335.247.612.568.66l.099.007h.583a3.75 3.75 0 0 1 3.745 3.55l.005.2v.583c0 .335.247.612.568.66l.099.007h3.666a.667.667 0 0 0 .66-.568l.007-.099v-.583a8.75 8.75 0 0 0-8.492-8.746L8.25 7z\"}}]}]})(props);\n};\nexport function RiSpectrumLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11.388 2.001l1.811.005.844.014c7.161.164 7.938 1.512 7.957 9.667l-.006 1.512-.014.844c-.164 7.161-1.512 7.938-9.667 7.957l-1.512-.006-.888-.015c-6.853-.163-7.827-1.428-7.907-8.78L2 11.691l.006-.89.014-.865c.165-7.053 1.487-7.897 9.368-7.935zM14.12 4.01L10.882 4l-1.322.01c-5.489.082-5.544.82-5.559 7.403l.001 2.175.01 1.04c.089 4.982.793 5.343 6.4 5.369l3.454-.002.776-.009c5.108-.091 5.347-.837 5.358-6.877l-.003-2.743-.012-1.055c-.094-4.796-.785-5.25-5.865-5.303zM8.25 7A8.75 8.75 0 0 1 17 15.75v.583a.667.667 0 0 1-.667.667h-3.666a.667.667 0 0 1-.667-.667v-.583A3.75 3.75 0 0 0 8.25 12h-.583A.667.667 0 0 1 7 11.333V7.667C7 7.299 7.299 7 7.667 7h.583z\"}}]}]})(props);\n};\nexport function RiSpotifyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.55 2 12 2zm3.75 14.65c-2.35-1.45-5.3-1.75-8.8-.95-.35.1-.65-.15-.75-.45-.1-.35.15-.65.45-.75 3.8-.85 7.1-.5 9.7 1.1.35.15.4.55.25.85-.2.3-.55.4-.85.2zm1-2.7c-2.7-1.65-6.8-2.15-9.95-1.15-.4.1-.85-.1-.95-.5-.1-.4.1-.85.5-.95 3.65-1.1 8.15-.55 11.25 1.35.3.15.45.65.2 1s-.7.5-1.05.25zM6.3 9.75c-.5.15-1-.15-1.15-.6-.15-.5.15-1 .6-1.15 3.55-1.05 9.4-.85 13.1 1.35.45.25.6.85.35 1.3-.25.35-.85.5-1.3.25C14.7 9 9.35 8.8 6.3 9.75z\"}}]}]})(props);\n};\nexport function RiSpotifyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.55 0 10 4.5 10 10s-4.5 10-10 10S2 17.5 2 12 6.5 2 12 2zm0 2c-4.395 0-8 3.605-8 8s3.605 8 8 8 8-3.605 8-8c0-4.414-3.573-8-8-8zm3.75 12.65c-2.35-1.45-5.3-1.75-8.8-.95-.35.1-.65-.15-.75-.45-.1-.35.15-.65.45-.75 3.8-.85 7.1-.5 9.7 1.1.35.15.4.55.25.85-.2.3-.55.4-.85.2zm1-2.7c-2.7-1.65-6.8-2.15-9.95-1.15-.4.1-.85-.1-.95-.5-.1-.4.1-.85.5-.95 3.65-1.1 8.15-.55 11.25 1.35.3.15.45.65.2 1s-.7.5-1.05.25zM6.3 9.75c-.5.15-1-.15-1.15-.6-.15-.5.15-1 .6-1.15 3.55-1.05 9.4-.85 13.1 1.35.45.25.6.85.35 1.3-.25.35-.85.5-1.3.25C14.7 9 9.35 8.8 6.3 9.75z\"}}]}]})(props);\n};\nexport function RiStackOverflowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20.002V14.67h2v7.333H4V14.67h2v5.333h12zM7.599 14.736l.313-1.98 8.837 1.7-.113 1.586-9.037-1.306zm1.2-4.532l.732-1.6 7.998 3.733-.733 1.599-7.998-3.732zm2.265-3.932l1.133-1.333 6.798 5.665-1.133 1.333-6.798-5.665zm4.332-4.132l5.265 7.064-1.4 1.067-5.264-7.065 1.4-1.066zM7.332 18.668v-2h9.33v2h-9.33z\"}}]}]})(props);\n};\nexport function RiStackOverflowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20.002V15h2v7.002H4V15h2v5.002h12zM7.5 18v-2h9v2h-9zm.077-4.38l.347-1.97 8.864 1.563-.348 1.97-8.863-1.563zm1.634-5.504l1-1.732 7.794 4.5-1 1.732-7.794-4.5zm3.417-4.613l1.532-1.286 5.785 6.895-1.532 1.285-5.785-6.894z\"}}]}]})(props);\n};\nexport function RiStackshareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h18zm-4.208 2.621c-1.011 0-1.864.676-2.133 1.6h-1.998l-2.46 4.185H8.763c-.268-.925-1.121-1.6-2.133-1.6-1.226 0-2.221.994-2.221 2.22 0 1.228.995 2.222 2.221 2.222 1.012 0 1.865-.676 2.133-1.6h1.471l2.417 4.133h2.018c.268.925 1.121 1.6 2.132 1.6 1.227 0 2.222-.994 2.222-2.221s-.995-2.222-2.222-2.222c-1.01 0-1.864.676-2.132 1.6h-1.317l-2.056-3.536 2.053-3.538h1.31c.27.925 1.122 1.6 2.133 1.6 1.227 0 2.222-.994 2.222-2.221s-.995-2.222-2.222-2.222zm.011 9.427c.644 0 1.168.524 1.168 1.168 0 .644-.524 1.167-1.168 1.167-.566 0-1.038-.405-1.144-.94 0 0-.031-.227 0-.454.106-.535.578-.94 1.144-.94zm-10.152-4.21c.644 0 1.168.524 1.168 1.168 0 .643-.524 1.167-1.168 1.167-.644 0-1.167-.524-1.167-1.167 0-.644.523-1.167 1.167-1.167zm10.15-4.209c.644 0 1.168.523 1.168 1.167s-.524 1.168-1.168 1.168c-.565 0-1.038-.406-1.144-.941-.026-.206 0-.446 0-.446.106-.543.579-.948 1.144-.948z\"}}]}]})(props);\n};\nexport function RiStackshareLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.536 13H7.329c-.412 1.166-1.523 2-2.829 2-1.657 0-3-1.343-3-3s1.343-3 3-3c1.306 0 2.418.835 2.83 2h2.206L13 5h3.17c.412-1.165 1.524-2 2.83-2 1.657 0 3 1.343 3 3s-1.343 3-3 3c-1.306 0-2.417-.834-2.829-2h-2.017l-2.886 4.999L14.155 17h2.016c.411-1.165 1.523-2 2.829-2 1.657 0 3 1.343 3 3s-1.343 3-3 3c-1.306 0-2.417-.834-2.829-2H13l-3.464-6zM19 17c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zM4.5 11c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1zM19 5c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiSteamFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.004 2c-5.25 0-9.556 4.05-9.964 9.197l5.36 2.216c.454-.31 1.002-.492 1.593-.492.053 0 .104.003.157.005l2.384-3.452v-.049c0-2.08 1.69-3.77 3.77-3.77 2.079 0 3.77 1.692 3.77 3.772s-1.692 3.771-3.77 3.771h-.087l-3.397 2.426c0 .043.003.088.003.133 0 1.562-1.262 2.83-2.825 2.83-1.362 0-2.513-.978-2.775-2.273l-3.838-1.589C3.573 18.922 7.427 22 12.005 22c5.522 0 9.998-4.477 9.998-10 0-5.522-4.477-10-9.999-10zM7.078 16.667c.218.452.595.832 1.094 1.041 1.081.45 2.328-.063 2.777-1.145.22-.525.22-1.1.004-1.625-.215-.525-.625-.934-1.147-1.152-.52-.217-1.075-.208-1.565-.025l1.269.525c.797.333 1.174 1.25.84 2.046-.33.797-1.247 1.175-2.044.843l-1.228-.508zm10.74-7.245c0-1.385-1.128-2.512-2.513-2.512-1.387 0-2.512 1.127-2.512 2.512 0 1.388 1.125 2.513 2.512 2.513 1.386 0 2.512-1.125 2.512-2.513zM15.31 7.53c1.04 0 1.888.845 1.888 1.888s-.847 1.888-1.888 1.888c-1.044 0-1.888-.845-1.888-1.888s.845-1.888 1.888-1.888z\"}}]}]})(props);\n};\nexport function RiSteamLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4c2.761 0 5 2.239 5 5s-2.239 5-5 5c-.304 0-.603-.027-.892-.08l-2.651 1.989c.028.193.043.39.043.591 0 2.21-1.79 4-4 4s-4-1.79-4-4c0-.177.012-.352.034-.524L1.708 14.43l.75-1.854 3.826 1.545C7.013 13.138 8.182 12.5 9.5 12.5c.163 0 .323.01.48.029l2.042-3.061C12.007 9.314 12 9.158 12 9c0-2.761 2.239-5 5-5zM9.5 14.5c-.464 0-.892.158-1.231.424l1.606.649c.512.207.76.79.552 1.302-.207.512-.79.76-1.302.552L7.52 16.78c.136.972.971 1.721 1.981 1.721 1.105 0 2-.895 2-2s-.895-2-2-2zm3.364-2.69l-.983 1.476c.284.21.54.458.758.735l1.36-1.02c-.44-.332-.825-.735-1.135-1.191zM17 6c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3zm0 1c1.105 0 2 .895 2 2s-.895 2-2 2-2-.895-2-2 .895-2 2-2z\"}}]}]})(props);\n};\nexport function RiSwitchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13.619 21c-.085 0-.141-.057-.127-.127V3.127c0-.056.042-.113.113-.113h2.785A4.61 4.61 0 0 1 21 7.624v8.766A4.61 4.61 0 0 1 16.39 21H13.62zm3.422-9.926c-1.004 0-1.824.82-1.824 1.824s.82 1.824 1.824 1.824 1.824-.82 1.824-1.824-.82-1.824-1.824-1.824zM5.8 8.4c0-.933.763-1.696 1.696-1.696.934 0 1.697.763 1.697 1.696 0 .934-.763 1.697-1.697 1.697A1.702 1.702 0 0 1 5.8 8.401zM11.54 3c.085 0 .142.057.128.127V20.86c0 .07-.057.127-.128.127H7.61A4.61 4.61 0 0 1 3 16.376V7.61A4.61 4.61 0 0 1 7.61 3h3.93zm-1.315 16.544V4.442H7.61c-.849 0-1.64.34-2.235.933a3.088 3.088 0 0 0-.933 2.235v8.766c0 .849.34 1.64.933 2.234a3.088 3.088 0 0 0 2.235.934h2.615z\"}}]}]})(props);\n};\nexport function RiSwitchLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 3v18H7.6A4.6 4.6 0 0 1 3 16.4V7.6A4.6 4.6 0 0 1 7.6 3H12zm-2 2H7.6A2.6 2.6 0 0 0 5 7.6v8.8A2.6 2.6 0 0 0 7.6 19H10V5zm-2.5 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM14 3h2.4A4.6 4.6 0 0 1 21 7.6v8.8a4.6 4.6 0 0 1-4.6 4.6H14V3zm3 11.7a1.8 1.8 0 1 0 0-3.6 1.8 1.8 0 0 0 0 3.6z\"}}]}]})(props);\n};\nexport function RiTaobaoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3.576 8.277l-1.193 1.842 2.2 1.371s1.464.754.763 2.169c-.65 1.338-3.846 4.27-3.846 4.27l2.862 1.798c1.984-4.326 1.85-3.75 2.347-5.306.512-1.58.624-2.794-.242-3.677-1.113-1.125-1.238-1.23-2.891-2.467zm1.564-.694c1.04 0 1.883-.758 1.883-1.693 0-.943-.843-1.701-1.883-1.701-1.048 0-1.887.762-1.887 1.701.005.931.84 1.693 1.887 1.693zm17.005.21s-.624-4.87-11.207-1.854c.455-.795.669-1.307.669-1.307l-2.64-.75s-1.07 3.508-2.972 5.14c0 0 1.846 1.073 1.826 1.04a17.07 17.07 0 0 0 1.407-1.596c.424-.19.83-.363 1.226-.524-.492.887-1.278 2.218-2.068 3.056l1.112.984s.762-.738 1.589-1.62h.943v1.636H8.345v1.306h3.685v3.133l-.14-.004c-.408-.02-1.037-.089-1.287-.484-.298-.484-.077-1.359-.064-1.903H7.995l-.093.052s-.935 4.205 2.689 4.113c3.386.092 5.33-.956 6.265-1.677l.37 1.394 2.09-.882-1.416-3.484-1.693.536.314 1.19c-.427.33-.93.572-1.467.754v-2.738h3.592v-1.31h-3.592v-1.637h3.604V9.051h-6.41c.464-.569.822-1.089.92-1.415l-1.122-.307c4.798-1.733 7.47-1.435 7.45 1.403v7.475s.283 2.564-2.636 2.383l-1.58-.343-.367 1.512s6.817 1.967 7.374-3.314c.552-5.282-.142-8.652-.142-8.652z\"}}]}]})(props);\n};\nexport function RiTaobaoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.172 14H14.5v1.375c.55-.221 1.153-.49 1.812-.81l-.082-.238.942-.327zm.828-.287l.12-.042c.641 1.851 1.034 3.012 1.185 3.5l-1.912.59c-.074-.24-.216-.672-.427-1.293-6.081 2.885-8.671 2.054-9.008-1.907l1.993-.17c.1 1.165.344 1.622.897 1.752.393.093.94.063 1.652-.104V14H9v-2h.513l-1.167-1.39c1.043-.876 1.858-1.83 2.448-2.864-.518.135-1.037.28-1.551.435a13.955 13.955 0 0 1-1.754 2.109l-1.4-1.428c1.272-1.248 2.333-2.91 3.176-4.994l1.854.75a21.71 21.71 0 0 1-.48 1.101c3.702-.936 7.275-1.317 9.138-.68 1.223.418 1.919 1.391 2.187 2.584.17.756.313 2.689.313 5.123 0 2.807-.056 3.77-.34 4.622-.297.89-.696 1.418-1.407 1.984-.657.523-1.553.763-2.645.823-.673.037-1.368.003-2.095-.08a19.614 19.614 0 0 1-.596-.075l.264-1.982a57.039 57.039 0 0 0 .556.07c.625.07 1.216.1 1.762.07.714-.04 1.245-.181 1.508-.39.426-.34.591-.558.756-1.054.186-.554.237-1.448.237-3.988 0-2.299-.133-4.102-.264-4.683-.13-.577-.41-.97-.883-1.132-1.207-.412-3.801-.194-6.652.417l.615.262c-.13.302-.273.6-.43.89H18v2h-3.5V12H18v1.713zM12.5 10.5h-1.208A13.685 13.685 0 0 1 9.798 12H12.5v-1.5zm-10.039-.438L3.54 8.377c1.062.679 2.935 2.427 3.338 3.161 1.239 2.26.197 4.176-3.122 7.997l-1.51-1.311c2.687-3.094 3.5-4.59 2.878-5.724-.214-.39-1.857-1.924-2.662-2.438zm2.68-2.479c-1.049 0-1.883-.762-1.888-1.693 0-.94.84-1.701 1.887-1.701 1.04 0 1.883.758 1.883 1.701 0 .935-.843 1.693-1.883 1.693z\"}}]}]})(props);\n};\nexport function RiTelegramFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-3.11-8.83l.013-.007.87 2.87c.112.311.266.367.453.341.188-.025.287-.126.41-.244l1.188-1.148 2.55 1.888c.466.257.801.124.917-.432l1.657-7.822c.183-.728-.137-1.02-.702-.788l-9.733 3.76c-.664.266-.66.638-.12.803l2.497.78z\"}}]}]})(props);\n};\nexport function RiTelegramLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-3.11-8.83l-2.498-.779c-.54-.165-.543-.537.121-.804l9.733-3.76c.565-.23.885.061.702.79l-1.657 7.82c-.116.557-.451.69-.916.433l-2.551-1.888-1.189 1.148c-.122.118-.221.219-.409.244-.187.026-.341-.03-.454-.34l-.87-2.871-.012.008z\"}}]}]})(props);\n};\nexport function RiTrelloFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5.25 3h13.5A2.25 2.25 0 0 1 21 5.25v13.5A2.25 2.25 0 0 1 18.75 21H5.25A2.25 2.25 0 0 1 3 18.75V5.25A2.25 2.25 0 0 1 5.25 3zm7.92 3.42v5.76c0 .596.484 1.08 1.08 1.08h3.33a1.08 1.08 0 0 0 1.08-1.08V6.42a1.08 1.08 0 0 0-1.08-1.08h-3.33a1.08 1.08 0 0 0-1.08 1.08zm-7.83 0v10.26c0 .596.484 1.08 1.08 1.08h3.33a1.08 1.08 0 0 0 1.08-1.08V6.42a1.08 1.08 0 0 0-1.08-1.08H6.42a1.08 1.08 0 0 0-1.08 1.08z\"}}]}]})(props);\n};\nexport function RiTrelloLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5 5v14h14V5H5zm0-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm3 4h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zm6 0h2a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiTumblrFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.27 7.63A5.76 5.76 0 0 0 10.815 2h3.03v5.152h3.637v3.636h-3.636v5.454c0 .515.197 1.207.909 1.667.474.307 1.484.458 3.03.455V22h-4.242a4.545 4.545 0 0 1-4.546-4.545v-6.667H6.27V7.63z\"}}]}]})(props);\n};\nexport function RiTumblrLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8c1.075 0 3.497-.673 3.497-4.5V2h1.5v6H18v2h-5.003v2.91C13 15.39 13 16.595 13 17c-.002 2.208 1.615 3.4 4.785 3.4V22h-2.242c-2.402.002-4.546-2.035-4.546-4.545V10H7V8h1z\"}}]}]})(props);\n};\nexport function RiTwitchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v11.74l-4.696 4.695h-3.913l-2.437 2.348H6.913v-2.348H3V6.13L4.227 3H21zm-1.565 1.565H6.13v11.74h3.13v2.347l2.349-2.348h4.695l3.13-3.13V4.565zm-3.13 3.13v4.696h-1.566V7.696h1.565zm-3.914 0v4.696h-1.565V7.696h1.565z\"}}]}]})(props);\n};\nexport function RiTwitchLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.3 3H21v11.7l-4.7 4.7h-3.9l-2.5 2.4H7v-2.4H3V6.2L4.3 3zM5 17.4h4v2.4h.095l2.5-2.4h3.877L19 13.872V5H5v12.4zM15 8h2v4.7h-2V8zm0 0h2v4.7h-2V8zm-5 0h2v4.7h-2V8z\"}}]}]})(props);\n};\nexport function RiTwitterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.162 5.656a8.384 8.384 0 0 1-2.402.658A4.196 4.196 0 0 0 21.6 4c-.82.488-1.719.83-2.656 1.015a4.182 4.182 0 0 0-7.126 3.814 11.874 11.874 0 0 1-8.62-4.37 4.168 4.168 0 0 0-.566 2.103c0 1.45.738 2.731 1.86 3.481a4.168 4.168 0 0 1-1.894-.523v.052a4.185 4.185 0 0 0 3.355 4.101 4.21 4.21 0 0 1-1.89.072A4.185 4.185 0 0 0 7.97 16.65a8.394 8.394 0 0 1-6.191 1.732 11.83 11.83 0 0 0 6.41 1.88c7.693 0 11.9-6.373 11.9-11.9 0-.18-.005-.362-.013-.54a8.496 8.496 0 0 0 2.087-2.165z\"}}]}]})(props);\n};\nexport function RiTwitterLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.3 5.55a2.9 2.9 0 0 0-2.9 2.847l-.028 1.575a.6.6 0 0 1-.68.583l-1.561-.212c-2.054-.28-4.022-1.226-5.91-2.799-.598 3.31.57 5.603 3.383 7.372l1.747 1.098a.6.6 0 0 1 .034.993L7.793 18.17c.947.059 1.846.017 2.592-.131 4.718-.942 7.855-4.492 7.855-10.348 0-.478-1.012-2.141-2.94-2.141zm-4.9 2.81a4.9 4.9 0 0 1 8.385-3.355c.711-.005 1.316.175 2.669-.645-.335 1.64-.5 2.352-1.214 3.331 0 7.642-4.697 11.358-9.463 12.309-3.268.652-8.02-.419-9.382-1.841.694-.054 3.514-.357 5.144-1.55C5.16 15.7-.329 12.47 3.278 3.786c1.693 1.977 3.41 3.323 5.15 4.037 1.158.475 1.442.465 1.973.538z\"}}]}]})(props);\n};\nexport function RiUbuntuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M22 12c0 5.522-4.477 10-10 10S2 17.522 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10zM5.2 10.664a1.335 1.335 0 1 0 0 2.67 1.335 1.335 0 0 0 0-2.67zm9.533 6.069a1.334 1.334 0 1 0 1.334 2.31 1.334 1.334 0 0 0-1.334-2.31zM8.1 12c0-1.32.656-2.485 1.659-3.19l-.976-1.636a5.813 5.813 0 0 0-2.399 3.371 1.875 1.875 0 0 1 0 2.91 5.813 5.813 0 0 0 2.398 3.371l.977-1.636A3.892 3.892 0 0 1 8.1 12zM12 8.1a3.9 3.9 0 0 1 3.884 3.554l1.903-.028a5.781 5.781 0 0 0-1.723-3.762A1.872 1.872 0 0 1 13.55 6.41a5.829 5.829 0 0 0-4.12.39l.927 1.663A3.885 3.885 0 0 1 12 8.1zm0 7.8c-.587 0-1.143-.13-1.643-.363l-.927 1.662a5.774 5.774 0 0 0 4.12.39 1.872 1.872 0 0 1 2.514-1.454 5.782 5.782 0 0 0 1.723-3.762l-1.903-.027A3.898 3.898 0 0 1 12 15.9zm2.732-8.633a1.335 1.335 0 1 0 1.335-2.312 1.335 1.335 0 0 0-1.335 2.312z\"}}]}]})(props);\n};\nexport function RiUbuntuLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.667 19.273l1.006-1.742a6.001 6.001 0 0 0 8.282-4.781h2.012A7.97 7.97 0 0 1 18.928 16a8 8 0 0 1-1.452 1.835 2.493 2.493 0 0 0-1.976.227 2.493 2.493 0 0 0-1.184 1.596 7.979 7.979 0 0 1-5.65-.385zm-1.3-.75a7.979 7.979 0 0 1-3.156-4.7C4.696 13.367 5 12.72 5 12c0-.72-.304-1.369-.791-1.825A8 8 0 0 1 5.072 8a7.97 7.97 0 0 1 2.295-2.524l1.006 1.742a6.001 6.001 0 0 0 0 9.563l-1.005 1.742zm1.3-13.796a8.007 8.007 0 0 1 5.648-.387c.152.65.562 1.238 1.185 1.598.623.36 1.337.42 1.976.227a8.007 8.007 0 0 1 2.49 5.085h-2.013A5.99 5.99 0 0 0 15 6.804a5.99 5.99 0 0 0-5.327-.335L8.667 4.727zM16 5.072a1.5 1.5 0 1 1 1.5-2.598A1.5 1.5 0 0 1 16 5.072zM4 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm12 6.928a1.5 1.5 0 1 1 1.5 2.598 1.5 1.5 0 0 1-1.5-2.598z\"}}]}]})(props);\n};\nexport function RiUnsplashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 11v5h7v-5H21v10H3V11h5.5zm7-8v5h-7V3h7z\"}}]}]})(props);\n};\nexport function RiUnsplashLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10v4h4v-4h7v11H3V10h7zm-2 2H5v7h14v-7h-3l-.001 4H8v-4zm8-9v6H8V3h8zm-2 2h-4v2h4V5z\"}}]}]})(props);\n};\nexport function RiVimeoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.173 8.301c-.281-.413-.252-.413.328-.922 1.232-1.082 2.394-2.266 3.736-3.212 1.215-.852 2.826-1.402 3.927-.047 1.014 1.249 1.038 3.142 1.295 4.65.257 1.564.503 3.164 1.051 4.66.152.421.443 1.217.968 1.284.678.093 1.368-1.096 1.683-1.54.817-1.18 1.925-2.769 1.785-4.286-.138-1.612-1.878-1.309-2.966-.924.175-1.809 1.858-3.843 3.48-4.53 1.72-.714 4.276-.702 5.14 1.237.923 2.102.093 4.543-.912 6.448-1.097 2.068-2.509 3.982-4.018 5.77-1.331 1.588-2.906 3.33-4.89 4.089-2.267.864-3.61-.82-4.382-2.77-.843-2.123-1.262-4.506-1.87-6.717-.256-.934-.56-1.997-1.167-2.768-.792-.995-1.692-.06-2.474.477-.269-.267-.491-.607-.714-.899z\"}}]}]})(props);\n};\nexport function RiVimeoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.993 3.004c2.433 0 4.005 1.512 4.005 4.496 0 1.72-.998 3.94-1.832 5.235-2.789 4.333-6.233 8.74-9.643 8.74-3.706 0-4.67-6.831-5.092-8.432-.422-1.601-.533-2.21-1.17-3.233-.317.22-.76.529-1.33.93-.224.157-.533.105-.693-.117L.925 8.807C.789 8.62.8 8.363.952 8.187 3.779 4.915 6.128 3.278 8 3.278c2.392 0 3.124 2.816 3.324 4.223.3 2.117.69 4.738 1.244 5.872.557-.792 2.18-2.888 1.967-3.99-.094-.486-1.317.183-1.887.078-.425-.08-.806-.402-.806-1.026 0-1.31 1.852-5.43 6.151-5.43zm.007 2c-2.195 0-3.251 1.533-3.653 2.208 1.25.046 1.97.818 2.133 1.803.389 2.33-1.916 4.92-2.339 5.565-.396.603-3.061 3.328-4.25-3.36-.112-.629-.367-2.163-.665-4.186-.17-1.151-.873-1.763-1.23-1.763-.842 0-1.92.65-3.855 2.515 1.905-.115 2.545 2.276 2.916 3.633.816 2.984 1.571 8.056 3.62 8.056 1.727 0 4.439-2.646 7.37-7.04.209-.311 1.966-3.024 1.966-5.036 0-2.395-1.469-2.395-2.013-2.395z\"}}]}]})(props);\n};\nexport function RiVisaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4h22v2H1V4zm0 14h22v2H1v-2zm18.622-3.086l-.174-.87h-1.949l-.31.863-1.562.003c1.005-2.406 1.75-4.19 2.236-5.348.127-.303.353-.457.685-.455.254.002.669.002 1.245 0L21 14.912l-1.378.003zm-1.684-2.062h1.256l-.47-2.18-.786 2.18zM7.872 9.106l1.57.002-2.427 5.806-1.59-.001c-.537-2.07-.932-3.606-1.184-4.605-.077-.307-.23-.521-.526-.622-.263-.09-.701-.23-1.315-.419v-.16h2.509c.434 0 .687.21.769.64l.62 3.289 1.574-3.93zm3.727.002l-1.24 5.805-1.495-.002 1.24-5.805 1.495.002zM14.631 9c.446 0 1.01.138 1.334.267l-.262 1.204c-.293-.118-.775-.277-1.18-.27-.59.009-.954.256-.954.493 0 .384.632.578 1.284.999.743.48.84.91.831 1.378-.01.971-.831 1.929-2.564 1.929-.791-.012-1.076-.078-1.72-.306l.272-1.256c.656.274.935.361 1.495.361.515 0 .956-.207.96-.568.002-.257-.155-.384-.732-.702-.577-.317-1.385-.756-1.375-1.64C12.033 9.759 13.107 9 14.63 9z\"}}]}]})(props);\n};\nexport function RiVisaLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.222 15.768l-.225-1.125h-2.514l-.4 1.117-2.015.004a4199.19 4199.19 0 0 1 2.884-6.918c.164-.391.455-.59.884-.588.328.003.863.003 1.606.001L24 15.765l-1.778.003zm-2.173-2.666h1.62l-.605-2.82-1.015 2.82zM7.06 8.257l2.026.002-3.132 7.51-2.051-.002a950.849 950.849 0 0 1-1.528-5.956c-.1-.396-.298-.673-.679-.804C1.357 8.89.792 8.71 0 8.465V8.26h3.237c.56 0 .887.271.992.827.106.557.372 1.975.8 4.254L7.06 8.257zm4.81.002l-1.602 7.508-1.928-.002L9.94 8.257l1.93.002zm3.91-.139c.577 0 1.304.18 1.722.345l-.338 1.557c-.378-.152-1-.357-1.523-.35-.76.013-1.23.332-1.23.638 0 .498.816.749 1.656 1.293.959.62 1.085 1.177 1.073 1.782-.013 1.256-1.073 2.495-3.309 2.495-1.02-.015-1.388-.101-2.22-.396l.352-1.625c.847.355 1.206.468 1.93.468.663 0 1.232-.268 1.237-.735.004-.332-.2-.497-.944-.907-.744-.411-1.788-.98-1.774-2.122.017-1.462 1.402-2.443 3.369-2.443z\"}}]}]})(props);\n};\nexport function RiVuejsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3h4l7 12 7-12h4L12 22 1 3zm8.667 0L12 7l2.333-4h4.035L12 14 5.632 3h4.035z\"}}]}]})(props);\n};\nexport function RiVuejsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.316 3L12 18l8.684-15H23L12 22 1 3h2.316zm4.342 0L12 10.5 16.342 3h2.316L12 14.5 5.342 3h2.316z\"}}]}]})(props);\n};\nexport function RiWechat2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.457 18.185C3.358 16.677 2 14.4 2 11.908 2 7.323 6.475 3.6 12 3.6s10 3.723 10 8.308c0 4.584-4.475 8.307-10 8.307a11.36 11.36 0 0 1-3.272-.461c-.092-.03-.216-.03-.308-.03-.185 0-.37.06-.525.153l-2.191 1.261a.44.44 0 0 1-.185.062.342.342 0 0 1-.34-.338c0-.093.03-.154.062-.247.03-.03.308-1.046.463-1.661 0-.062.03-.154.03-.216 0-.246-.092-.43-.277-.553zm3.21-7.674c.717 0 1.285-.568 1.285-1.285 0-.718-.568-1.286-1.285-1.286-.718 0-1.285.568-1.285 1.286 0 .717.567 1.285 1.285 1.285zm6.666 0c.718 0 1.285-.568 1.285-1.285 0-.718-.567-1.286-1.285-1.286-.717 0-1.285.568-1.285 1.286 0 .717.568 1.285 1.285 1.285z\"}}]}]})(props);\n};\nexport function RiWechat2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.667 11.511a1.276 1.276 0 0 1-1.285-1.285c0-.718.567-1.286 1.285-1.286.717 0 1.285.568 1.285 1.286 0 .717-.568 1.285-1.285 1.285zm6.666 0a1.276 1.276 0 0 1-1.285-1.285c0-.718.568-1.286 1.285-1.286.718 0 1.285.568 1.285 1.286 0 .717-.567 1.285-1.285 1.285zm-8.51 7.704l.715-.436a4 4 0 0 1 2.705-.536c.212.033.386.059.52.076.406.054.82.081 1.237.081 4.42 0 7.9-3.022 7.9-6.6S16.42 5.2 12 5.2s-7.9 3.022-7.9 6.6c0 1.366.5 2.673 1.432 3.781.048.057.12.137.214.235a4 4 0 0 1 1.101 3.102l-.025.297zm-.63 2.727a1 1 0 0 1-1.527-.93l.188-2.26a2 2 0 0 0-.55-1.551A6.993 6.993 0 0 1 4 16.868C2.806 15.447 2.1 13.695 2.1 11.8c0-4.75 4.432-8.6 9.9-8.6s9.9 3.85 9.9 8.6-4.432 8.6-9.9 8.6c-.51 0-1.01-.033-1.499-.098a23.61 23.61 0 0 1-.569-.084 2 2 0 0 0-1.353.268l-2.387 1.456z\"}}]}]})(props);\n};\nexport function RiWechatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.574 13.711a.91.91 0 0 0 .898-.898c0-.498-.399-.898-.898-.898s-.898.4-.898.898c0 .5.4.898.898.898zm-4.425 0a.91.91 0 0 0 .898-.898c0-.498-.4-.898-.898-.898-.5 0-.898.4-.898.898 0 .5.399.898.898.898zm6.567 5.04a.347.347 0 0 0-.172.37c0 .048 0 .097.025.147.098.417.294 1.081.294 1.106 0 .073.025.122.025.172a.22.22 0 0 1-.221.22c-.05 0-.074-.024-.123-.048l-1.449-.836a.799.799 0 0 0-.344-.098c-.073 0-.147 0-.196.024-.688.197-1.4.295-2.161.295-3.66 0-6.607-2.457-6.607-5.505 0-3.047 2.947-5.505 6.607-5.505 3.659 0 6.606 2.458 6.606 5.505 0 1.647-.884 3.146-2.284 4.154zM16.673 8.099a9.105 9.105 0 0 0-.28-.005c-4.174 0-7.606 2.86-7.606 6.505 0 .554.08 1.09.228 1.6h-.089a9.963 9.963 0 0 1-2.584-.368c-.074-.025-.148-.025-.222-.025a.832.832 0 0 0-.418.123l-1.748 1.005c-.05.025-.099.05-.148.05a.273.273 0 0 1-.27-.27c0-.074.024-.123.049-.197.024-.024.246-.834.369-1.324 0-.05.024-.123.024-.172a.556.556 0 0 0-.221-.442C2.058 13.376 1 11.586 1 9.598 1 5.945 4.57 3 8.95 3c3.765 0 6.93 2.169 7.723 5.098zm-5.154.418c.573 0 1.026-.477 1.026-1.026 0-.573-.453-1.026-1.026-1.026s-1.026.453-1.026 1.026.453 1.026 1.026 1.026zm-5.26 0c.573 0 1.027-.477 1.027-1.026 0-.573-.454-1.026-1.027-1.026-.572 0-1.026.453-1.026 1.026s.454 1.026 1.026 1.026z\"}}]}]})(props);\n};\nexport function RiWechatLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10 14.676v-.062c0-2.508 2.016-4.618 4.753-5.233C14.389 7.079 11.959 5.2 8.9 5.2 5.58 5.2 3 7.413 3 9.98c0 .969.36 1.9 1.04 2.698.032.038.083.094.152.165a3.568 3.568 0 0 1 1.002 2.238 3.612 3.612 0 0 1 2.363-.442c.166.026.302.046.405.06A7.254 7.254 0 0 0 10 14.675zm.457 1.951a9.209 9.209 0 0 1-2.753.055 19.056 19.056 0 0 1-.454-.067 1.612 1.612 0 0 0-1.08.212l-1.904 1.148a.806.806 0 0 1-.49.117.791.791 0 0 1-.729-.851l.15-1.781a1.565 1.565 0 0 0-.439-1.223 5.537 5.537 0 0 1-.241-.262C1.563 12.855 1 11.473 1 9.979 1 6.235 4.537 3.2 8.9 3.2c4.06 0 7.403 2.627 7.85 6.008 3.372.153 6.05 2.515 6.05 5.406 0 1.193-.456 2.296-1.229 3.19-.051.06-.116.13-.195.21a1.24 1.24 0 0 0-.356.976l.121 1.423a.635.635 0 0 1-.59.68.66.66 0 0 1-.397-.094l-1.543-.917a1.322 1.322 0 0 0-.874-.169c-.147.023-.27.04-.368.053-.316.04-.64.062-.969.062-2.694 0-4.998-1.408-5.943-3.401zm6.977 1.31a3.325 3.325 0 0 1 1.676.174 3.25 3.25 0 0 1 .841-1.502c.05-.05.087-.09.106-.112.489-.565.743-1.213.743-1.883 0-1.804-1.903-3.414-4.4-3.414-2.497 0-4.4 1.61-4.4 3.414s1.903 3.414 4.4 3.414c.241 0 .48-.016.714-.046.08-.01.188-.025.32-.046z\"}}]}]})(props);\n};\nexport function RiWechatPayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.27 14.669a.662.662 0 0 1-.88-.269l-.043-.095-1.818-3.998a.473.473 0 0 1 0-.145.327.327 0 0 1 .335-.328.305.305 0 0 1 .196.066l2.18 1.527a.989.989 0 0 0 .546.167.894.894 0 0 0 .342-.066l10.047-4.5a10.73 10.73 0 0 0-8.171-3.526C6.478 3.502 2 7.232 2 11.87a7.83 7.83 0 0 0 3.46 6.296.662.662 0 0 1 .24.727l-.45 1.701a.945.945 0 0 0-.051.24.327.327 0 0 0 .334.334.414.414 0 0 0 .19-.058l2.18-1.265c.16-.098.343-.151.531-.152.099 0 .197.014.29.043 1.063.3 2.161.452 3.265.45 5.525 0 10.01-3.729 10.01-8.33a7.226 7.226 0 0 0-1.097-3.883L9.35 14.625l-.08.044z\"}}]}]})(props);\n};\nexport function RiWechatPayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.145 8.993l-9.799 5.608-.07.046a.646.646 0 0 1-.3.068.655.655 0 0 1-.58-.344l-.046-.092-1.83-3.95c-.024-.046-.024-.092-.024-.138 0-.184.139-.321.324-.321.07 0 .14.023.209.069l2.155 1.515c.162.092.348.161.556.161a.937.937 0 0 0 .348-.069l8.275-3.648C16.934 6.273 14.634 5.2 12 5.2c-4.42 0-7.9 3.022-7.9 6.6 0 1.366.5 2.673 1.432 3.781.048.057.12.137.214.235a4 4 0 0 1 1.101 3.102l-.025.297.716-.436a4 4 0 0 1 2.705-.536c.212.033.386.059.52.076.406.054.82.081 1.237.081 4.42 0 7.9-3.022 7.9-6.6 0-.996-.27-1.95-.755-2.807zM6.192 21.943a1 1 0 0 1-1.526-.932l.188-2.259a2 2 0 0 0-.55-1.551A6.993 6.993 0 0 1 4 16.868C2.806 15.447 2.1 13.695 2.1 11.8c0-4.75 4.432-8.6 9.9-8.6s9.9 3.85 9.9 8.6-4.432 8.6-9.9 8.6c-.51 0-1.01-.033-1.499-.098a23.61 23.61 0 0 1-.569-.084 2 2 0 0 0-1.353.268l-2.387 1.456z\"}}]}]})(props);\n};\nexport function RiWeiboFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.525 11.378c1.263.392 2.669 1.336 2.669 3.004 0 2.763-3.98 6.239-9.964 6.239-4.565 0-9.23-2.213-9.23-5.852 0-1.902 1.204-4.102 3.277-6.177 2.773-2.77 6.004-4.033 7.219-2.816.537.537.588 1.464.244 2.572-.178.557.525.25.525.25 2.24-.938 4.196-.994 4.909.027.38.543.343 1.306-.008 2.19-.163.407.048.471.36.563zm-7.282 7.939c3.641-.362 6.401-2.592 6.167-4.983-.237-2.391-3.382-4.038-7.023-3.677-3.64.36-6.403 2.59-6.167 4.98.237 2.394 3.382 4.039 7.023 3.68zM6.16 14.438c.754-1.527 2.712-2.39 4.446-1.94 1.793.463 2.707 2.154 1.976 3.8-.744 1.682-2.882 2.578-4.695 1.993-1.752-.566-2.493-2.294-1.727-3.853zm1.446 2.587c.568.257 1.325.013 1.676-.55.346-.568.163-1.217-.407-1.459-.563-.237-1.291.008-1.64.553-.354.547-.189 1.202.371 1.456zm2.206-1.808c.219.092.501-.012.628-.231.123-.22.044-.466-.178-.548-.216-.084-.486.018-.613.232-.123.214-.054.458.163.547zM19.873 9.5a.725.725 0 1 1-1.378-.451 1.38 1.38 0 0 0-.288-1.357 1.395 1.395 0 0 0-1.321-.425.723.723 0 1 1-.303-1.416 2.836 2.836 0 0 1 3.29 3.649zm-3.916-6.575A5.831 5.831 0 0 1 21.5 4.72a5.836 5.836 0 0 1 1.22 5.704.838.838 0 0 1-1.06.54.844.844 0 0 1-.542-1.062 4.143 4.143 0 0 0-4.807-5.327.845.845 0 0 1-.354-1.65z\"}}]}]})(props);\n};\nexport function RiWeiboLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20.194 14.197c0 3.362-4.53 6.424-9.926 6.424C5.318 20.62 1 18.189 1 14.534c0-1.947 1.18-4.087 3.24-6.088 2.832-2.746 6.229-4.033 7.858-2.448.498.482.723 1.122.719 1.858 1.975-.576 3.65-.404 4.483.752.449.623.532 1.38.326 2.207 1.511.61 2.568 1.77 2.568 3.382zm-4.44-2.07c-.386-.41-.4-.92-.198-1.41.208-.508.213-.812.12-.94-.264-.368-1.533-.363-3.194.311a2.043 2.043 0 0 1-.509.14c-.344.046-.671.001-.983-.265-.419-.359-.474-.855-.322-1.316.215-.67.18-1.076.037-1.215-.186-.18-.777-.191-1.659.143-1.069.405-2.298 1.224-3.414 2.306C3.925 11.54 3 13.218 3 14.534c0 2.242 3.276 4.087 7.268 4.087 4.42 0 7.926-2.37 7.926-4.424 0-.738-.637-1.339-1.673-1.652-.394-.113-.536-.171-.767-.417zm7.054-1.617a1 1 0 0 1-1.936-.502 4 4 0 0 0-4.693-4.924 1 1 0 1 1-.407-1.958 6 6 0 0 1 7.036 7.384z\"}}]}]})(props);\n};\nexport function RiWhatsappFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M2.004 22l1.352-4.968A9.954 9.954 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.954 9.954 0 0 1-5.03-1.355L2.004 22zM8.391 7.308a.961.961 0 0 0-.371.1 1.293 1.293 0 0 0-.294.228c-.12.113-.188.211-.261.306A2.729 2.729 0 0 0 6.9 9.62c.002.49.13.967.33 1.413.409.902 1.082 1.857 1.971 2.742.214.213.423.427.648.626a9.448 9.448 0 0 0 3.84 2.046l.569.087c.185.01.37-.004.556-.013a1.99 1.99 0 0 0 .833-.231c.166-.088.244-.132.383-.22 0 0 .043-.028.125-.09.135-.1.218-.171.33-.288.083-.086.155-.187.21-.302.078-.163.156-.474.188-.733.024-.198.017-.306.014-.373-.004-.107-.093-.218-.19-.265l-.582-.261s-.87-.379-1.401-.621a.498.498 0 0 0-.177-.041.482.482 0 0 0-.378.127v-.002c-.005 0-.072.057-.795.933a.35.35 0 0 1-.368.13 1.416 1.416 0 0 1-.191-.066c-.124-.052-.167-.072-.252-.109l-.005-.002a6.01 6.01 0 0 1-1.57-1c-.126-.11-.243-.23-.363-.346a6.296 6.296 0 0 1-1.02-1.268l-.059-.095a.923.923 0 0 1-.102-.205c-.038-.147.061-.265.061-.265s.243-.266.356-.41a4.38 4.38 0 0 0 .263-.373c.118-.19.155-.385.093-.536-.28-.684-.57-1.365-.868-2.041-.059-.134-.234-.23-.393-.249-.054-.006-.108-.012-.162-.016a3.385 3.385 0 0 0-.403.004z\"}}]}]})(props);\n};\nexport function RiWhatsappLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M7.253 18.494l.724.423A7.953 7.953 0 0 0 12 20a8 8 0 1 0-8-8c0 1.436.377 2.813 1.084 4.024l.422.724-.653 2.401 2.4-.655zM2.004 22l1.352-4.968A9.954 9.954 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10a9.954 9.954 0 0 1-5.03-1.355L2.004 22zM8.391 7.308c.134-.01.269-.01.403-.004.054.004.108.01.162.016.159.018.334.115.393.249.298.676.588 1.357.868 2.04.062.152.025.347-.093.537a4.38 4.38 0 0 1-.263.372c-.113.145-.356.411-.356.411s-.099.118-.061.265c.014.056.06.137.102.205l.059.095c.256.427.6.86 1.02 1.268.12.116.237.235.363.346.468.413.998.75 1.57 1l.005.002c.085.037.128.057.252.11.062.026.126.049.191.066a.35.35 0 0 0 .367-.13c.724-.877.79-.934.796-.934v.002a.482.482 0 0 1 .378-.127c.06.004.121.015.177.04.531.243 1.4.622 1.4.622l.582.261c.098.047.187.158.19.265.004.067.01.175-.013.373-.032.259-.11.57-.188.733a1.155 1.155 0 0 1-.21.302 2.378 2.378 0 0 1-.33.288 3.71 3.71 0 0 1-.125.09 5.024 5.024 0 0 1-.383.22 1.99 1.99 0 0 1-.833.23c-.185.01-.37.024-.556.014-.008 0-.568-.087-.568-.087a9.448 9.448 0 0 1-3.84-2.046c-.226-.199-.435-.413-.649-.626-.89-.885-1.562-1.84-1.97-2.742A3.47 3.47 0 0 1 6.9 9.62a2.729 2.729 0 0 1 .564-1.68c.073-.094.142-.192.261-.305.127-.12.207-.184.294-.228a.961.961 0 0 1 .371-.1z\"}}]}]})(props);\n};\nexport function RiWindowsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.479l7.377-1.016v7.127H3V5.48zm0 13.042l7.377 1.017v-7.04H3v6.023zm8.188 1.125L21 21v-8.502h-9.812v7.148zm0-15.292v7.236H21V3l-9.812 1.354z\"}}]}]})(props);\n};\nexport function RiWindowsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2.5v19l-18-2v-15l18-2zm-2 10.499L12 13v5.487l7 .778V13zm-14 4.71l5 .556V13l-5-.001v4.71zM19 11V4.735l-7 .777V11l7-.001zm-9-5.265L5 6.29V11L10 11V5.734z\"}}]}]})(props);\n};\nexport function RiXboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5.418 19.527A9.956 9.956 0 0 0 12 22a9.967 9.967 0 0 0 6.585-2.473c1.564-1.593-3.597-7.257-6.585-9.514-2.985 2.257-8.15 7.921-6.582 9.514zm9.3-12.005c2.084 2.468 6.237 8.595 5.064 10.76A9.952 9.952 0 0 0 22 12.003a9.958 9.958 0 0 0-2.975-7.113s-.022-.018-.068-.035a.686.686 0 0 0-.235-.038c-.493 0-1.654.362-4.004 2.705zM5.045 4.856c-.048.017-.068.034-.072.035A9.963 9.963 0 0 0 2 12.003c0 2.379.832 4.561 2.218 6.278C3.05 16.11 7.2 9.988 9.284 7.523 6.934 5.178 5.771 4.818 5.28 4.818a.604.604 0 0 0-.234.039v-.002zM12 4.959S9.546 3.523 7.63 3.455c-.753-.027-1.212.246-1.268.282C8.149 2.538 10.049 2 11.987 2H12c1.945 0 3.838.538 5.638 1.737-.056-.038-.512-.31-1.266-.282-1.917.068-4.372 1.5-4.372 1.5v.004z\"}}]}]})(props);\n};\nexport function RiXboxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.797 15.485c1.124-2.52 3.2-5.44 4.487-6.962-1.248-1.246-2.162-1.931-2.818-2.3A7.977 7.977 0 0 0 4 12c0 1.25.286 2.432.797 3.485zm4.051-10.84C10.448 5.05 12 5.959 12 5.959v-.005s1.552-.904 3.151-1.31A7.974 7.974 0 0 0 12 4c-1.12 0-2.185.23-3.152.645zm8.686 1.578c-.655.37-1.568 1.055-2.816 2.3 1.287 1.523 3.362 4.441 4.486 6.961A7.968 7.968 0 0 0 20 12c0-2.27-.946-4.32-2.466-5.777zm.408 11.133c-1.403-2.236-4.09-4.944-5.942-6.343-1.85 1.4-4.539 4.108-5.941 6.345A7.98 7.98 0 0 0 12 20a7.98 7.98 0 0 0 5.942-2.644zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiXingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.462 3.23c.153 0 .307.078.384.155a.49.49 0 0 1 0 .461l-6.077 10.77 3.846 7.076a.49.49 0 0 1 0 .462.588.588 0 0 1-.384.154h-2.77c-.384 0-.615-.308-.769-.539l-3.923-7.154C11 14.308 16.923 3.77 16.923 3.77c.154-.307.385-.538.77-.538h2.769zM8.923 7c.385 0 .615.308.77.538l1.922 3.308c-.153.154-3 5.23-3 5.23-.153.232-.384.54-.769.54H5.154a.588.588 0 0 1-.385-.154.49.49 0 0 1 0-.462l2.846-5.154-1.846-3.23a.49.49 0 0 1 0-.462A.588.588 0 0 1 6.154 7h2.77z\"}}]}]})(props);\n};\nexport function RiXingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.444 3.5L13.81 14.99 17.857 22h-2.31l-4.045-7.009H11.5L18.134 3.5h2.31zM8.31 7l2.422 4.196-.002.001L7.67 16.5H5.361l3.06-5.305L6.002 7H8.31z\"}}]}]})(props);\n};\nexport function RiYoutubeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.543 6.498C22 8.28 22 12 22 12s0 3.72-.457 5.502c-.254.985-.997 1.76-1.938 2.022C17.896 20 12 20 12 20s-5.893 0-7.605-.476c-.945-.266-1.687-1.04-1.938-2.022C2 15.72 2 12 2 12s0-3.72.457-5.502c.254-.985.997-1.76 1.938-2.022C6.107 4 12 4 12 4s5.896 0 7.605.476c.945.266 1.687 1.04 1.938 2.022zM10 15.5l6-3.5-6-3.5v7z\"}}]}]})(props);\n};\nexport function RiYoutubeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M19.606 6.995c-.076-.298-.292-.523-.539-.592C18.63 6.28 16.5 6 12 6s-6.628.28-7.069.403c-.244.068-.46.293-.537.592C4.285 7.419 4 9.196 4 12s.285 4.58.394 5.006c.076.297.292.522.538.59C5.372 17.72 7.5 18 12 18s6.629-.28 7.069-.403c.244-.068.46-.293.537-.592C19.715 16.581 20 14.8 20 12s-.285-4.58-.394-5.005zm1.937-.497C22 8.28 22 12 22 12s0 3.72-.457 5.502c-.254.985-.997 1.76-1.938 2.022C17.896 20 12 20 12 20s-5.893 0-7.605-.476c-.945-.266-1.687-1.04-1.938-2.022C2 15.72 2 12 2 12s0-3.72.457-5.502c.254-.985.997-1.76 1.938-2.022C6.107 4 12 4 12 4s5.896 0 7.605.476c.945.266 1.687 1.04 1.938 2.022zM10 15.5v-7l6 3.5-6 3.5z\"}}]}]})(props);\n};\nexport function RiZcoolFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.902 21.839A7.903 7.903 0 0 1 2 13.935C2 10.29 4.467 7.06 7.824 6.31 11.745 5.43 13.528 4.742 14.9 2c.998 1.935.323 3.71 0 4.677 4.698-1.129 6.371-3.28 6.774-3.548 0 3.952-1.231 6.452-2.419 8.065 1.476-.056 2.009-.484 2.744-.587-.325 1.448-1.5 3.49-4.33 4.795a7.905 7.905 0 0 1-7.768 6.437zm3.71-6.452c0 .323-.053.484-.403.484l-3.15.002 2.96-3.248c.86-.86.86-1.29.86-2.388 0-.334-.048-.717.048-1.05.047-.144-.048-.192-.191-.144-.335.095-.908.095-1.863.095H7.575c-.239 0-.335-.143-.239-.334 0-.048 0-.191-.096-.191-.62.286-.764 1.576-.716 2.388 0 .43.239.669.573.669h3.391l-3.486 3.725c-.24.287-.478.669-.478 1.194v1.051c0 .478.287.764.812.86h5.988c.555 0 .933-.233.933-.855v-1.129c0-.208 0-.968-.645-1.129z\"}}]}]})(props);\n};\nexport function RiZcoolLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.26 8.26C5.838 8.803 4 11.208 4 13.935a5.903 5.903 0 0 0 11.703 1.098 2 2 0 0 1 1.129-1.448c.482-.222.91-.473 1.284-.743-.863-.603-1.186-1.862-.47-2.834a9.796 9.796 0 0 0 1.391-2.651 19.04 19.04 0 0 1-3.668 1.265c-1.261.303-2.392-.638-2.466-1.814-1.18.572-2.67 1.01-4.642 1.452zm10.996 2.934c1.166 0 1.917-.424 2.744-.587-.325 1.448-1.5 3.49-4.33 4.795A7.903 7.903 0 0 1 2 13.936C2 10.29 4.467 7.06 7.824 6.308 11.745 5.43 13.528 4.742 14.9 2c.689 1.333.689 2.892 0 4.677 2.816-.67 5.074-1.852 6.774-3.548 0 4.802-1.822 7.186-2.419 8.065zm-5.84 3.932c.584.145.584.832.584 1.02v1.022c0 .561-.342.773-.844.773H7.742c-.475-.087-.734-.346-.734-.778v-.95c0-.475.216-.82.432-1.08l3.152-3.369H7.526c-.302 0-.518-.216-.518-.604-.044-.735.086-1.9.647-2.16.087 0 .087.13.087.173-.087.173 0 .302.216.302h3.887c.863 0 1.381 0 1.684-.086.13-.043.216 0 .173.13-.087.302-.044.647-.044.95 0 .993 0 1.382-.777 2.159l-2.678 2.937 2.85-.002c.316 0 .364-.146.364-.437z\"}}]}]})(props);\n};\nexport function RiZhihuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13.373 18.897h1.452l.478 1.637 2.605-1.637h3.07V5.395h-7.605v13.502zM14.918 6.86h4.515v10.57h-1.732l-1.73 1.087-.314-1.084-.739-.003V6.861zm-2.83 4.712H8.846a70.3 70.3 0 0 0 .136-4.56h3.172s.122-1.4-.532-1.384H6.135c.216-.814.488-1.655.813-2.524 0 0-1.493 0-2 1.339-.211.552-.82 2.677-1.904 4.848.365-.04 1.573-.073 2.284-1.378.131-.366.156-.413.318-.902h1.79c0 .651-.074 4.151-.104 4.558h-3.24c-.729 0-.965 1.466-.965 1.466h4.066C6.92 16.131 5.456 18.74 2.8 20.8c1.27.363 2.536-.057 3.162-.614 0 0 1.425-1.297 2.206-4.298l3.346 4.03s.49-1.668-.077-2.481c-.47-.554-1.74-2.052-2.281-2.595l-.907.72c.27-.867.433-1.71.488-2.524h3.822s-.005-1.466-.47-1.466z\"}}]}]})(props);\n};\nexport function RiZhihuLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.344 17.963l-1.688 1.074-2.131-3.35c-.44 1.402-1.172 2.665-2.139 3.825-.402.483-.82.918-1.301 1.375-.155.147-.775.717-.878.82l-1.414-1.414c.139-.139.787-.735.915-.856.43-.408.795-.79 1.142-1.206 1.266-1.518 2.03-3.21 2.137-5.231H3v-2h4V7h-.868c-.689 1.266-1.558 2.222-2.618 2.857L2.486 8.143c1.395-.838 2.425-2.604 3.038-5.36l1.952.434c-.14.633-.303 1.227-.489 1.783H11.5v2H9v4h2.5v2H9.185l3.159 4.963zm3.838-.07L17.298 17H19V7h-4v10h.736l.446.893zM13 5h8v14h-3l-2.5 2-1-2H13V5z\"}}]}]})(props);\n};\nexport function RiAnchorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9.874v10.054c3.619-.453 6.487-3.336 6.938-6.972H17L20.704 7A10.041 10.041 0 0 1 22 11.95C22 17.5 17.523 22 12 22S2 17.5 2 11.95c0-1.8.471-3.489 1.296-4.95L7 12.956H4.062c.451 3.636 3.32 6.519 6.938 6.972V9.874A4.002 4.002 0 0 1 12 2a4 4 0 0 1 1 7.874zM12 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiAnchorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.05 11H7v2H4.062A8.004 8.004 0 0 0 11 19.938V9.874A4.002 4.002 0 0 1 12 2a4 4 0 0 1 1 7.874v10.064A8.004 8.004 0 0 0 19.938 13H17v-2h4.95c.033.329.05.663.05 1 0 5.523-4.477 10-10 10S2 17.523 2 12c0-.337.017-.671.05-1zM12 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiBarricadeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.556 19H21v2H3v-2h1.444l.89-4h13.333l.889 4zM17.333 9l.89 4H5.777l.889-4h10.666zm-.444-2H7.11l.715-3.217A1 1 0 0 1 8.802 3h6.396a1 1 0 0 1 .976.783L16.889 7z\"}}]}]})(props);\n};\nexport function RiBarricadeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.493 19h11.014l-.667-3H7.16l-.667 3zm13.063 0H21v2H3v-2h1.444L7.826 3.783A1 1 0 0 1 8.802 3h6.396a1 1 0 0 1 .976.783L19.556 19zM7.604 14h8.792l-.89-4H8.494l-.889 4zm1.334-6h6.124l-.666-3H9.604l-.666 3z\"}}]}]})(props);\n};\nexport function RiBikeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 12H4V7H2V5h6v2H6v2.795l9.813-2.629L15.233 5H12V3h3.978a1 1 0 0 1 .988.741l1.553 5.796-1.932.517-.256-.956L5.5 12zM5 21a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm13 3a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-4a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiBikeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 12H4V7H2V5h6v2H6v2.795l9.813-2.629L15.233 5H12V3h3.978a1 1 0 0 1 .988.741l1.553 5.796-1.932.517-.256-.956L5.5 12zM5 19a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm13-2a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 2a5 5 0 1 1 0-10 5 5 0 0 1 0 10z\"}}]}]})(props);\n};\nexport function RiBus2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20H7v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-9H2V8h1V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3h1v4h-1v9a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-1zM5 5v7h14V5H5zm2.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiBus2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20H7v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-9H2V8h1V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3h1v4h-1v9a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-1zM5 5v6h14V5H5zm14 8H5v5h14v-5zM7.5 17a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm9 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiBusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20H7v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1H3v-8H2V8h1V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3h1v4h-1v8h-1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zM5 5v9h14V5H5zm0 11v2h4v-2H5zm10 0v2h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiBusLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20H7v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1H3v-8H2V8h1V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3h1v4h-1v8h-1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zm2-8V5H5v7h14zm0 2H5v4h14v-4zM6 15h4v2H6v-2zm8 0h4v2h-4v-2z\"}}]}]})(props);\n};\nexport function RiBusWifiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v2H5v9h14v-2h2v8h-1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H7v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1H3v-8H2V8h1V5a2 2 0 0 1 2-2h7zM9 16H5v2h4v-2zm10 0h-4v2h4v-2zm-.5-15a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiBusWifiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3v2H5v7h16v8h-1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H7v1a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1H3v-8H2V8h1V5a2 2 0 0 1 2-2h7zm7 11H5v4h14v-4zm-9 1v2H6v-2h4zm8 0v2h-4v-2h4zm.5-14a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiCarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 20H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-9l2.513-6.702A2 2 0 0 1 6.386 4h11.228a2 2 0 0 1 1.873 1.298L22 12v9a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zM4.136 12h15.728l-2.25-6H6.386l-2.25 6zM6.5 17a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiCarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 20H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V11l2.48-5.788A2 2 0 0 1 6.32 4H17.68a2 2 0 0 1 1.838 1.212L22 11v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zm1-7H4v5h16v-5zM4.176 11h15.648l-2.143-5H6.32l-2.143 5zM6.5 17a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm11 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiCarWashingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-9l2.417-4.029A2 2 0 0 1 6.132 8h11.736a2 2 0 0 1 1.715.971L22 13v9a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zM4.332 13h15.336l-1.8-3H6.132l-1.8 3zM6.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM5.44 3.44L6.5 2.378l1.06 1.06a1.5 1.5 0 1 1-2.121 0zm5.5 0L12 2.378l1.06 1.06a1.5 1.5 0 1 1-2.121 0zm5.5 0l1.06-1.061 1.06 1.06a1.5 1.5 0 1 1-2.121 0z\"}}]}]})(props);\n};\nexport function RiCarWashingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V12l2.417-4.029A2 2 0 0 1 6.132 7h11.736a2 2 0 0 1 1.715.971L22 12v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zm1-7H4v5h16v-5zM4.332 12h15.336l-1.8-3H6.132l-1.8 3zM5.44 3.44L6.5 2.378l1.06 1.06a1.5 1.5 0 1 1-2.121 0zm5.5 0L12 2.378l1.06 1.06a1.5 1.5 0 1 1-2.121 0zm5.5 0L17.5 2.378l1.06 1.06a1.5 1.5 0 1 1-2.121 0zM6.5 18a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm11 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiCaravanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.172 3c.53 0 1.039.21 1.414.586l4.828 4.828c.375.375.586.884.586 1.414V17h2v2h-8.126c-.445 1.726-2.01 3-3.874 3-1.864 0-3.43-1.274-3.874-3H3c-.552 0-1-.448-1-1V5c0-1.105.895-2 2-2h10.172zM11 16c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2zm3-9H6v6h8V7zm-2 2v2H8V9h4z\"}}]}]})(props);\n};\nexport function RiCaravanLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0L24 0 24 24 0 24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.172 3c.53 0 1.039.21 1.414.586l4.828 4.828c.375.375.586.884.586 1.414V17h2v2h-8.126c-.445 1.726-2.01 3-3.874 3-1.864 0-3.43-1.274-3.874-3H3c-.552 0-1-.448-1-1V5c0-1.105.895-2 2-2h10.172zM11 16c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2zm3.172-11H4v12h3.126c.444-1.725 2.01-3 3.874-3 1.864 0 3.43 1.275 3.874 3H19V9.828L14.172 5zM14 7v6H6V7h8zm-2 2H8v2h4V9z\"}}]}]})(props);\n};\nexport function RiChargingPile2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11h-1V7h1V4h2v3h1v4h-1v7a3 3 0 0 1-6 0v-4h-2v5h1v2H2v-2h1V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8h2a2 2 0 0 1 2 2v4a1 1 0 0 0 2 0v-7zM9 11V7l-4 6h3v4l4-6H9z\"}}]}]})(props);\n};\nexport function RiChargingPile2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11h-1V7h1V4h2v3h1v4h-1v7a3 3 0 0 1-6 0v-4h-2v5h1v2H2v-2h1V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8h2a2 2 0 0 1 2 2v4a1 1 0 0 0 2 0v-7zm-8 8V5H5v14h7zm-3-8h3l-4 6v-4H5l4-6v4z\"}}]}]})(props);\n};\nexport function RiChargingPileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8h2a2 2 0 0 1 2 2v4a1 1 0 0 0 2 0v-7h-2a1 1 0 0 1-1-1V6.414l-1.657-1.657 1.414-1.414 4.95 4.95A.997.997 0 0 1 22 9v9a3 3 0 0 1-6 0v-4h-2v5h1v2H2v-2h1zm6-8V7l-4 6h3v4l4-6H9z\"}}]}]})(props);\n};\nexport function RiChargingPileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19h1v2H2v-2h1V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8h2a2 2 0 0 1 2 2v4a1 1 0 0 0 2 0v-7h-2a1 1 0 0 1-1-1V6.414l-1.657-1.657 1.414-1.414 4.95 4.95A.997.997 0 0 1 22 9v9a3 3 0 0 1-6 0v-4h-2v5zm-9 0h7V5H5v14zm4-8h3l-4 6v-4H5l4-6v4z\"}}]}]})(props);\n};\nexport function RiChinaRailwayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19v-6l-2-1V9h6v3l-2 1v6l5 1v2H6v-2l5-1zM10 2.223V1h4v1.223a9.003 9.003 0 0 1 2.993 16.266l-1.11-1.664a7 7 0 1 0-7.767 0l-1.109 1.664A9.003 9.003 0 0 1 10 2.223z\"}}]}]})(props);\n};\nexport function RiChinaRailwayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 20v-7H9v-3h6v3h-2v7h5v2H6v-2h5zM10 2.223V1h4v1.223a9.003 9.003 0 0 1 2.993 16.266l-1.11-1.664a7 7 0 1 0-7.767 0l-1.109 1.664A9.003 9.003 0 0 1 10 2.223z\"}}]}]})(props);\n};\nexport function RiCompass2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.328 4.258L10.586 12 12 13.414l7.742-7.742A9.957 9.957 0 0 1 22 12c0 5.52-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2c2.4 0 4.604.847 6.328 2.258z\"}}]}]})(props);\n};\nexport function RiCompass2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.625 3.133l-1.5 1.5A7.98 7.98 0 0 0 12 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8a7.98 7.98 0 0 0-.633-3.125l1.5-1.5A9.951 9.951 0 0 1 22 12c0 5.52-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2c1.668 0 3.241.41 4.625 1.133zm1.739 1.089l1.414 1.414L12 13.414 10.586 12l7.778-7.778z\"}}]}]})(props);\n};\nexport function RiCompass3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm4.5-14.5L10 10l-2.5 6.5L14 14l2.5-6.5zM12 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiCompass3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm4.5-12.5L14 14l-6.5 2.5L10 10l6.5-2.5zM12 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiCompass4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm3.446-12.032a4.02 4.02 0 0 0-1.414-1.414l-5.478 5.478a4.02 4.02 0 0 0 1.414 1.414l5.478-5.478z\"}}]}]})(props);\n};\nexport function RiCompass4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm3.446-10.032l-5.478 5.478a4.02 4.02 0 0 1-1.414-1.414l5.478-5.478a4.02 4.02 0 0 1 1.414 1.414z\"}}]}]})(props);\n};\nexport function RiCompassDiscoverFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 22C7.477 22 3 17.523 3 12S7.477 2 13 2s10 4.477 10 10-4.477 10-10 10zM8 11.5l4 1.5 1.5 4.002L17 8l-9 3.5z\"}}]}]})(props);\n};\nexport function RiCompassDiscoverLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-5-8.5L16 8l-3.5 9.002L11 13l-4-1.5z\"}}]}]})(props);\n};\nexport function RiCompassFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm3.5-13.5l-5 2-2 5 5-2 2-5z\"}}]}]})(props);\n};\nexport function RiCompassLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm3.5-11.5l-2 5-5 2 2-5 5-2z\"}}]}]})(props);\n};\nexport function RiCupFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3h15a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2v3a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V4a1 1 0 0 1 1-1zm13 2v3h2V5h-2zM2 19h18v2H2v-2z\"}}]}]})(props);\n};\nexport function RiCupLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13V5H6v8a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2zM5 3h15a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-2v3a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V4a1 1 0 0 1 1-1zm13 2v3h2V5h-2zM2 19h18v2H2v-2z\"}}]}]})(props);\n};\nexport function RiDirectionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10a1 1 0 0 0-1 1v4h2v-3h3v2.5l3.5-3.5L13 7.5V10H9zm3.707-8.607l9.9 9.9a1 1 0 0 1 0 1.414l-9.9 9.9a1 1 0 0 1-1.414 0l-9.9-9.9a1 1 0 0 1 0-1.414l9.9-9.9a1 1 0 0 1 1.414 0z\"}}]}]})(props);\n};\nexport function RiDirectionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3.515L3.515 12 12 20.485 20.485 12 12 3.515zm.707-2.122l9.9 9.9a1 1 0 0 1 0 1.414l-9.9 9.9a1 1 0 0 1-1.414 0l-9.9-9.9a1 1 0 0 1 0-1.414l9.9-9.9a1 1 0 0 1 1.414 0zM13 10V7.5l3.5 3.5-3.5 3.5V12h-3v3H8v-4a1 1 0 0 1 1-1h4z\"}}]}]})(props);\n};\nexport function RiEBike2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16,1 C16.5522847,1 17,1.44771525 17,2 L17,3 L22,3 L22,9 L19.980979,9 L22.7270773,16.5448432 C22.9032836,16.9958219 23,17.4866163 23,18 C23,20.209139 21.209139,22 19,22 C17.1361606,22 15.5700603,20.7252272 15.1260175,19 L10.8739825,19 C10.4299397,20.7252272 8.86383943,22 7,22 C5.05550552,22 3.43507622,20.612512 3.0747418,18.7735658 C2.43596423,18.4396361 2,17.7707305 2,17 L2,7 C2,6.44771525 2.44771525,6 3,6 L10,6 C10.5522847,6 11,6.44771525 11,7 L11,12 C11,12.5522847 11.4477153,13 12,13 L14,13 C14.5522847,13 15,12.5522847 15,12 L15,3 L12,3 L12,1 L16,1 Z M19,16 C17.8954305,16 17,16.8954305 17,18 C17,19.1045695 17.8954305,20 19,20 C20.1045695,20 21,19.1045695 21,18 C21,17.7596672 20.9576092,17.5292353 20.8798967,17.3157736 L20.8635387,17.2724216 C20.5725256,16.5276089 19.8478776,16 19,16 Z M7,16 C5.8954305,16 5,16.8954305 5,18 C5,19.1045695 5.8954305,20 7,20 C8.1045695,20 9,19.1045695 9,18 C9,16.8954305 8.1045695,16 7,16 Z M9,8 L4,8 L4,10 L9,10 L9,8 Z M20,5 L17,5 L17,7 L20,7 L20,5 Z\"}}]}]})(props);\n};\nexport function RiEBike2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16,1 C16.5522847,1 17,1.44771525 17,2 L17,3 L22,3 L22,9 L19.9813388,9 L22.7270773,16.5438545 C22.9032836,16.9948332 23,17.4856276 23,17.9990113 C23,20.2081503 21.209139,21.9990113 19,21.9990113 C17.1365166,21.9990113 15.5706587,20.7247255 15.1262721,19 L10.8739825,19 C10.4299397,20.7252272 8.86383943,22 7,22 C5.05550552,22 3.43507622,20.612512 3.0747418,18.7735658 C2.43596423,18.4396361 2,17.7707305 2,17 L2,7 C2,6.44771525 2.44771525,6 3,6 L10,6 C10.5522847,6 11,6.44771525 11,7 L11,12 C11,12.5522847 11.4477153,13 12,13 L14,13 C14.5522847,13 15,12.5522847 15,12 L15,3 L12,3 L12,1 L16,1 Z M7,16 C5.8954305,16 5,16.8954305 5,18 C5,19.1045695 5.8954305,20 7,20 C8.1045695,20 9,19.1045695 9,18 C9,16.8954305 8.1045695,16 7,16 Z M19,15.9990113 C17.8954305,15.9990113 17,16.8944418 17,17.9990113 C17,19.1035808 17.8954305,19.9990113 19,19.9990113 C20.1045695,19.9990113 21,19.1035808 21,17.9990113 C21,17.7586785 20.9576092,17.5282466 20.8798967,17.3147849 L20.8635387,17.2714329 C20.5725256,16.5266202 19.8478776,15.9990113 19,15.9990113 Z M17.8529833,9 L16.9999998,9 L16.9999998,12 C16.9999998,13.6568542 15.6568542,15 13.9999998,15 L11.9999998,15 C10.3431458,15 8.99999976,13.6568542 8.99999976,12 L3.99999976,12 L3.99999976,15.3541759 C4.73294422,14.523755 5.80530734,14 6.99999976,14 C8.86383943,14 10.4299397,15.2747728 10.8739825,17 L15.1257631,17 C15.569462,15.2742711 17.1358045,13.9990113 18.9999998,13.9990113 C19.2368134,13.9990113 19.4688203,14.0195905 19.6943299,14.0590581 L17.8529833,9 Z M8.99999976,8 L3.99999976,8 L3.99999976,10 L8.99999976,10 L8.99999976,8 Z M20,5 L17,5 L17,7 L20,7 L20,5 Z\"}}]}]})(props);\n};\nexport function RiEBikeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 6.937A6.997 6.997 0 0 1 19 13v8h-4.17a3.001 3.001 0 0 1-5.66 0H5v-8a6.997 6.997 0 0 1 3.5-6.063A3.974 3.974 0 0 1 8.125 6H5V4h3.126a4.002 4.002 0 0 1 7.748 0H19v2h-3.126c-.085.33-.212.645-.373.937zM12 14a1 1 0 0 0-1 1v5a1 1 0 0 0 2 0v-5a1 1 0 0 0-1-1zm0-7a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiEBikeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 6.937A6.997 6.997 0 0 1 19 13v8h-4.17a3.001 3.001 0 0 1-5.66 0H5v-8a6.997 6.997 0 0 1 3.5-6.063A3.974 3.974 0 0 1 8.125 6H5V4h3.126a4.002 4.002 0 0 1 7.748 0H19v2h-3.126c-.085.33-.212.645-.373.937zm-1.453 1.5C13.448 8.795 12.748 9 12 9a3.981 3.981 0 0 1-2.047-.563A5.001 5.001 0 0 0 7 13v6h2v-4a3 3 0 0 1 6 0v4h2v-6a5.001 5.001 0 0 0-2.953-4.563zM12 14a1 1 0 0 0-1 1v5a1 1 0 0 0 2 0v-5a1 1 0 0 0-1-1zm0-7a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiEarthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm6.355-6.048v-.105c0-.922 0-1.343-.652-1.716a7.374 7.374 0 0 0-.645-.325c-.367-.167-.61-.276-.938-.756a12.014 12.014 0 0 1-.116-.172c-.345-.525-.594-.903-1.542-.753-1.865.296-2.003.624-2.085 1.178l-.013.091c-.121.81-.143 1.082.195 1.437 1.265 1.327 2.023 2.284 2.253 2.844.112.273.4 1.1.202 1.918a8.185 8.185 0 0 0 3.151-2.237c.11-.374.19-.84.19-1.404zM12 3.833c-2.317 0-4.41.966-5.896 2.516.177.123.331.296.437.534.204.457.204.928.204 1.345 0 .328 0 .64.105.865.144.308.766.44 1.315.554.197.042.399.084.583.135.506.14.898.595 1.211.96.13.151.323.374.42.43.05-.036.211-.211.29-.498.062-.22.044-.414-.045-.52-.56-.66-.529-1.93-.356-2.399.272-.739 1.122-.684 1.744-.644.232.015.45.03.614.009.622-.078.814-1.025.949-1.21.292-.4 1.186-1.003 1.74-1.375A8.138 8.138 0 0 0 12 3.833z\"}}]}]})(props);\n};\nexport function RiEarthLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.235 6.453a8 8 0 0 0 8.817 12.944c.115-.75-.137-1.47-.24-1.722-.23-.56-.988-1.517-2.253-2.844-.338-.355-.316-.628-.195-1.437l.013-.091c.082-.554.22-.882 2.085-1.178.948-.15 1.197.228 1.542.753l.116.172c.328.48.571.59.938.756.165.075.37.17.645.325.652.373.652.794.652 1.716v.105c0 .391-.038.735-.098 1.034a8.002 8.002 0 0 0-3.105-12.341c-.553.373-1.312.902-1.577 1.265-.135.185-.327 1.132-.95 1.21-.162.02-.381.006-.613-.009-.622-.04-1.472-.095-1.744.644-.173.468-.203 1.74.356 2.4.09.105.107.3.046.519-.08.287-.241.462-.292.498-.096-.056-.288-.279-.419-.43-.313-.365-.705-.82-1.211-.96-.184-.051-.386-.093-.583-.135-.549-.115-1.17-.246-1.315-.554-.106-.226-.105-.537-.105-.865 0-.417 0-.888-.204-1.345a1.276 1.276 0 0 0-.306-.43zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiFlightLandFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.254 10.47l-.37-8.382 1.933.518 2.81 9.035 5.261 1.41a1.5 1.5 0 1 1-.776 2.898L4.14 11.937l.776-2.898.242.065.914 3.35-2.627-.703a1 1 0 0 1-.74-.983l.09-5.403 1.449.388.914 3.351 5.096 1.366zM4 19h16v2H4v-2z\"}}]}]})(props);\n};\nexport function RiFlightLandLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.254 10.47l-.37-8.382 1.933.518 2.81 9.035 5.261 1.41a1.5 1.5 0 1 1-.776 2.898L4.14 11.937l.776-2.898.242.065.914 3.35-2.627-.703a1 1 0 0 1-.74-.983l.09-5.403 1.449.388.914 3.351 5.096 1.366zM4 19h16v2H4v-2z\"}}]}]})(props);\n};\nexport function RiFlightTakeoffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.478 11.632L5.968 4.56l1.931-.518 6.951 6.42 5.262-1.41a1.5 1.5 0 0 1 .776 2.898L5.916 15.96l-.776-2.898.241-.065 2.467 2.445-2.626.704a1 1 0 0 1-1.133-.48L1.466 10.94l1.449-.388 2.466 2.445 5.097-1.366zM4 19h16v2H4v-2z\"}}]}]})(props);\n};\nexport function RiFlightTakeoffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.478 11.632L5.968 4.56l1.931-.518 6.951 6.42 5.262-1.41a1.5 1.5 0 0 1 .776 2.898L5.916 15.96l-.776-2.898.241-.065 2.467 2.445-2.626.704a1 1 0 0 1-1.133-.48L1.466 10.94l1.449-.388 2.466 2.445 5.097-1.366zM4 19h16v2H4v-2z\"}}]}]})(props);\n};\nexport function RiFootprintFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18h5.5v1.25a2.75 2.75 0 1 1-5.5 0V18zM8 6.12c2 0 3 2.88 3 4.88 0 1-.5 2-1 3.5L9.5 16H4c0-1-.5-2.5-.5-5S5.498 6.12 8 6.12zm12.054 7.978l-.217 1.231a2.75 2.75 0 0 1-5.417-.955l.218-1.23 5.416.954zM18.178 1.705c2.464.434 4.018 3.124 3.584 5.586-.434 2.463-1.187 3.853-1.36 4.838l-5.417-.955-.232-1.564c-.232-1.564-.55-2.636-.377-3.62.347-1.97 1.832-4.632 3.802-4.285z\"}}]}]})(props);\n};\nexport function RiFootprintLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18h5.5v1.25a2.75 2.75 0 1 1-5.5 0V18zm4.058-4l.045-.132C8.87 11.762 9 11.37 9 11c0-.75-.203-1.643-.528-2.273C8.23 8.257 8.06 8.12 8 8.12 6.72 8.12 5.5 9.484 5.5 11c0 .959.075 1.773.227 2.758l.038.242h2.293zM8 6.12c2 0 3 2.88 3 4.88 0 1-.5 2-1 3.5L9.5 16H4c0-1-.5-2.5-.5-5S5.498 6.12 8 6.12zm12.054 7.978l-.217 1.231a2.75 2.75 0 0 1-5.417-.955l.218-1.23 5.416.954zm-1.05-4.246c.165-.5.301-.895.303-.9.202-.658.361-1.303.485-2.008.263-1.492-.702-3.047-1.962-3.27-.059-.01-.25.095-.57.515-.43.565-.784 1.41-.915 2.147-.058.33-.049.405.27 2.263.045.256.082.486.116.717l.02.138 2.254.398zm-.826-8.147c2.464.434 4.018 3.124 3.584 5.586-.434 2.463-1.187 3.853-1.36 4.838l-5.417-.955-.232-1.564c-.232-1.564-.55-2.636-.377-3.62.347-1.97 1.832-4.632 3.802-4.285z\"}}]}]})(props);\n};\nexport function RiGasStationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8h2a2 2 0 0 1 2 2v4a1 1 0 0 0 2 0v-7h-2a1 1 0 0 1-1-1V6.414l-1.657-1.657 1.414-1.414 4.95 4.95A.997.997 0 0 1 22 9v9a3 3 0 0 1-6 0v-4h-2v5h1v2H2v-2h1zM5 5v6h7V5H5z\"}}]}]})(props);\n};\nexport function RiGasStationLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 19h1v2H2v-2h1V4a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v8h2a2 2 0 0 1 2 2v4a1 1 0 0 0 2 0v-7h-2a1 1 0 0 1-1-1V6.414l-1.657-1.657 1.414-1.414 4.95 4.95A.997.997 0 0 1 22 9v9a3 3 0 0 1-6 0v-4h-2v5zm-9 0h7v-6H5v6zM5 5v6h7V5H5z\"}}]}]})(props);\n};\nexport function RiGlobeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21h5v2H6v-2h5v-1.05a10.002 10.002 0 0 1-7.684-4.988l1.737-.992A8 8 0 1 0 15.97 3.053l.992-1.737A9.996 9.996 0 0 1 22 10c0 5.185-3.947 9.449-9 9.95V21zm-1-4a7 7 0 1 1 0-14 7 7 0 0 1 0 14z\"}}]}]})(props);\n};\nexport function RiGlobeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21h5v2H6v-2h5v-1.05a10.002 10.002 0 0 1-7.684-4.988l1.737-.992A8 8 0 1 0 15.97 3.053l.992-1.737A9.996 9.996 0 0 1 22 10c0 5.185-3.947 9.449-9 9.95V21zm-1-4a7 7 0 1 1 0-14 7 7 0 0 1 0 14zm0-2a5 5 0 1 0 0-10 5 5 0 0 0 0 10z\"}}]}]})(props);\n};\nexport function RiGobletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19v-5.111L3 5V3h18v2l-8 8.889V19h5v2H6v-2h5zM7.49 7h9.02l1.8-2H5.69l1.8 2z\"}}]}]})(props);\n};\nexport function RiGobletLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19v-5.111L3 5V3h18v2l-8 8.889V19h5v2H6v-2h5zM7.49 7h9.02l1.8-2H5.69l1.8 2zm1.8 2L12 12.01 14.71 9H9.29z\"}}]}]})(props);\n};\nexport function RiGuideFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8v8a3 3 0 0 1-3 3H7.83a3.001 3.001 0 1 1 0-2H10a1 1 0 0 0 1-1V8a3 3 0 0 1 3-3h3V2l5 4-5 4V7h-3a1 1 0 0 0-1 1z\"}}]}]})(props);\n};\nexport function RiGuideLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8v8a3 3 0 0 1-3 3H7.83a3.001 3.001 0 1 1 0-2H10a1 1 0 0 0 1-1V8a3 3 0 0 1 3-3h3V2l5 4-5 4V7h-3a1 1 0 0 0-1 1zM5 19a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiHotelBedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11v9h-2v-3H4v3H2V4h2v10h8V7h6a4 4 0 0 1 4 4zM8 13a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiHotelBedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11v9h-2v-3H4v3H2V4h2v10h8V7h6a4 4 0 0 1 4 4zm-2 3v-3a2 2 0 0 0-2-2h-4v5h6zM8 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiLifebuoyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zM7.197 14.682l-2.175 2.174a8.549 8.549 0 0 0 1.818 1.899l.305.223 2.173-2.175a5.527 5.527 0 0 1-1.98-1.883l-.14-.238zm9.606 0a5.527 5.527 0 0 1-1.883 1.98l-.238.14 2.174 2.176a8.549 8.549 0 0 0 1.899-1.818l.223-.304-2.175-2.174zM12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM7.145 5.022a8.549 8.549 0 0 0-1.9 1.818l-.223.305 2.175 2.173a5.527 5.527 0 0 1 1.883-1.98l.238-.14-2.173-2.176zm9.71 0l-2.173 2.175a5.527 5.527 0 0 1 1.98 1.883l.14.238 2.176-2.173a8.549 8.549 0 0 0-1.818-1.9l-.304-.223z\"}}]}]})(props);\n};\nexport function RiLifebuoyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 15a4.987 4.987 0 0 1-1.828-.345l-2.236 2.237A7.963 7.963 0 0 0 12 20a7.963 7.963 0 0 0 4.064-1.108l-2.236-2.237A4.987 4.987 0 0 1 12 17zm-8-5c0 1.484.404 2.873 1.108 4.064l2.237-2.236A4.987 4.987 0 0 1 7 12c0-.645.122-1.261.345-1.828L5.108 7.936A7.963 7.963 0 0 0 4 12zm14.892-4.064l-2.237 2.236c.223.567.345 1.183.345 1.828s-.122 1.261-.345 1.828l2.237 2.236A7.963 7.963 0 0 0 20 12a7.963 7.963 0 0 0-1.108-4.064zM12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0-5a7.963 7.963 0 0 0-4.064 1.108l2.236 2.237A4.987 4.987 0 0 1 12 7c.645 0 1.261.122 1.828.345l2.236-2.237A7.963 7.963 0 0 0 12 4z\"}}]}]})(props);\n};\nexport function RiLuggageCartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 20c.828 0 1.5.672 1.5 1.5S6.328 23 5.5 23 4 22.328 4 21.5 4.672 20 5.5 20zm13 0c.828 0 1.5.672 1.5 1.5s-.672 1.5-1.5 1.5-1.5-.672-1.5-1.5.672-1.5 1.5-1.5zM2.172 1.757l3.827 3.828V17L20 17v2H5c-.552 0-1-.448-1-1V6.413L.756 3.172l1.415-1.415zM16 3c.552 0 1 .448 1 1v2h2.993C20.55 6 21 6.456 21 6.995v8.01c0 .55-.45.995-1.007.995H8.007C7.45 16 7 15.544 7 15.005v-8.01C7 6.445 7.45 6 8.007 6h2.992L11 4c0-.552.448-1 1-1h4zm-5 5h-1v6h1V8zm7 0h-1v6h1V8zm-3-3h-2v1h2V5z\"}}]}]})(props);\n};\nexport function RiLuggageCartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 20c.828 0 1.5.672 1.5 1.5S6.328 23 5.5 23 4 22.328 4 21.5 4.672 20 5.5 20zm13 0c.828 0 1.5.672 1.5 1.5s-.672 1.5-1.5 1.5-1.5-.672-1.5-1.5.672-1.5 1.5-1.5zM2.172 1.757l3.827 3.828V17L20 17v2H5c-.552 0-1-.448-1-1V6.413L.756 3.172l1.415-1.415zM16 3c.552 0 1 .448 1 1v2h2.993C20.55 6 21 6.456 21 6.995v8.01c0 .55-.45.995-1.007.995H8.007C7.45 16 7 15.544 7 15.005v-8.01C7 6.445 7.45 6 8.007 6h2.992L11 4c0-.552.448-1 1-1h4zm-6 5H9v6h1V8zm6 0h-4v6h4V8zm3 0h-1v6h1V8zm-4-3h-2v1h2V5z\"}}]}]})(props);\n};\nexport function RiLuggageDepositFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3c.552 0 1 .448 1 1v2h4c.552 0 1 .448 1 1v12h2v2H1v-2h2V7c0-.552.448-1 1-1h4V4c0-.552.448-1 1-1h6zm-5 5H8v11h2V8zm6 0h-2v11h2V8zm-2-3h-4v1h4V5z\"}}]}]})(props);\n};\nexport function RiLuggageDepositLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3c.552 0 1 .448 1 1v2h4c.552 0 1 .448 1 1v12h2v2H1v-2h2V7c0-.552.448-1 1-1h4V4c0-.552.448-1 1-1h6zM8 8H5v11h3V8zm6 0h-4v11h4V8zm5 0h-3v11h3V8zm-5-3h-4v1h4V5z\"}}]}]})(props);\n};\nexport function RiMap2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5l7-3 6 3 6.303-2.701a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V5zm13 14.764V7.176l-.065.028L9 4.236v12.588l.065-.028L15 19.764z\"}}]}]})(props);\n};\nexport function RiMap2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5l7-3 6 3 6.303-2.701a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V5zm14 14.395l4-1.714V5.033l-4 1.714v12.648zm-2-.131V6.736l-4-2v12.528l4 2zm-6-2.011V4.605L4 6.319v12.648l4-1.714z\"}}]}]})(props);\n};\nexport function RiMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5l7-3 6 3 6.303-2.701a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V5z\"}}]}]})(props);\n};\nexport function RiMapLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5l7-3 6 3 6.303-2.701a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V5zm12.935 2.204l-6-3L4 6.319v12.648l5.065-2.17 6 3L20 17.68V5.033l-5.065 2.17z\"}}]}]})(props);\n};\nexport function RiMapPin2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 17.364L12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0zM12 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiMapPin2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0L12 23.728zm4.95-7.778a7 7 0 1 0-9.9 0L12 20.9l4.95-4.95zM12 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiMapPin3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19.945A9.001 9.001 0 0 1 12 2a9 9 0 0 1 1 17.945V24h-2v-4.055z\"}}]}]})(props);\n};\nexport function RiMapPin3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19.945A9.001 9.001 0 0 1 12 2a9 9 0 0 1 1 17.945V24h-2v-4.055zM12 18a7 7 0 1 0 0-14 7 7 0 0 0 0 14z\"}}]}]})(props);\n};\nexport function RiMapPin4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17.938A8.001 8.001 0 0 1 12 2a8 8 0 0 1 1 15.938V21h-2v-3.062zM5 22h14v2H5v-2z\"}}]}]})(props);\n};\nexport function RiMapPin4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17.938A8.001 8.001 0 0 1 12 2a8 8 0 0 1 1 15.938V21h-2v-3.062zM12 16a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm-7 6h14v2H5v-2z\"}}]}]})(props);\n};\nexport function RiMapPin5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.657 15.657L12 21.314l-5.657-5.657a8 8 0 1 1 11.314 0zM5 22h14v2H5v-2z\"}}]}]})(props);\n};\nexport function RiMapPin5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18.485l4.243-4.242a6 6 0 1 0-8.486 0L12 18.485zm5.657-2.828L12 21.314l-5.657-5.657a8 8 0 1 1 11.314 0zM5 22h14v2H5v-2z\"}}]}]})(props);\n};\nexport function RiMapPinAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 17.364L12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0zM11 10H8v2h3v3h2v-3h3v-2h-3V7h-2v3z\"}}]}]})(props);\n};\nexport function RiMapPinAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20.9l4.95-4.95a7 7 0 1 0-9.9 0L12 20.9zm0 2.828l-6.364-6.364a9 9 0 1 1 12.728 0L12 23.728zM11 10V7h2v3h3v2h-3v3h-2v-3H8v-2h3z\"}}]}]})(props);\n};\nexport function RiMapPinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 17.364L12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0zM12 15a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiMapPinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20.9l4.95-4.95a7 7 0 1 0-9.9 0L12 20.9zm0 2.828l-6.364-6.364a9 9 0 1 1 12.728 0L12 23.728zM12 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]}]})(props);\n};\nexport function RiMapPinRangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17.938A8.001 8.001 0 0 1 12 2a8 8 0 0 1 1 15.938v2.074c3.946.092 7 .723 7 1.488 0 .828-3.582 1.5-8 1.5s-8-.672-8-1.5c0-.765 3.054-1.396 7-1.488v-2.074zM12 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiMapPinRangeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17.938A8.001 8.001 0 0 1 12 2a8 8 0 0 1 1 15.938v2.074c3.946.092 7 .723 7 1.488 0 .828-3.582 1.5-8 1.5s-8-.672-8-1.5c0-.765 3.054-1.396 7-1.488v-2.074zM12 16a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm0-4a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiMapPinTimeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 11V6h-2v7h6v-2h-4zm5.364 6.364L12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0z\"}}]}]})(props);\n};\nexport function RiMapPinTimeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.95 15.95a7 7 0 1 0-9.9 0L12 20.9l4.95-4.95zM12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0L12 23.728zM13 11h4v2h-6V6h2v5z\"}}]}]})(props);\n};\nexport function RiMapPinUserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.084 15.812a7 7 0 1 0-10.168 0A5.996 5.996 0 0 1 12 13a5.996 5.996 0 0 1 5.084 2.812zM12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0L12 23.728zM12 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiMapPinUserLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.084 15.812a7 7 0 1 0-10.168 0A5.996 5.996 0 0 1 12 13a5.996 5.996 0 0 1 5.084 2.812zm-8.699 1.473L12 20.899l3.615-3.614a4 4 0 0 0-7.23 0zM12 23.728l-6.364-6.364a9 9 0 1 1 12.728 0L12 23.728zM12 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiMotorbikeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.365 10L11.2 8H17v2h-5.144L9 12H2v-2h6.365zm.916 5.06l2.925-1.065.684 1.88-2.925 1.064a4.5 4.5 0 1 1-.684-1.88zM5.5 20a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm13 2a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-2a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zM4 11h6l2.6-1.733.28-1.046 1.932.518-1.922 7.131-1.822-.888.118-.44L9 16l-1-2H4v-3zm12.092-5H20v3h-2.816l1.92 5.276-1.88.684L15.056 9H15v-.152L13.6 5H11V3h4l1.092 3z\"}}]}]})(props);\n};\nexport function RiMotorbikeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13.256V12H2v-2h6.365L11.2 8h3.491L13.6 5H11V3h4l1.092 3H20v3h-2.816l1.456 4.002a4.5 4.5 0 1 1-1.985.392L15.419 10h-.947l-1.582 5.87-.002-.001.002.006-2.925 1.064A4.5 4.5 0 1 1 4 13.256zm2-.229a4.5 4.5 0 0 1 3.281 2.033l1.957-.713L12.403 10h-.547L9 12H6v1.027zM5.5 20a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm13 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]}]})(props);\n};\nexport function RiNavigationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.9 2.3l18.805 6.268a.5.5 0 0 1 .028.939L13 13l-4.425 8.85a.5.5 0 0 1-.928-.086L2.26 2.911A.5.5 0 0 1 2.9 2.3z\"}}]}]})(props);\n};\nexport function RiNavigationLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.965 5.096l3.546 12.41 3.04-6.08 5.637-2.255L4.965 5.096zM2.899 2.3l18.806 6.268a.5.5 0 0 1 .028.939L13 13l-4.425 8.85a.5.5 0 0 1-.928-.086L2.26 2.911A.5.5 0 0 1 2.9 2.3z\"}}]}]})(props);\n};\nexport function RiOilFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5h11a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V11l4-6zm5-4h5a1 1 0 0 1 1 1v2h-7V2a1 1 0 0 1 1-1zM6 12v7h2v-7H6z\"}}]}]})(props);\n};\nexport function RiOilLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.07 7L6 11.606V20h12V7H9.07zM8 5h11a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V11l4-6zm5-4h5a1 1 0 0 1 1 1v2h-7V2a1 1 0 0 1 1-1zM8 12h2v6H8v-6z\"}}]}]})(props);\n};\nexport function RiParkingBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14h1.5a3.5 3.5 0 0 0 0-7H9v10h2v-3zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm7 6h1.5a1.5 1.5 0 0 1 0 3H11V9z\"}}]}]})(props);\n};\nexport function RiParkingBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm4 2h3.5a3.5 3.5 0 0 1 0 7H11v3H9V7zm2 2v3h1.5a1.5 1.5 0 0 0 0-3H11z\"}}]}]})(props);\n};\nexport function RiParkingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M6 3h7a6 6 0 1 1 0 12h-3v6H6V3zm4 4v4h3a2 2 0 1 0 0-4h-3z\"}}]}]})(props);\n};\nexport function RiParkingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3h7a6 6 0 1 1 0 12H8v6H6V3zm2 2v8h5a4 4 0 1 0 0-8H8z\"}}]}]})(props);\n};\nexport function RiPassportFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16zm-4 14H8v2h8v-2zM12 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm0 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiPassportLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M20 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16zm-1 2H5v16h14V4zm-3 12v2H8v-2h8zM12 6a4 4 0 1 1 0 8 4 4 0 0 1 0-8zm0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiPinDistanceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.39 10.39L7.5 14.277 3.61 10.39a5.5 5.5 0 1 1 7.78 0zM7.5 8.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm12.89 10.89l-3.89 3.888-3.89-3.889a5.5 5.5 0 1 1 7.78 0zM16.5 17.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiPinDistanceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.975 8.975a3.5 3.5 0 1 0-4.95 0L7.5 11.45l2.475-2.475zM7.5 14.278L3.61 10.39a5.5 5.5 0 1 1 7.78 0L7.5 14.28zM7.5 8a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm9 12.45l2.475-2.475a3.5 3.5 0 1 0-4.95 0L16.5 20.45zm3.89-1.06l-3.89 3.888-3.89-3.889a5.5 5.5 0 1 1 7.78 0zM16.5 17a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiPlaneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8.947L22 14v2l-8-2.526v5.36l3 1.666V22l-4.5-1L8 22v-1.5l3-1.667v-5.36L3 16v-2l8-5.053V3.5a1.5 1.5 0 0 1 3 0v5.447z\"}}]}]})(props);\n};\nexport function RiPlaneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8.947L22 14v2l-8-2.526v5.36l3 1.666V22l-4.5-1L8 22v-1.5l3-1.667v-5.36L3 16v-2l8-5.053V3.5a1.5 1.5 0 0 1 3 0v5.447z\"}}]}]})(props);\n};\nexport function RiPoliceCarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13.5V21a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7.5l-1.243-.31A1 1 0 0 1 0 12.22v-.72a.5.5 0 0 1 .5-.5h1.929L4.48 6.212A2 2 0 0 1 6.319 5H8V3h3v2h2V3h3v2h1.681a2 2 0 0 1 1.838 1.212L21.571 11H23.5a.5.5 0 0 1 .5.5v.72a1 1 0 0 1-.757.97L22 13.5zM4 15v2a1 1 0 0 0 1 1h3.245a.5.5 0 0 0 .44-.736C7.88 15.754 6.318 15 4 15zm16 0c-2.317 0-3.879.755-4.686 2.264a.5.5 0 0 0 .441.736H19a1 1 0 0 0 1-1v-2zM6 7l-1.451 3.629A1 1 0 0 0 5.477 12h13.046a1 1 0 0 0 .928-1.371L18 7H6z\"}}]}]})(props);\n};\nexport function RiPoliceCarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13v5h16v-5H4zm1.618-2h12.764a1 1 0 0 0 .894-1.447L18 7H6L4.724 9.553A1 1 0 0 0 5.618 11zM22 13.5V21a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7.5l-1.243-.31A1 1 0 0 1 0 12.22v-.72a.5.5 0 0 1 .5-.5H2l2.447-4.894A2 2 0 0 1 6.237 5H8V3h3v2h2V3h3v2h1.764a2 2 0 0 1 1.789 1.106L22 11h1.5a.5.5 0 0 1 .5.5v.72a1 1 0 0 1-.757.97L22 13.5zM5 14c2.317 0 3.879.755 4.686 2.264a.5.5 0 0 1-.441.736H6a1 1 0 0 1-1-1v-2zm14 0v2a1 1 0 0 1-1 1h-3.245a.5.5 0 0 1-.44-.736C15.12 14.754 16.682 14 19 14z\"}}]}]})(props);\n};\nexport function RiPushpin2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3v2h-1v6l2 3v2h-6v7h-2v-7H5v-2l2-3V5H6V3z\"}}]}]})(props);\n};\nexport function RiPushpin2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3v2h-1v6l2 3v2h-6v7h-2v-7H5v-2l2-3V5H6V3h12zM9 5v6.606L7.404 14h9.192L15 11.606V5H9z\"}}]}]})(props);\n};\nexport function RiPushpinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.314 10.172l-1.415 1.414-.707-.707-4.242 4.242-.707 3.536-1.415 1.414-4.242-4.243-4.95 4.95-1.414-1.414 4.95-4.95-4.243-4.242 1.414-1.415L8.88 8.05l4.242-4.242-.707-.707 1.414-1.415z\"}}]}]})(props);\n};\nexport function RiPushpinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.828 1.686l8.486 8.486-1.415 1.414-.707-.707-4.242 4.242-.707 3.536-1.415 1.414-4.242-4.243-4.95 4.95-1.414-1.414 4.95-4.95-4.243-4.242 1.414-1.415L8.88 8.05l4.242-4.242-.707-.707 1.414-1.415zm.708 3.536l-4.671 4.67-2.822.565 6.5 6.5.564-2.822 4.671-4.67-4.242-4.243z\"}}]}]})(props);\n};\nexport function RiRestaurant2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.222 3.808l6.717 6.717-2.828 2.829-3.89-3.89a4 4 0 0 1 0-5.656zm10.046 8.338l-.854.854 7.071 7.071-1.414 1.414L12 14.415l-7.071 7.07-1.414-1.414 9.339-9.339c-.588-1.457.02-3.555 1.62-5.157 1.953-1.952 4.644-2.427 6.011-1.06s.892 4.058-1.06 6.01c-1.602 1.602-3.7 2.21-5.157 1.621z\"}}]}]})(props);\n};\nexport function RiRestaurant2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.268 12.146l-.854.854 7.071 7.071-1.414 1.414L12 14.415l-7.071 7.07-1.414-1.414 9.339-9.339c-.588-1.457.02-3.555 1.62-5.157 1.953-1.952 4.644-2.427 6.011-1.06s.892 4.058-1.06 6.01c-1.602 1.602-3.7 2.21-5.157 1.621zM4.222 3.808l6.717 6.717-2.828 2.829-3.89-3.89a4 4 0 0 1 0-5.656zM18.01 9.11c1.258-1.257 1.517-2.726 1.061-3.182-.456-.456-1.925-.197-3.182 1.06-1.257 1.258-1.516 2.727-1.06 3.183.455.455 1.924.196 3.181-1.061z\"}}]}]})(props);\n};\nexport function RiRestaurantFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2v20h-2v-8h-3V7a5 5 0 0 1 5-5zM9 13.9V22H7v-8.1A5.002 5.002 0 0 1 3 9V3h2v7h2V3h2v7h2V3h2v6a5.002 5.002 0 0 1-4 4.9z\"}}]}]})(props);\n};\nexport function RiRestaurantLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 2v20h-2v-7h-4V8a6 6 0 0 1 6-6zm-2 2.53C18.17 5 17 6.17 17 8v5h2V4.53zM9 13.9V22H7v-8.1A5.002 5.002 0 0 1 3 9V3h2v7h2V3h2v7h2V3h2v6a5.002 5.002 0 0 1-4 4.9z\"}}]}]})(props);\n};\nexport function RiRidingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 21a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm13 3a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm-6.969-8.203L13 12v6h-2v-5l-2.719-2.266A2 2 0 0 1 8 7.671l2.828-2.828a2 2 0 0 1 2.829 0l1.414 1.414a6.969 6.969 0 0 0 3.917 1.975l-.01 2.015a8.962 8.962 0 0 1-5.321-2.575L11.53 9.797zM16 5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiRidingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 21a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-2a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm13 2a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-2a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm-7.477-8.695L13 12v6h-2v-5l-2.719-2.266A2 2 0 0 1 8 7.671l2.828-2.828a2 2 0 0 1 2.829 0l1.414 1.414a6.969 6.969 0 0 0 3.917 1.975l-.01 2.015a8.962 8.962 0 0 1-5.321-2.575l-2.634 2.633zM16 5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiRoadMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.95 11.95a6.996 6.996 0 0 0 1.858-6.582l2.495-1.07a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V7l3.129-1.341a6.993 6.993 0 0 0 1.921 6.29L12 16.9l4.95-4.95zm-1.414-1.414L12 14.07l-3.536-3.535a5 5 0 1 1 7.072 0z\"}}]}]})(props);\n};\nexport function RiRoadMapLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6.143v12.824l5.065-2.17 6 3L20 17.68V4.857l1.303-.558a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V7l2-.857zm12.243 5.1L12 15.485l-4.243-4.242a6 6 0 1 1 8.486 0zM12 12.657l2.828-2.829a4 4 0 1 0-5.656 0L12 12.657z\"}}]}]})(props);\n};\nexport function RiRoadsterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 13.5V21a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7.5l-1.243-.31A1 1 0 0 1 0 12.22v-.72a.5.5 0 0 1 .5-.5h1.875l2.138-5.702A2 2 0 0 1 6.386 4h11.228a2 2 0 0 1 1.873 1.298L21.625 11H23.5a.5.5 0 0 1 .5.5v.72a1 1 0 0 1-.757.97L22 13.5zM4 15v2a1 1 0 0 0 1 1h3.245a.5.5 0 0 0 .44-.736C7.88 15.754 6.318 15 4 15zm16 0c-2.317 0-3.879.755-4.686 2.264a.5.5 0 0 0 .441.736H19a1 1 0 0 0 1-1v-2zM6 6l-1.561 4.684A1 1 0 0 0 5.387 12h13.226a1 1 0 0 0 .948-1.316L18 6H6z\"}}]}]})(props);\n};\nexport function RiRoadsterLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 20H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-7.5l-1.243-.31A1 1 0 0 1 0 12.22v-.72a.5.5 0 0 1 .5-.5H2l2.48-5.788A2 2 0 0 1 6.32 4H17.68a2 2 0 0 1 1.838 1.212L22 11h1.5a.5.5 0 0 1 .5.5v.72a1 1 0 0 1-.757.97L22 13.5V21a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1zm1-2v-5H4v5h16zM5.477 11h13.046a1 1 0 0 0 .928-1.371L18 6H6L4.549 9.629A1 1 0 0 0 5.477 11zM5 14c2.317 0 3.879.755 4.686 2.264a.5.5 0 0 1-.441.736H6a1 1 0 0 1-1-1v-2zm14 0v2a1 1 0 0 1-1 1h-3.245a.5.5 0 0 1-.44-.736C15.12 14.754 16.682 14 19 14z\"}}]}]})(props);\n};\nexport function RiRocket2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.498 20h7.004A6.523 6.523 0 0 1 12 23.502 6.523 6.523 0 0 1 8.498 20zM18 14.805l2 2.268V19H4v-1.927l2-2.268V9c0-3.483 2.504-6.447 6-7.545C15.496 2.553 18 5.517 18 9v5.805zM12 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiRocket2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.502 20A6.523 6.523 0 0 1 12 23.502 6.523 6.523 0 0 1 8.498 20h2.26c.326.489.747.912 1.242 1.243.495-.33.916-.754 1.243-1.243h2.259zM18 14.805l2 2.268V19H4v-1.927l2-2.268V9c0-3.483 2.504-6.447 6-7.545C15.496 2.553 18 5.517 18 9v5.805zM17.27 17L16 15.56V9c0-2.318-1.57-4.43-4-5.42C9.57 4.57 8 6.681 8 9v6.56L6.73 17h10.54zM12 11a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiRocketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.33 15.929A13.064 13.064 0 0 1 5 13c0-5.088 2.903-9.436 7-11.182C16.097 3.564 19 7.912 19 13c0 1.01-.114 1.991-.33 2.929l2.02 1.796a.5.5 0 0 1 .097.63l-2.458 4.096a.5.5 0 0 1-.782.096l-2.254-2.254a1 1 0 0 0-.707-.293H9.414a1 1 0 0 0-.707.293l-2.254 2.254a.5.5 0 0 1-.782-.096l-2.458-4.095a.5.5 0 0 1 .097-.631l2.02-1.796zM12 13a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiRocketLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13c0-5.088 2.903-9.436 7-11.182C16.097 3.564 19 7.912 19 13c0 .823-.076 1.626-.22 2.403l1.94 1.832a.5.5 0 0 1 .095.603l-2.495 4.575a.5.5 0 0 1-.793.114l-2.234-2.234a1 1 0 0 0-.707-.293H9.414a1 1 0 0 0-.707.293l-2.234 2.234a.5.5 0 0 1-.793-.114l-2.495-4.575a.5.5 0 0 1 .095-.603l1.94-1.832C5.077 14.626 5 13.823 5 13zm1.476 6.696l.817-.817A3 3 0 0 1 9.414 18h5.172a3 3 0 0 1 2.121.879l.817.817.982-1.8-1.1-1.04a2 2 0 0 1-.593-1.82c.124-.664.187-1.345.187-2.036 0-3.87-1.995-7.3-5-8.96C8.995 5.7 7 9.13 7 13c0 .691.063 1.372.187 2.037a2 2 0 0 1-.593 1.82l-1.1 1.039.982 1.8zM12 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiRouteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15V8.5a4.5 4.5 0 0 1 9 0v7a2.5 2.5 0 1 0 5 0V8.83a3.001 3.001 0 1 1 2 0v6.67a4.5 4.5 0 1 1-9 0v-7a2.5 2.5 0 0 0-5 0V15h3l-4 5-4-5h3z\"}}]}]})(props);\n};\nexport function RiRouteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15V8.5a4.5 4.5 0 0 1 9 0v7a2.5 2.5 0 1 0 5 0V8.83a3.001 3.001 0 1 1 2 0v6.67a4.5 4.5 0 1 1-9 0v-7a2.5 2.5 0 0 0-5 0V15h3l-4 5-4-5h3zm15-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiRunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.83 8.79L8 9.456V13H6V8.05h.015l5.268-1.918c.244-.093.51-.14.782-.131a2.616 2.616 0 0 1 2.427 1.82c.186.583.356.977.51 1.182A4.992 4.992 0 0 0 19 11v2a6.986 6.986 0 0 1-5.402-2.547l-.581 3.297L15 15.67V23h-2v-5.986l-2.05-1.987-.947 4.298-6.894-1.215.348-1.97 4.924.868L9.83 8.79zM13.5 5.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiRunLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.83 8.79L8 9.456V13H6V8.05h.015l5.268-1.918c.244-.093.51-.14.782-.131a2.616 2.616 0 0 1 2.427 1.82c.186.583.356.977.51 1.182A4.992 4.992 0 0 0 19 11v2a6.986 6.986 0 0 1-5.402-2.547l-.697 3.956L15 16.17V23h-2v-5.898l-2.27-1.904-.727 4.127-6.894-1.215.348-1.97 4.924.868L9.83 8.79zM13.5 5.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiSailboatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18h18a.5.5 0 0 1 .4.8l-2.1 2.8a1 1 0 0 1-.8.4h-13a1 1 0 0 1-.8-.4l-2.1-2.8A.5.5 0 0 1 3 18zM15 2.425V15a1 1 0 0 1-1 1H4.04a.5.5 0 0 1-.39-.812L14.11 2.113a.5.5 0 0 1 .89.312z\"}}]}]})(props);\n};\nexport function RiSailboatLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18h18a.5.5 0 0 1 .4.8l-2.1 2.8a1 1 0 0 1-.8.4h-13a1 1 0 0 1-.8-.4l-2.1-2.8A.5.5 0 0 1 3 18zm4.161-4H13V6.702L7.161 14zM15 2.425V15a1 1 0 0 1-1 1H4.04a.5.5 0 0 1-.39-.812L14.11 2.113a.5.5 0 0 1 .89.312z\"}}]}]})(props);\n};\nexport function RiShip2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4h5.446a1 1 0 0 1 .848.47L18.75 10h4.408a.5.5 0 0 1 .439.74l-3.937 7.217A4.992 4.992 0 0 1 15 16 4.992 4.992 0 0 1 11 18a4.992 4.992 0 0 1-4-2 4.992 4.992 0 0 1-4.55 1.97l-1.236-6.791A1 1 0 0 1 2.198 10H3V5a1 1 0 0 1 1-1h1V1h4v3zm-4 6h11.392l-2.5-4H5v4zM3 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 11 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 19 20h2v2h-2a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 11 22a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 3 22H1v-2h2z\"}}]}]})(props);\n};\nexport function RiShip2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4h5.446a1 1 0 0 1 .848.47L18.75 10h4.408a.5.5 0 0 1 .439.74L19.637 18H19a6.01 6.01 0 0 1-1.535-.198L20.63 12H3.4l1.048 5.824A6.013 6.013 0 0 1 3 18h-.545l-1.24-6.821A1 1 0 0 1 2.197 10H3V5a1 1 0 0 1 1-1h1V1h4v3zm-4 6h11.392l-2.5-4H5v4zM3 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 11 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 19 20h2v2h-2a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 11 22a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 3 22H1v-2h2z\"}}]}]})(props);\n};\nexport function RiShipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.4V4a1 1 0 0 1 1-1h5V1h4v2h5a1 1 0 0 1 1 1v6.4l1.086.326a1 1 0 0 1 .682 1.2l-1.516 6.068A4.992 4.992 0 0 1 16 16 4.992 4.992 0 0 1 12 18a4.992 4.992 0 0 1-4-2 4.992 4.992 0 0 1-4.252 1.994l-1.516-6.068a1 1 0 0 1 .682-1.2L4 10.4zm2-.6L12 8l2.754.826 1.809.543L18 9.8V5H6v4.8zM4 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 12 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 20 20h2v2h-2a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 12 22a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 4 22H2v-2h2z\"}}]}]})(props);\n};\nexport function RiShipLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.4V4a1 1 0 0 1 1-1h5V1h4v2h5a1 1 0 0 1 1 1v6.4l1.086.326a1 1 0 0 1 .682 1.2l-1.516 6.068a4.992 4.992 0 0 1-1.902-.272l1.25-5.352L12 10l-7.6 2.37 1.25 5.351a4.992 4.992 0 0 1-1.902.273l-1.516-6.068a1 1 0 0 1 .682-1.2L4 10.4zm2-.6L12 8l6 1.8V5H6v4.8zM4 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 12 20a5.978 5.978 0 0 0 4-1.528A5.978 5.978 0 0 0 20 20h2v2h-2a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 12 22a7.963 7.963 0 0 1-4-1.07A7.963 7.963 0 0 1 4 22H2v-2h2z\"}}]}]})(props);\n};\nexport function RiSignalTowerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.116 20.087A9.986 9.986 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10a9.986 9.986 0 0 1-4.116 8.087l-1.015-1.739a8 8 0 1 0-9.738 0l-1.015 1.739zm2.034-3.485a6 6 0 1 1 7.7 0l-1.03-1.766a4 4 0 1 0-5.64 0l-1.03 1.766zM11 13h2l1 9h-4l1-9z\"}}]}]})(props);\n};\nexport function RiSignalTowerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.116 20.087A9.986 9.986 0 0 1 2 12C2 6.477 6.477 2 12 2s10 4.477 10 10a9.986 9.986 0 0 1-4.116 8.087l-1.015-1.739a8 8 0 1 0-9.738 0l-1.015 1.739zm2.034-3.485a6 6 0 1 1 7.7 0l-1.03-1.766a4 4 0 1 0-5.64 0l-1.03 1.766zM11 13h2v9h-2v-9z\"}}]}]})(props);\n};\nexport function RiSpaceShipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.88 18.054a35.897 35.897 0 0 1 8.531-16.32.8.8 0 0 1 1.178 0c.166.18.304.332.413.455a35.897 35.897 0 0 1 8.118 15.865c-2.141.451-4.34.747-6.584.874l-2.089 4.178a.5.5 0 0 1-.894 0l-2.089-4.178a44.019 44.019 0 0 1-6.584-.874zM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiSpaceShipLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.88 18.054a35.897 35.897 0 0 1 8.531-16.32.8.8 0 0 1 1.178 0c.166.18.304.332.413.455a35.897 35.897 0 0 1 8.118 15.865c-2.141.451-4.34.747-6.584.874l-2.089 4.178a.5.5 0 0 1-.894 0l-2.089-4.178a44.019 44.019 0 0 1-6.584-.874zm6.698-1.123l1.157.066L12 19.527l1.265-2.53 1.157-.066a42.137 42.137 0 0 0 4.227-.454A33.913 33.913 0 0 0 12 4.09a33.913 33.913 0 0 0-6.649 12.387c1.395.222 2.805.374 4.227.454zM12 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiSteering2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zM8 13l-3.938.001A8.004 8.004 0 0 0 11 19.938V16a3 3 0 0 1-3-3zm11.938.001L16 13a3 3 0 0 1-3 3l.001 3.938a8.004 8.004 0 0 0 6.937-6.937zM12 4a8.001 8.001 0 0 0-7.938 7H8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1h3.938A8.001 8.001 0 0 0 12 4z\"}}]}]})(props);\n};\nexport function RiSteering2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zM8 13l-3.938.001A8.004 8.004 0 0 0 11 19.938V16a3 3 0 0 1-3-3zm11.938.001L16 13a3 3 0 0 1-3 3l.001 3.938a8.004 8.004 0 0 0 6.937-6.937zM14 12h-4v1a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-1zm-2-8a8.001 8.001 0 0 0-7.938 7H8a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1h3.938A8.001 8.001 0 0 0 12 4z\"}}]}]})(props);\n};\nexport function RiSteeringFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.8 14.001a10.009 10.009 0 0 1-8.4 7.902v-2.025A8.01 8.01 0 0 0 19.748 14l2.052.001zm-17.548 0a8.01 8.01 0 0 0 6.247 5.858v2.03A10.01 10.01 0 0 1 2.2 14h2.052zM18 11v2h-1a4 4 0 0 0-3.995 3.8L13 17v1h-2v-1a4 4 0 0 0-3.8-3.995L7 13H6v-2h12zm-6-9c5.185 0 9.449 3.947 9.95 9h-2.012a8.001 8.001 0 0 0-15.876 0H2.049C2.551 5.947 6.815 2 12 2z\"}}]}]})(props);\n};\nexport function RiSteeringLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.8 14.001a10.009 10.009 0 0 1-8.4 7.902v-2.025A8.01 8.01 0 0 0 19.748 14l2.052.001zm-17.548 0a8.01 8.01 0 0 0 6.247 5.858v2.03A10.01 10.01 0 0 1 2.2 14h2.052zM18 11v2h-3a2 2 0 0 0-1.995 1.85L13 15v3h-2v-3a2 2 0 0 0-1.85-1.995L9 13H6v-2h12zm-6-9c5.185 0 9.449 3.947 9.95 9h-2.012a8.001 8.001 0 0 0-15.876 0H2.049C2.551 5.947 6.815 2 12 2z\"}}]}]})(props);\n};\nexport function RiSubwayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.2 20l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v11a2 2 0 0 1-2 2h-1.8zM11 12V5H7a2 2 0 0 0-2 2v5h6zm2 0h6V7a2 2 0 0 0-2-2h-4v7zm-5.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiSubwayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.2 20l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v11a2 2 0 0 1-2 2h-1.8zM13 5v6h6V7a2 2 0 0 0-2-2h-4zm-2 0H7a2 2 0 0 0-2 2v4h6V5zm8 8H5v5h14v-5zM7.5 17a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm9 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiSubwayWifiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3v9h8v6a2 2 0 0 1-2 2h-1.8l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h6zM7.5 15a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm9 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM11 5H7a2 2 0 0 0-1.995 1.85L5 7v5h6V5zm7.5-4a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiSubwayWifiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18a2 2 0 0 1-2 2h-1.8l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h6v8h8v7zm-2-5H5v5h14v-5zM7.5 14a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm9 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM11 5H7a2 2 0 0 0-1.995 1.85L5 7v4h6V5zm7.5-4a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiSuitcase2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 23h-2v-1H8v1H6v-1H5c-1.105 0-2-.895-2-2V7c0-1.105.895-2 2-2h3V3c0-.552.448-1 1-1h6c.552 0 1 .448 1 1v2h3c1.105 0 2 .895 2 2v13c0 1.105-.895 2-2 2h-1v1zM10 9H8v9h2V9zm6 0h-2v9h2V9zm-2-5h-4v1h4V4z\"}}]}]})(props);\n};\nexport function RiSuitcase2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 23h-2v-1H8v1H6v-1H5c-1.105 0-2-.895-2-2V7c0-1.105.895-2 2-2h3V3c0-.552.448-1 1-1h6c.552 0 1 .448 1 1v2h3c1.105 0 2 .895 2 2v13c0 1.105-.895 2-2 2h-1v1zm1-16H5v13h14V7zm-9 2v9H8V9h2zm6 0v9h-2V9h2zm-2-5h-4v1h4V4z\"}}]}]})(props);\n};\nexport function RiSuitcase3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 1c.552 0 1 .448 1 1v5h1V6h2v1h1c.552 0 1 .448 1 1v12c0 .552-.448 1-1 1h-1v1h-2v-1H7v1H5v-1H4c-.552 0-1-.448-1-1V8c0-.552.448-1 1-1h1V6h2v1h1V2c0-.552.448-1 1-1h6zm-6 9H7v8h2v-8zm4 0h-2v8h2v-8zm4 0h-2v8h2v-8zm-3-7h-4v4h4V3z\"}}]}]})(props);\n};\nexport function RiSuitcase3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 1c.552 0 1 .448 1 1v5h1V6h2v1h1c.552 0 1 .448 1 1v12c0 .552-.448 1-1 1h-1v1h-2v-1H7v1H5v-1H4c-.552 0-1-.448-1-1V8c0-.552.448-1 1-1h1V6h2v1h1V2c0-.552.448-1 1-1h6zm4 8H5v10h14V9zM9 10v8H7v-8h2zm4 0v8h-2v-8h2zm4 0v8h-2v-8h2zm-3-7h-4v4h4V3z\"}}]}]})(props);\n};\nexport function RiSuitcaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3c.552 0 1 .448 1 1v2h5c.552 0 1 .448 1 1v13c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V7c0-.552.448-1 1-1h5V4c0-.552.448-1 1-1h6zM8 8H6v11h2V8zm10 0h-2v11h2V8zm-4-3h-4v1h4V5z\"}}]}]})(props);\n};\nexport function RiSuitcaseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 3c.552 0 1 .448 1 1v2h5c.552 0 1 .448 1 1v13c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V7c0-.552.448-1 1-1h5V4c0-.552.448-1 1-1h6zm1 5H8v11h8V8zM4 8v11h2V8H4zm10-3h-4v1h4V5zm4 3v11h2V8h-2z\"}}]}]})(props);\n};\nexport function RiTakeawayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16,1 C16.5522847,1 17,1.44771525 17,2 L17,2.999 L22,3 L22,9 L19.98,8.999 L22.7467496,16.595251 C22.9104689,17.0320314 23,17.5050658 23,17.9990113 C23,20.2081503 21.209139,21.9990113 19,21.9990113 C17.1367966,21.9990113 15.5711292,20.7251084 15.1264725,19.0007774 L10.8737865,19.0007613 C10.429479,20.7256022 8.86356525,22 7,22 C5.05513052,22 3.43445123,20.6119768 3.07453347,18.7725019 C2.43557576,18.4390399 2,17.770387 2,17 L2,12 L11,12 C11,12.5128358 11.3860402,12.9355072 11.8833789,12.9932723 L12,13 L14,13 C14.5128358,13 14.9355072,12.6139598 14.9932723,12.1166211 L15,12 L15,3 L12,3 L12,1 L16,1 Z M7,16 C5.8954305,16 5,16.8954305 5,18 C5,19.1045695 5.8954305,20 7,20 C8.1045695,20 9,19.1045695 9,18 C9,16.8954305 8.1045695,16 7,16 Z M19,16 C17.8954305,16 17,16.8954305 17,18 C17,19.1045695 17.8954305,20 19,20 C20.1045695,20 21,19.1045695 21,18 C21,16.8954305 20.1045695,16 19,16 Z M10,3 C10.5522847,3 11,3.44771525 11,4 L11,11 L2,11 L2,4 C2,3.44771525 2.44771525,3 3,3 L10,3 Z M20,5 L17,5 L17,7 L20,7 L20,5 Z M9,5 L4,5 L4,6 L9,6 L9,5 Z\"}}]}]})(props);\n};\nexport function RiTakeawayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16,1 C16.5522847,1 17,1.44771525 17,2 L17,2.999 L22,3 L22,9 L19.98,8.999 L22.7467496,16.595251 C22.9104689,17.0320314 23,17.5050658 23,17.9990113 C23,20.2081503 21.209139,21.9990113 19,21.9990113 C17.1367966,21.9990113 15.5711292,20.7251084 15.1264725,19.0007774 L10.8737865,19.0007613 C10.429479,20.7256022 8.86356525,22 7,22 C5.05513052,22 3.43445123,20.6119768 3.07453347,18.7725019 C2.43557576,18.4390399 2,17.770387 2,17 L2,4 C2,3.44771525 2.44771525,3 3,3 L10,3 C10.5522847,3 11,3.44771525 11,4 L11,12 C11,12.5128358 11.3860402,12.9355072 11.8833789,12.9932723 L12,13 L14,13 C14.5128358,13 14.9355072,12.6139598 14.9932723,12.1166211 L15,12 L15,3 L12,3 L12,1 L16,1 Z M7,16 C5.8954305,16 5,16.8954305 5,18 C5,19.1045695 5.8954305,20 7,20 C8.1045695,20 9,19.1045695 9,18 C9,16.8954305 8.1045695,16 7,16 Z M19,15.9990113 C17.8954305,15.9990113 17,16.8944418 17,17.9990113 C17,19.1035808 17.8954305,19.9990113 19,19.9990113 C20.1045695,19.9990113 21,19.1035808 21,17.9990113 C21,16.8944418 20.1045695,15.9990113 19,15.9990113 Z M17.852,8.999 L17,8.999 L17,12 C17,13.6568542 15.6568542,15 14,15 L12,15 C10.6941178,15 9.58311485,14.1656226 9.17102423,13.0009007 L3.99994303,13 L3.99994303,15.3542402 C4.73288889,14.523782 5.80527652,14 7,14 C8.86392711,14 10.4300871,15.2748927 10.8740452,17.0002597 L15.1256964,17.0002597 C15.5693048,15.2743991 17.135711,13.9990113 19,13.9990113 C19.2372818,13.9990113 19.469738,14.019672 19.6956678,14.0592925 L17.852,8.999 Z M9,8 L4,8 L4,11 L9,11 L9,8 Z M20,5 L17,5 L17,7 L20,7 L20,5 Z M9,5 L4,5 L4,6 L9,6 L9,5 Z\"}}]}]})(props);\n};\nexport function RiTaxiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12v9a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-9l2.48-5.788A2 2 0 0 1 6.32 5H9V3h6v2h2.681a2 2 0 0 1 1.838 1.212L22 12zM4.176 12h15.648l-2.143-5H6.32l-2.143 5zM6.5 17a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm11 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiTaxiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V11l2.447-4.894A2 2 0 0 1 6.237 5H9V3h6v2h2.764a2 2 0 0 1 1.789 1.106L22 11zm-2 2H4v5h16v-5zM4.236 11h15.528l-2-4H6.236l-2 4zM6.5 17a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm11 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiTaxiWifiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 3v4H6.319l-2.144 5H22v9a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-9l2.48-5.788A2 2 0 0 1 6.32 5H9V3h3zM6.5 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm1-13a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiTaxiWifiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 3v4H6.236l-2.001 4H22v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1H5v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V11l2.447-4.894A2 2 0 0 1 6.237 5H9V3h3zm8 10H4v5h16v-5zM6.5 14a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm11 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm1-13a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiTrafficLightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1h3c0 2.5-2.5 3.5-3 3.5V10h3c0 2.5-2.5 3.5-3 3.5V16h3c0 2.5-2.5 3.5-3 3.5V21a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1.5c-.5 0-3-1-3-3.5h3v-2.5c-.5 0-3-1-3-3.5h3V7.5c-.5 0-3-1-3-3.5h3zm5 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiTrafficLightLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1h3c0 2.5-2.5 3.5-3 3.5V10h3c0 2.5-2.5 3.5-3 3.5V16h3c0 2.5-2.5 3.5-3 3.5V21a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1.5c-.5 0-3-1-3-3.5h3v-2.5c-.5 0-3-1-3-3.5h3V7.5c-.5 0-3-1-3-3.5h3zm5 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiTrainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.2 20l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v11a2 2 0 0 1-2 2h-1.8zM5 7v4h14V7H5zm7 11a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiTrainLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.2 20l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4v11a2 2 0 0 1-2 2h-1.8zM7 5a2 2 0 0 0-2 2v11h14V7a2 2 0 0 0-2-2H7zm5 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM6 7h12v4H6V7z\"}}]}]})(props);\n};\nexport function RiTrainWifiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.498 3a6.518 6.518 0 0 0-.324 4H5v4h10.035a6.47 6.47 0 0 0 3.465 1 6.48 6.48 0 0 0 2.5-.498V18a2 2 0 0 1-2 2h-1.8l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h5.498zM12 14a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm6.5-13a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiTrainWifiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.498 3a6.464 6.464 0 0 0-.479 2H7a2 2 0 0 0-1.995 1.85L5 7v11h14v-6.019a6.463 6.463 0 0 0 2-.48V18a2 2 0 0 1-2 2h-1.8l1.8 1.5v.5H5v-.5L6.8 20H5a2 2 0 0 1-2-2V7a4 4 0 0 1 4-4h5.498zM12 13a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm.174-6a6.51 6.51 0 0 0 2.862 4.001L6 11V7h6.174zM18.5 1a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 5.167c-.491 0-.94.177-1.289.47l-.125.115L18.5 8.167l1.413-1.416a1.994 1.994 0 0 0-1.413-.584zm0-2.667a4.65 4.65 0 0 0-3.128 1.203l-.173.165.944.942a3.323 3.323 0 0 1 2.357-.977 3.32 3.32 0 0 1 2.201.83l.156.147.943-.943A4.652 4.652 0 0 0 18.5 3.5z\"}}]}]})(props);\n};\nexport function RiTreasureMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5l7-3 6 3 6.303-2.701a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V5zm4 6v2h2v-2H6zm4 0v2h2v-2h-2zm6-.06l-1.237-1.238-1.061 1.06L14.939 12l-1.237 1.237 1.06 1.061L16 13.061l1.237 1.237 1.061-1.06L17.061 12l1.237-1.237-1.06-1.061L16 10.939z\"}}]}]})(props);\n};\nexport function RiTreasureMapLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14.935 7.204l-6-3L4 6.319v12.648l5.065-2.17 6 3L20 17.68V5.033l-5.065 2.17zM2 5l7-3 6 3 6.303-2.701a.5.5 0 0 1 .697.46V19l-7 3-6-3-6.303 2.701a.5.5 0 0 1-.697-.46V5zm4 6h2v2H6v-2zm4 0h2v2h-2v-2zm5.998-.063L17.236 9.7l1.06 1.06-1.237 1.238 1.237 1.238-1.06 1.06-1.238-1.237-1.237 1.237-1.061-1.06 1.237-1.238-1.237-1.237L14.76 9.7l1.238 1.237z\"}}]}]})(props);\n};\nexport function RiTruckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8h3l3 4.056V18h-2.035a3.5 3.5 0 0 1-6.93 0h-5.07a3.5 3.5 0 0 1-6.93 0H1V6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2zm0 2v3h4v-.285L18.992 10H17z\"}}]}]})(props);\n};\nexport function RiTruckLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.965 18a3.5 3.5 0 0 1-6.93 0H1V6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2h3l3 4.056V18h-2.035a3.5 3.5 0 0 1-6.93 0h-5.07zM15 7H3v8.05a3.5 3.5 0 0 1 5.663.95h5.674c.168-.353.393-.674.663-.95V7zm2 6h4v-.285L18.992 10H17v3zm.5 6a1.5 1.5 0 1 0 0-3.001 1.5 1.5 0 0 0 0 3.001zM7 17.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]}]})(props);\n};\nexport function RiWalkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.617 8.712l3.205-2.328A1.995 1.995 0 0 1 12.065 6a2.616 2.616 0 0 1 2.427 1.82c.186.583.356.977.51 1.182A4.992 4.992 0 0 0 19 11v2a6.986 6.986 0 0 1-5.402-2.547l-.697 3.955 2.061 1.73 2.223 6.108-1.88.684-2.04-5.604-3.39-2.845a2 2 0 0 1-.713-1.904l.509-2.885-.677.492-2.127 2.928-1.618-1.176L7.6 8.7l.017.012zM13.5 5.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-2.972 13.181l-3.214 3.83-1.532-1.285 2.976-3.546.746-2.18 1.791 1.5-.767 1.681z\"}}]}]})(props);\n};\nexport function RiWalkLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.617 8.712l3.205-2.328A1.995 1.995 0 0 1 12.065 6a2.616 2.616 0 0 1 2.427 1.82c.186.583.356.977.51 1.182A4.992 4.992 0 0 0 19 11v2a6.986 6.986 0 0 1-5.402-2.547l-.697 3.955 2.061 1.73 2.223 6.108-1.88.684-2.04-5.604-3.39-2.845a2 2 0 0 1-.713-1.904l.509-2.885-.677.492-2.127 2.928-1.618-1.176L7.6 8.7l.017.012zM13.5 5.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-2.972 13.181l-3.214 3.83-1.532-1.285 2.976-3.546.746-2.18 1.791 1.5-.767 1.681z\"}}]}]})(props);\n};\nexport function Ri4KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8.5 10.5V12h-1V9H9v3H7.5V9H6v4.5h3V15h1.5v-1.5h1zM18 15l-2.25-3L18 9h-1.75l-1.75 2.25V9H13v6h1.5v-2.25L16.25 15H18z\"}}]}]})(props);\n};\nexport function Ri4KLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8.5 10.5h-1V15H9v-1.5H6V9h1.5v3H9V9h1.5v3h1v1.5zM18 15h-1.75l-1.75-2.25V15H13V9h1.5v2.25L16.25 9H18l-2.25 3L18 15z\"}}]}]})(props);\n};\nexport function RiAlbumFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 14c2.213 0 4-1.787 4-4s-1.787-4-4-4-4 1.787-4 4 1.787 4 4 4zm0-5c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z\"}}]}]})(props);\n};\nexport function RiAlbumLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0 2C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]}]})(props);\n};\nexport function RiAspectRatioFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-3 9h-2v3h-3v2h5v-5zm-7-5H6v5h2V9h3V7z\"}}]}]})(props);\n};\nexport function RiAspectRatioLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm-1 2H4v14h16V5zm-7 12v-2h3v-3h2v5h-5zM11 7v2H8v3H6V7h5z\"}}]}]})(props);\n};\nexport function RiBroadcastFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 2.929l1.414 1.414A7.975 7.975 0 0 0 4 10c0 2.21.895 4.21 2.343 5.657L4.93 17.07A9.969 9.969 0 0 1 2 10a9.969 9.969 0 0 1 2.929-7.071zm14.142 0A9.969 9.969 0 0 1 22 10a9.969 9.969 0 0 1-2.929 7.071l-1.414-1.414A7.975 7.975 0 0 0 20 10c0-2.21-.895-4.21-2.343-5.657L19.07 2.93zM7.757 5.757l1.415 1.415A3.987 3.987 0 0 0 8 10c0 1.105.448 2.105 1.172 2.828l-1.415 1.415A5.981 5.981 0 0 1 6 10c0-1.657.672-3.157 1.757-4.243zm8.486 0A5.981 5.981 0 0 1 18 10a5.981 5.981 0 0 1-1.757 4.243l-1.415-1.415A3.987 3.987 0 0 0 16 10a3.987 3.987 0 0 0-1.172-2.828l1.415-1.415zM12 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 2c.58 0 1.077.413 1.184.983L14.5 22h-5l1.316-7.017c.107-.57.604-.983 1.184-.983z\"}}]}]})(props);\n};\nexport function RiBroadcastLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.929 2.929l1.414 1.414A7.975 7.975 0 0 0 4 10c0 2.21.895 4.21 2.343 5.657L4.93 17.07A9.969 9.969 0 0 1 2 10a9.969 9.969 0 0 1 2.929-7.071zm14.142 0A9.969 9.969 0 0 1 22 10a9.969 9.969 0 0 1-2.929 7.071l-1.414-1.414A7.975 7.975 0 0 0 20 10c0-2.21-.895-4.21-2.343-5.657L19.07 2.93zM7.757 5.757l1.415 1.415A3.987 3.987 0 0 0 8 10c0 1.105.448 2.105 1.172 2.828l-1.415 1.415A5.981 5.981 0 0 1 6 10c0-1.657.672-3.157 1.757-4.243zm8.486 0A5.981 5.981 0 0 1 18 10a5.981 5.981 0 0 1-1.757 4.243l-1.415-1.415A3.987 3.987 0 0 0 16 10a3.987 3.987 0 0 0-1.172-2.828l1.415-1.415zM12 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-1 2h2v8h-2v-8z\"}}]}]})(props);\n};\nexport function RiCamera2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM12 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 2a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm6-12v2h2V5h-2z\"}}]}]})(props);\n};\nexport function RiCamera2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM4 5v14h16V5H4zm8 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 2a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm5-11h2v2h-2V6z\"}}]}]})(props);\n};\nexport function RiCamera3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.552.455-1 .992-1h18.016c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H2.992A.994.994 0 0 1 2 20V6zm12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zM4 7v2h3V7H4zm0-5h6v2H4V2z\"}}]}]})(props);\n};\nexport function RiCamera3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.552.455-1 .992-1h18.016c.548 0 .992.445.992 1v14c0 .552-.455 1-.992 1H2.992A.994.994 0 0 1 2 20V6zm2 1v12h16V7H4zm10 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 2a5 5 0 1 1 0-10 5 5 0 0 1 0 10zM4 2h6v2H4V2z\"}}]}]})(props);\n};\nexport function RiCameraFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3h6l2 2h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4l2-2zm3 16a6 6 0 1 0 0-12 6 6 0 0 0 0 12zm0-2a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]}]})(props);\n};\nexport function RiCameraLensFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.827 21.763L14.31 14l3.532 6.117A9.955 9.955 0 0 1 12 22c-.746 0-1.473-.082-2.173-.237zM7.89 21.12A10.028 10.028 0 0 1 2.458 15h8.965L7.89 21.119zM2.05 13a9.964 9.964 0 0 1 2.583-7.761L9.112 13H2.05zm4.109-9.117A9.955 9.955 0 0 1 12 2c.746 0 1.473.082 2.173.237L9.69 10 6.159 3.883zM16.11 2.88A10.028 10.028 0 0 1 21.542 9h-8.965l3.533-6.119zM21.95 11a9.964 9.964 0 0 1-2.583 7.761L14.888 11h7.064z\"}}]}]})(props);\n};\nexport function RiCameraLensLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.858 19.71L12 16H5.07a8.018 8.018 0 0 0 4.788 3.71zM4.252 14h4.284L5.07 7.999A7.963 7.963 0 0 0 4 12c0 .69.088 1.36.252 2zm2.143-7.708L8.535 10 12 4a7.974 7.974 0 0 0-5.605 2.292zm7.747-2.002L12 8h6.93a8.018 8.018 0 0 0-4.788-3.71zM19.748 10h-4.284l3.465 6.001A7.963 7.963 0 0 0 20 12c0-.69-.088-1.36-.252-2zm-2.143 7.708L15.465 14 12 20a7.974 7.974 0 0 0 5.605-2.292zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm1.155-12h-2.31l-1.154 2 1.154 2h2.31l1.154-2-1.154-2z\"}}]}]})(props);\n};\nexport function RiCameraLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 5l-2 2H4v12h16V7h-3.828l-2-2H9.828zM9 3h6l2 2h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4l2-2zm3 15a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11zm0-2a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]}]})(props);\n};\nexport function RiCameraOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.586 21H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h.586L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414L19.586 21zM7.556 8.97a6 6 0 0 0 8.475 8.475l-1.417-1.417a4 4 0 0 1-5.642-5.642L7.555 8.97zM22 17.785l-4.045-4.045a6 6 0 0 0-6.695-6.695L8.106 3.892 9 3h6l2 2h4a1 1 0 0 1 1 1v11.786zm-8.492-8.492a4.013 4.013 0 0 1 2.198 2.198l-2.198-2.198z\"}}]}]})(props);\n};\nexport function RiCameraOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.586 21H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h.586L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414L19.586 21zm-14-14H4v12h13.586l-2.18-2.18A5.5 5.5 0 0 1 7.68 9.094L5.586 7zm3.524 3.525a3.5 3.5 0 0 0 4.865 4.865L9.11 10.525zM22 17.785l-2-2V7h-3.828l-2-2H9.828l-.307.307-1.414-1.414L9 3h6l2 2h4a1 1 0 0 1 1 1v11.786zM11.263 7.05a5.5 5.5 0 0 1 6.188 6.188l-2.338-2.338a3.515 3.515 0 0 0-1.512-1.512l-2.338-2.338z\"}}]}]})(props);\n};\nexport function RiCameraSwitchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3h6l2 2h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4l2-2zm5.684 15.368l-.895-1.79A4 4 0 0 1 8 13h2.001L7.839 8.677a6 6 0 0 0 6.845 9.69zM9.316 7.632l.895 1.79A4 4 0 0 1 16 13h-2.001l2.161 4.323a6 6 0 0 0-6.845-9.69z\"}}]}]})(props);\n};\nexport function RiCameraSwitchLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 5l-2 2H4v12h16V7h-3.828l-2-2H9.828zM9 3h6l2 2h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4l2-2zm.64 4.53a5.5 5.5 0 0 1 6.187 8.92L13.75 12.6h1.749l.001-.1a3.5 3.5 0 0 0-4.928-3.196L9.64 7.53zm4.677 9.96a5.5 5.5 0 0 1-6.18-8.905L10.25 12.5H8.5a3.5 3.5 0 0 0 4.886 3.215l.931 1.774z\"}}]}]})(props);\n};\nexport function RiClapperboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.998 7l2.31-4h.7c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h3.006l-2.31 4h2.31l2.31-4h3.69l-2.31 4h2.31l2.31-4h3.69l-2.31 4h2.31z\"}}]}]})(props);\n};\nexport function RiClapperboardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.998 7l2.31-4h3.69l-2.31 4h-3.69zm6 0l2.31-4h3.69l-2.31 4h-3.69zm6 0l2.31-4h.7c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h3.006L4 6.46V19h16V7h-2.002z\"}}]}]})(props);\n};\nexport function RiClosedCaptioningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h18zM9 8c-2.208 0-4 1.792-4 4s1.792 4 4 4c1.1 0 2.1-.45 2.828-1.172l-1.414-1.414C10.053 13.776 9.553 14 9 14c-1.105 0-2-.895-2-2s.895-2 2-2c.55 0 1.048.22 1.415.587l1.414-1.414C11.105 8.448 10.105 8 9 8zm7 0c-2.208 0-4 1.792-4 4s1.792 4 4 4c1.104 0 2.104-.448 2.828-1.172l-1.414-1.414c-.362.362-.862.586-1.414.586-1.105 0-2-.895-2-2s.895-2 2-2c.553 0 1.053.224 1.415.587l1.414-1.414C18.105 8.448 17.105 8 16 8z\"}}]}]})(props);\n};\nexport function RiClosedCaptioningLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H3c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h18zm-1 2H4v14h16V5zM9 8c1.105 0 2.105.448 2.829 1.173l-1.414 1.414C10.053 10.224 9.553 10 9 10c-1.105 0-2 .895-2 2s.895 2 2 2c.553 0 1.053-.224 1.414-.586l1.414 1.414C11.104 15.552 10.104 16 9 16c-2.208 0-4-1.792-4-4s1.792-4 4-4zm7 0c1.105 0 2.105.448 2.829 1.173l-1.414 1.414C17.053 10.224 16.553 10 16 10c-1.105 0-2 .895-2 2s.895 2 2 2c.552 0 1.052-.224 1.414-.586l1.414 1.414C18.104 15.552 17.104 16 16 16c-2.208 0-4-1.792-4-4s1.792-4 4-4z\"}}]}]})(props);\n};\nexport function RiDiscFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9.17A3 3 0 1 0 15 12V2.458c4.057 1.274 7 5.064 7 9.542 0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2c.337 0 .671.017 1 .05v7.12z\"}}]}]})(props);\n};\nexport function RiDiscLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4.582V12a3 3 0 1 1-2-2.83V2.05c5.053.501 9 4.765 9 9.95 0 5.523-4.477 10-10 10S2 17.523 2 12c0-5.185 3.947-9.449 9-9.95v2.012A8.001 8.001 0 0 0 12 20a8 8 0 0 0 3-15.418z\"}}]}]})(props);\n};\nexport function RiDvFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14.745a7 7 0 1 1 8 0V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-6.255zM8 14A5 5 0 1 0 8 4a5 5 0 0 0 0 10zm-1 4v2h2v-2H7zm1-6a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm6 5v-1.292A8.978 8.978 0 0 0 17 9a8.966 8.966 0 0 0-2.292-6H21a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-7zm4-10v2h2V7h-2z\"}}]}]})(props);\n};\nexport function RiDvLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.608 3H21a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-7v-2h6V5h-6.255A6.968 6.968 0 0 1 15 9a6.992 6.992 0 0 1-3 5.745V21a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-6.255A7 7 0 1 1 11.608 3zM6 13.584V20h4v-6.416a5.001 5.001 0 1 0-4 0zM8 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm9-3h2v2h-2V7zM7 17h2v2H7v-2z\"}}]}]})(props);\n};\nexport function RiDvdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 11V6l-5 7h3v5l5-7h-3zm-1 11C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiDvdLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm1-9h3l-5 7v-5H8l5-7v5z\"}}]}]})(props);\n};\nexport function RiEjectFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.416 3.624l7.066 10.599a.5.5 0 0 1-.416.777H4.934a.5.5 0 0 1-.416-.777l7.066-10.599a.5.5 0 0 1 .832 0zM5 17h14a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2z\"}}]}]})(props);\n};\nexport function RiEjectLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.737 13h8.526L12 6.606 7.737 13zm4.679-9.376l7.066 10.599a.5.5 0 0 1-.416.777H4.934a.5.5 0 0 1-.416-.777l7.066-10.599a.5.5 0 0 1 .832 0zM5 17h14a1 1 0 0 1 0 2H5a1 1 0 0 1 0-2z\"}}]}]})(props);\n};\nexport function RiEqualizerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.17 18a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2v-2h4.17zm6-7a3.001 3.001 0 0 1 5.66 0H22v2h-4.17a3.001 3.001 0 0 1-5.66 0H2v-2h10.17zm-6-7a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2V4h4.17z\"}}]}]})(props);\n};\nexport function RiEqualizerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.17 18a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2v-2h4.17zm6-7a3.001 3.001 0 0 1 5.66 0H22v2h-4.17a3.001 3.001 0 0 1-5.66 0H2v-2h10.17zm-6-7a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2V4h4.17zM9 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiFilmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM4 5v2h2V5H4zm14 0v2h2V5h-2zM4 9v2h2V9H4zm14 0v2h2V9h-2zM4 13v2h2v-2H4zm14 0v2h2v-2h-2zM4 17v2h2v-2H4zm14 0v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiFilmLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM8 5v14h8V5H8zM4 5v2h2V5H4zm14 0v2h2V5h-2zM4 9v2h2V9H4zm14 0v2h2V9h-2zM4 13v2h2v-2H4zm14 0v2h2v-2h-2zM4 17v2h2v-2H4zm14 0v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiFullscreenExitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"}}]}]})(props);\n};\nexport function RiFullscreenExitLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"}}]}]})(props);\n};\nexport function RiFullscreenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"}}]}]})(props);\n};\nexport function RiFullscreenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3h2v6h-2V5h-4V3h4zM4 3h4v2H4v4H2V3h2zm16 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"}}]}]})(props);\n};\nexport function RiGalleryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.409 19c-.776-2.399-2.277-3.885-4.266-5.602A10.954 10.954 0 0 1 20 11V3h1.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6V1h2v4H4v7c5.22 0 9.662 2.462 11.313 7h2.096zM18 1v4h-8V3h6V1h2zm-1.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiGalleryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13c-1.678 0-3.249.46-4.593 1.259A14.984 14.984 0 0 1 18.147 19H20v-6zm-3.996 6C14.044 14.302 9.408 11 4 11v8h12.004zM4 9c3.83 0 7.323 1.435 9.974 3.796A10.949 10.949 0 0 1 20 11V3h1.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6V1h2v4H4v4zm14-8v4h-8V3h6V1h2zm-1.5 9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiGalleryUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1v2h8V1h2v2h3.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6V1h2zm4 7l-4 4h3v4h2v-4h3l-4-4z\"}}]}]})(props);\n};\nexport function RiGalleryUploadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1v4H4v14h16V3h1.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6V1h2zm4 7l4 4h-3v4h-2v-4H8l4-4zm6-7v4h-8V3h6V1h2z\"}}]}]})(props);\n};\nexport function RiHdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4.5 8.25V9H6v6h1.5v-2.25h2V15H11V9H9.5v2.25h-2zm7-.75H16a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1.5v-3zM13 9v6h3a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-3z\"}}]}]})(props);\n};\nexport function RiHdLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4.5 8.25h2V9H11v6H9.5v-2.25h-2V15H6V9h1.5v2.25zm7-.75v3H16a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-1.5zM13 9h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-3V9z\"}}]}]})(props);\n};\nexport function RiHeadphoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7C2 6.477 6.477 2 12 2s10 4.477 10 10v7a2 2 0 0 1-2 2h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a8 8 0 1 0-16 0z\"}}]}]})(props);\n};\nexport function RiHeadphoneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4a8 8 0 0 0-8 8h3a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7C2 6.477 6.477 2 12 2s10 4.477 10 10v7a2 2 0 0 1-2 2h-3a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h3a8 8 0 0 0-8-8zM4 14v5h3v-5H4zm13 0v5h3v-5h-3z\"}}]}]})(props);\n};\nexport function RiHqFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4.5 8.25V9H6v6h1.5v-2.25h2V15H11V9H9.5v2.25h-2zM16.25 15H17a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h.75v1.5h1.5V15zm-1.75-4.5h2v3h-2v-3z\"}}]}]})(props);\n};\nexport function RiHqLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4.5 8.25h2V9H11v6H9.5v-2.25h-2V15H6V9h1.5v2.25zM16.25 15v1.5h-1.5V15H14a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-.75zm-1.75-4.5v3h2v-3h-2z\"}}]}]})(props);\n};\nexport function RiImage2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11.1l2-2 5.5 5.5 3.5-3.5 3 3V5H5v6.1zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm11.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiImage2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11.1l2-2 5.5 5.5 3.5-3.5 3 3V5H5v6.1zm0 2.829V19h3.1l2.986-2.985L7 11.929l-2 2zM10.929 19H19v-2.071l-3-3L10.929 19zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm11.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiImageAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm.008-12c.548 0 .992.445.992.993v9.349A5.99 5.99 0 0 0 20 13V5H4l.001 14 9.292-9.293a.999.999 0 0 1 1.32-.084l.093.085 3.546 3.55a6.003 6.003 0 0 0-3.91 7.743L2.992 21A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016zM8 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiImageAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm.008-12c.548 0 .992.445.992.993V13h-2V5H4v13.999L14 9l3 3v2.829l-3-3L6.827 19H14v2H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016zM8 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiImageEditFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v1.757l-2 2V5H5v8.1l4-4 4.328 4.329-1.327 1.327-.006 4.239 4.246.006 1.33-1.33L18.899 19H19v-2.758l2-2V20c0 .552-.448 1-1 1H4c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h16zm1.778 4.808l1.414 1.414L15.414 17l-1.416-.002.002-1.412 7.778-7.778zM15.5 7c.828 0 1.5.672 1.5 1.5s-.672 1.5-1.5 1.5S14 9.328 14 8.5 14.672 7 15.5 7z\"}}]}]})(props);\n};\nexport function RiImageEditLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3c.552 0 1 .448 1 1v1.757l-2 2V5H5v8.1l4-4 4.328 4.329-1.415 1.413L9 11.93l-4 3.999V19h10.533l.708.001 1.329-1.33L18.9 19h.1v-2.758l2-2V20c0 .552-.448 1-1 1H4c-.55 0-1-.45-1-1V4c0-.552.448-1 1-1h16zm1.778 4.808l1.414 1.414L15.414 17l-1.416-.002.002-1.412 7.778-7.778zM15.5 7c.828 0 1.5.672 1.5 1.5s-.672 1.5-1.5 1.5S14 9.328 14 8.5 14.672 7 15.5 7z\"}}]}]})(props);\n};\nexport function RiImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5H4v14l9.292-9.294a1 1 0 0 1 1.414 0L20 15.01V5zM2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM8 11a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiImageLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.828 21l-.02.02-.021-.02H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H4.828zM20 15V5H4v14L14 9l6 6zm0 2.828l-6-6L6.828 19H20v-1.172zM8 11a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21l-4.762-8.73L15 6l8 15h-7zM8 10l6 11H2l6-11zM5.5 8a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z\"}}]}]})(props);\n};\nexport function RiLandscapeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.27 12.216L15 6l8 15H2L9 8l2.27 4.216zm1.12 2.022L14.987 19h4.68l-4.77-8.942-2.507 4.18zM5.348 19h7.304L9 12.219 5.348 19zM5.5 8a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z\"}}]}]})(props);\n};\nexport function RiLiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16 4a1 1 0 0 1 1 1v4.2l5.213-3.65a.5.5 0 0 1 .787.41v12.08a.5.5 0 0 1-.787.41L17 14.8V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14zM7.4 8.829a.4.4 0 0 0-.392.32L7 9.228v5.542a.4.4 0 0 0 .542.374l.073-.036 4.355-2.772a.4.4 0 0 0 .063-.624l-.063-.05L7.615 8.89A.4.4 0 0 0 7.4 8.83z\"}}]}]})(props);\n};\nexport function RiLiveLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16 4a1 1 0 0 1 1 1v4.2l5.213-3.65a.5.5 0 0 1 .787.41v12.08a.5.5 0 0 1-.787.41L17 14.8V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14zm-1 2H3v12h12V6zM7.4 8.829a.4.4 0 0 1 .215.062l4.355 2.772a.4.4 0 0 1 0 .674L7.615 15.11A.4.4 0 0 1 7 14.77V9.23c0-.221.18-.4.4-.4zM21 8.84l-4 2.8v.718l4 2.8V8.84z\"}}]}]})(props);\n};\nexport function RiMic2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a5 5 0 0 1 5 5v6a5 5 0 0 1-10 0V6a5 5 0 0 1 5-5zM2.192 13.962l1.962-.393a8.003 8.003 0 0 0 15.692 0l1.962.393C20.896 18.545 16.85 22 12 22s-8.896-3.455-9.808-8.038z\"}}]}]})(props);\n};\nexport function RiMic2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3a3 3 0 0 0-3 3v6a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3zm0-2a5 5 0 0 1 5 5v6a5 5 0 0 1-10 0V6a5 5 0 0 1 5-5zM2.192 13.962l1.962-.393a8.003 8.003 0 0 0 15.692 0l1.962.393C20.896 18.545 16.85 22 12 22s-8.896-3.455-9.808-8.038z\"}}]}]})(props);\n};\nexport function RiMicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a5 5 0 0 1 5 5v4a5 5 0 0 1-10 0V6a5 5 0 0 1 5-5zM3.055 11H5.07a7.002 7.002 0 0 0 13.858 0h2.016A9.004 9.004 0 0 1 13 18.945V23h-2v-4.055A9.004 9.004 0 0 1 3.055 11z\"}}]}]})(props);\n};\nexport function RiMicLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3a3 3 0 0 0-3 3v4a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3zm0-2a5 5 0 0 1 5 5v4a5 5 0 0 1-10 0V6a5 5 0 0 1 5-5zM3.055 11H5.07a7.002 7.002 0 0 0 13.858 0h2.016A9.004 9.004 0 0 1 13 18.945V23h-2v-4.055A9.004 9.004 0 0 1 3.055 11z\"}}]}]})(props);\n};\nexport function RiMicOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.425 17.839A8.941 8.941 0 0 1 13 18.945V23h-2v-4.055A9.004 9.004 0 0 1 3.055 11H5.07a7.002 7.002 0 0 0 9.87 5.354l-1.551-1.55A5 5 0 0 1 7 10V8.414L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414-4.767-4.768zm2.95-2.679l-1.443-1.442c.509-.81.856-1.73.997-2.718h2.016a8.95 8.95 0 0 1-1.57 4.16zm-2.91-2.909l-8.78-8.78A5 5 0 0 1 17 6l.001 4a4.98 4.98 0 0 1-.534 2.251z\"}}]}]})(props);\n};\nexport function RiMicOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.425 17.839A8.941 8.941 0 0 1 13 18.945V23h-2v-4.055A9.004 9.004 0 0 1 3.055 11H5.07a7.002 7.002 0 0 0 9.87 5.354l-1.551-1.55A5 5 0 0 1 7 10V8.414L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414-4.767-4.768zm-7.392-7.392l2.52 2.52a3.002 3.002 0 0 1-2.52-2.52zm10.342 4.713l-1.443-1.442c.509-.81.856-1.73.997-2.718h2.016a8.95 8.95 0 0 1-1.57 4.16zm-2.91-2.909l-1.548-1.548c.054-.226.083-.46.083-.703V6a3 3 0 0 0-5.818-1.032L7.686 3.471A5 5 0 0 1 17 6v4a4.98 4.98 0 0 1-.534 2.251z\"}}]}]})(props);\n};\nexport function RiMovie2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.001 20H20v2h-8C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.985 9.985 0 0 1-3.999 8zM12 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-4 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-4 4a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiMovie2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20h8v2h-8C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10a9.956 9.956 0 0 1-2 6h-2.708A8 8 0 1 0 12 20zm0-10a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-4 4a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm8 0a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-4 4a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiMovieFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zm8.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z\"}}]}]})(props);\n};\nexport function RiMovieLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM4 5v14h16V5H4zm6.622 3.415l4.879 3.252a.4.4 0 0 1 0 .666l-4.88 3.252a.4.4 0 0 1-.621-.332V8.747a.4.4 0 0 1 .622-.332z\"}}]}]})(props);\n};\nexport function RiMusic2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3v14a4 4 0 1 1-2-3.465V6H9v11a4 4 0 1 1-2-3.465V3h13z\"}}]}]})(props);\n};\nexport function RiMusic2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 3v14a4 4 0 1 1-2-3.465V5H9v12a4 4 0 1 1-2-3.465V3h13zM5 19a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm11 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.535V3h8v3h-6v11a4 4 0 1 1-2-3.465z\"}}]}]})(props);\n};\nexport function RiMusicLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.535V3h8v2h-6v12a4 4 0 1 1-2-3.465zM10 19a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiMvFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zm10 8.178A3 3 0 1 0 14 15V7.999h3V6h-5v6.17z\"}}]}]})(props);\n};\nexport function RiMvLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993zM4 5v14h16V5H4zm8 7.17V6h5v2h-3v7a3 3 0 1 1-2-2.83z\"}}]}]})(props);\n};\nexport function RiNotification2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20H2v-2h1v-6.969C3 6.043 7.03 2 12 2s9 4.043 9 9.031V18h1v2zM9.5 21h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiNotification2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 20H2v-2h1v-6.969C3 6.043 7.03 2 12 2s9 4.043 9 9.031V18h1v2zM5 18h14v-6.969C19 7.148 15.866 4 12 4s-7 3.148-7 7.031V18zm4.5 3h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiNotification3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17h2v2H2v-2h2v-7a8 8 0 1 1 16 0v7zM9 21h6v2H9v-2z\"}}]}]})(props);\n};\nexport function RiNotification3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17h2v2H2v-2h2v-7a8 8 0 1 1 16 0v7zm-2 0v-7a6 6 0 1 0-12 0v7h12zm-9 4h6v2H9v-2z\"}}]}]})(props);\n};\nexport function RiNotification4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18.667l.4.533a.5.5 0 0 1-.4.8H4a.5.5 0 0 1-.4-.8l.4-.533V10a8 8 0 1 1 16 0v8.667zM9.5 21h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiNotification4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 10a6 6 0 1 0-12 0v8h12v-8zm2 8.667l.4.533a.5.5 0 0 1-.4.8H4a.5.5 0 0 1-.4-.8l.4-.533V10a8 8 0 1 1 16 0v8.667zM9.5 21h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiNotificationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c4.97 0 9 4.043 9 9.031V20H3v-8.969C3 6.043 7.03 2 12 2zM9.5 21h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiNotificationLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18h14v-6.969C19 7.148 15.866 4 12 4s-7 3.148-7 7.031V18zm7-16c4.97 0 9 4.043 9 9.031V20H3v-8.969C3 6.043 7.03 2 12 2zM9.5 21h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiNotificationOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.586 20H4a.5.5 0 0 1-.4-.8l.4-.533V10c0-1.33.324-2.584.899-3.687L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414L18.586 20zM20 15.786L7.559 3.345A8 8 0 0 1 20 10v5.786zM9.5 21h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiNotificationOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.586 20H4a.5.5 0 0 1-.4-.8l.4-.533V10c0-1.33.324-2.584.899-3.687L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414L18.586 20zM6.408 7.822A5.985 5.985 0 0 0 6 10v8h10.586L6.408 7.822zM20 15.786l-2-2V10a6 6 0 0 0-8.99-5.203L7.56 3.345A8 8 0 0 1 20 10v5.786zM9.5 21h5a2.5 2.5 0 1 1-5 0z\"}}]}]})(props);\n};\nexport function RiOrderPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4V2.068a.5.5 0 0 1 .82-.385l4.12 3.433a.5.5 0 0 1-.321.884H2V4h15zM2 18h20v2H2v-2zm0-7h20v2H2v-2z\"}}]}]})(props);\n};\nexport function RiOrderPlayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4V2.068a.5.5 0 0 1 .82-.385l4.12 3.433a.5.5 0 0 1-.321.884H2V4h15zM2 18h20v2H2v-2zm0-7h20v2H2v-2z\"}}]}]})(props);\n};\nexport function RiPauseCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM9 9v6h2V9H9zm4 0v6h2V9h-2z\"}}]}]})(props);\n};\nexport function RiPauseCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM9 9h2v6H9V9zm4 0h2v6h-2V9z\"}}]}]})(props);\n};\nexport function RiPauseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5h2v14H6V5zm10 0h2v14h-2V5z\"}}]}]})(props);\n};\nexport function RiPauseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5h2v14H6V5zm10 0h2v14h-2V5z\"}}]}]})(props);\n};\nexport function RiPauseMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7a1 1 0 0 1 2 0v10a1 1 0 1 1-2 0V7zM7 7a1 1 0 1 1 2 0v10a1 1 0 1 1-2 0V7z\"}}]}]})(props);\n};\nexport function RiPauseMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7a1 1 0 0 1 2 0v10a1 1 0 1 1-2 0V7zM7 7a1 1 0 1 1 2 0v10a1 1 0 1 1-2 0V7z\"}}]}]})(props);\n};\nexport function RiPhoneCameraFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.803 4A6 6 0 0 0 23 12.197V19c0 .553-.44 1.001-1.002 1.001H2.002A1 1 0 0 1 1 19V5c0-.552.44-1 1.002-1h12.8zM20 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm-1 6v3h2v-3h-2z\"}}]}]})(props);\n};\nexport function RiPhoneCameraLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.803 4a5.96 5.96 0 0 0-.72 2H3v12h18v-5.083a5.96 5.96 0 0 0 2-.72V19c0 .553-.44 1.001-1.002 1.001H2.002A1 1 0 0 1 1 19V5c0-.552.44-1 1.002-1h12.8zM20 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm-2 2h2v3h-2v-3z\"}}]}]})(props);\n};\nexport function RiPictureInPicture2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v7h-2V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h8zM6.707 6.293l2.25 2.25L11 6.5V12H5.5l2.043-2.043-2.25-2.25 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiPictureInPicture2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v7h-2V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h8zm-1 2h-6v4h6v-4zM6.707 6.293l2.25 2.25L11 6.5V12H5.5l2.043-2.043-2.25-2.25 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiPictureInPictureExitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v7h-2V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h8zm-9.5-6L9.457 9.043l2.25 2.25-1.414 1.414-2.25-2.25L6 12.5V7h5.5z\"}}]}]})(props);\n};\nexport function RiPictureInPictureExitLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v7h-2V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h8zm-1 2h-6v4h6v-4zm-8.5-8L9.457 9.043l2.25 2.25-1.414 1.414-2.25-2.25L6 12.5V7h5.5z\"}}]}]})(props);\n};\nexport function RiPictureInPictureFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v7h-2V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h8z\"}}]}]})(props);\n};\nexport function RiPictureInPictureLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 3a1 1 0 0 1 1 1v7h-2V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h18zm0 10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h8zm-1 2h-6v4h6v-4z\"}}]}]})(props);\n};\nexport function RiPlayCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM10.622 8.415a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z\"}}]}]})(props);\n};\nexport function RiPlayCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM10.622 8.415l4.879 3.252a.4.4 0 0 1 0 .666l-4.88 3.252a.4.4 0 0 1-.621-.332V8.747a.4.4 0 0 1 .622-.332z\"}}]}]})(props);\n};\nexport function RiPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.376 12.416L8.777 19.482A.5.5 0 0 1 8 19.066V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832z\"}}]}]})(props);\n};\nexport function RiPlayLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.394 12L10 7.737v8.526L16.394 12zm2.982.416L8.777 19.482A.5.5 0 0 1 8 19.066V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832z\"}}]}]})(props);\n};\nexport function RiPlayList2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18v2H2v-2h20zM2 3.5l8 5-8 5v-10zM22 11v2H12v-2h10zm0-7v2H12V4h10z\"}}]}]})(props);\n};\nexport function RiPlayList2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18v2H2v-2h20zM2 3.5l8 5-8 5v-10zM22 11v2H12v-2h10zM4 7.108v2.784L6.226 8.5 4 7.108zM22 4v2H12V4h10z\"}}]}]})(props);\n};\nexport function RiPlayListAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h10v2H2v-2zm0-7h20v2H2v-2zm0-7h20v2H2V4zm16 14v-3h2v3h3v2h-3v3h-2v-3h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiPlayListAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h10v2H2v-2zm0-7h20v2H2v-2zm0-7h20v2H2V4zm16 14v-3h2v3h3v2h-3v3h-2v-3h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiPlayListFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h10v2H2v-2zm0-7h14v2H2v-2zm0-7h20v2H2V4zm17 11.17V9h5v2h-3v7a3 3 0 1 1-2-2.83z\"}}]}]})(props);\n};\nexport function RiPlayListLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h10v2H2v-2zm0-7h14v2H2v-2zm0-7h20v2H2V4zm17 11.17V9h5v2h-3v7a3 3 0 1 1-2-2.83zM18 19a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiPlayMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.752 5.439l10.508 6.13a.5.5 0 0 1 0 .863l-10.508 6.13A.5.5 0 0 1 7 18.128V5.871a.5.5 0 0 1 .752-.432z\"}}]}]})(props);\n};\nexport function RiPlayMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9 8.482v7.036L15.03 12 9 8.482zM7.752 5.44l10.508 6.13a.5.5 0 0 1 0 .863l-10.508 6.13A.5.5 0 0 1 7 18.128V5.871a.5.5 0 0 1 .752-.432z\"}}]}]})(props);\n};\nexport function RiPolaroid2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zM6 17v2h12v-2H6zM5 5v2h2V5H5zm7 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 2a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"}}]}]})(props);\n};\nexport function RiPolaroid2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 15V5H5v10h14zM3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zM12 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM6 6h2v2H6V6zm0 11v2h12v-2H6z\"}}]}]})(props);\n};\nexport function RiPolaroidFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.659 10a6 6 0 1 0 0 4H21v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v6h-.341zM5 6v3h2V6H5zm10 10a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiPolaroidLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6h-2V5H5v14h14v-1h2v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2zM6 6h2v3H6V6zm9 10a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0 2a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-4a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiRadio2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3V1h2v2h13.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6zm3 12a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm5-6v2h4V9h-4zm0 4v2h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiRadio2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3V1h2v2h13.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6zM4 5v14h16V5H4zm5 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm5-6h4v2h-4V9zm0 4h4v2h-4v-2z\"}}]}]})(props);\n};\nexport function RiRadioFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 10h3V6H4v4h11V8h2v2zM6 3V1h2v2h13.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6zm1 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiRadioLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 10V8h-2v2H5V6h14v4h-2zM6 3V1h2v2h13.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6zM4 5v14h16V5H4zm4 13a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiRecordCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-7a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiRecordCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0-5a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiRepeat2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20v1.932a.5.5 0 0 1-.82.385l-4.12-3.433A.5.5 0 0 1 3.382 18H18a2 2 0 0 0 2-2V8h2v8a4 4 0 0 1-4 4H8zm8-16V2.068a.5.5 0 0 1 .82-.385l4.12 3.433a.5.5 0 0 1-.321.884H6a2 2 0 0 0-2 2v8H2V8a4 4 0 0 1 4-4h10z\"}}]}]})(props);\n};\nexport function RiRepeat2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20v1.932a.5.5 0 0 1-.82.385l-4.12-3.433A.5.5 0 0 1 3.382 18H18a2 2 0 0 0 2-2V8h2v8a4 4 0 0 1-4 4H8zm8-16V2.068a.5.5 0 0 1 .82-.385l4.12 3.433a.5.5 0 0 1-.321.884H6a2 2 0 0 0-2 2v8H2V8a4 4 0 0 1 4-4h10z\"}}]}]})(props);\n};\nexport function RiRepeatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4h15a1 1 0 0 1 1 1v7h-2V6H6v3L1 5l5-4v3zm12 16H3a1 1 0 0 1-1-1v-7h2v6h14v-3l5 4-5 4v-3z\"}}]}]})(props);\n};\nexport function RiRepeatLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4h15a1 1 0 0 1 1 1v7h-2V6H6v3L1 5l5-4v3zm12 16H3a1 1 0 0 1-1-1v-7h2v6h14v-3l5 4-5 4v-3z\"}}]}]})(props);\n};\nexport function RiRepeatOneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20v1.932a.5.5 0 0 1-.82.385l-4.12-3.433A.5.5 0 0 1 3.382 18H18a2 2 0 0 0 2-2V8h2v8a4 4 0 0 1-4 4H8zm8-16V2.068a.5.5 0 0 1 .82-.385l4.12 3.433a.5.5 0 0 1-.321.884H6a2 2 0 0 0-2 2v8H2V8a4 4 0 0 1 4-4h10zm-5 4h2v8h-2v-6H9V9l2-1z\"}}]}]})(props);\n};\nexport function RiRepeatOneLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 20v1.932a.5.5 0 0 1-.82.385l-4.12-3.433A.5.5 0 0 1 3.382 18H18a2 2 0 0 0 2-2V8h2v8a4 4 0 0 1-4 4H8zm8-17.932a.5.5 0 0 1 .82-.385l4.12 3.433a.5.5 0 0 1-.321.884H6a2 2 0 0 0-2 2v8H2V8a4 4 0 0 1 4-4h10V2.068zM11 8h2v8h-2v-6H9V9l2-1z\"}}]}]})(props);\n};\nexport function RiRewindFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10.667l9.223-6.149a.5.5 0 0 1 .777.416v14.132a.5.5 0 0 1-.777.416L12 13.333v5.733a.5.5 0 0 1-.777.416L.624 12.416a.5.5 0 0 1 0-.832l10.599-7.066a.5.5 0 0 1 .777.416v5.733z\"}}]}]})(props);\n};\nexport function RiRewindLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10.667l9.223-6.149a.5.5 0 0 1 .777.416v14.132a.5.5 0 0 1-.777.416L12 13.333v5.733a.5.5 0 0 1-.777.416L.624 12.416a.5.5 0 0 1 0-.832l10.599-7.066a.5.5 0 0 1 .777.416v5.733zm-2 5.596V7.737L3.606 12 10 16.263zm10 0V7.737L13.606 12 20 16.263z\"}}]}]})(props);\n};\nexport function RiRewindMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17.035a.5.5 0 0 1-.788.409l-7.133-5.036a.5.5 0 0 1 0-.816l7.133-5.036a.5.5 0 0 1 .788.409v10.07zm1.079-4.627a.5.5 0 0 1 0-.816l7.133-5.036a.5.5 0 0 1 .788.409v10.07a.5.5 0 0 1-.788.409l-7.133-5.036z\"}}]}]})(props);\n};\nexport function RiRewindMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9.86L5.968 12 9 14.14V9.86zm1.908 7.463a.5.5 0 0 1-.696.12l-7.133-5.035a.5.5 0 0 1 0-.816l7.133-5.036a.5.5 0 0 1 .788.409v10.07a.5.5 0 0 1-.092.288zM18 14.14V9.86L14.968 12 18 14.14zm-5.921-1.732a.5.5 0 0 1 0-.816l7.133-5.036a.5.5 0 0 1 .788.409v10.07a.5.5 0 0 1-.788.409l-7.133-5.036z\"}}]}]})(props);\n};\nexport function RiRhythmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9h2v12H2V9zm6-6h2v18H8V3zm6 9h2v9h-2v-9zm6-6h2v15h-2V6z\"}}]}]})(props);\n};\nexport function RiRhythmLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9h2v12H2V9zm6-6h2v18H8V3zm6 9h2v9h-2v-9zm6-6h2v15h-2V6z\"}}]}]})(props);\n};\nexport function RiShuffleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17.883V16l5 3-5 3v-2.09a9 9 0 0 1-6.997-5.365L11 14.54l-.003.006A9 9 0 0 1 2.725 20H2v-2h.725a7 7 0 0 0 6.434-4.243L9.912 12l-.753-1.757A7 7 0 0 0 2.725 6H2V4h.725a9 9 0 0 1 8.272 5.455L11 9.46l.003-.006A9 9 0 0 1 18 4.09V2l5 3-5 3V6.117a7 7 0 0 0-5.159 4.126L12.088 12l.753 1.757A7 7 0 0 0 18 17.883z\"}}]}]})(props);\n};\nexport function RiShuffleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17.883V16l5 3-5 3v-2.09a9 9 0 0 1-6.997-5.365L11 14.54l-.003.006A9 9 0 0 1 2.725 20H2v-2h.725a7 7 0 0 0 6.434-4.243L9.912 12l-.753-1.757A7 7 0 0 0 2.725 6H2V4h.725a9 9 0 0 1 8.272 5.455L11 9.46l.003-.006A9 9 0 0 1 18 4.09V2l5 3-5 3V6.117a7 7 0 0 0-5.159 4.126L12.088 12l.753 1.757A7 7 0 0 0 18 17.883z\"}}]}]})(props);\n};\nexport function RiSkipBackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11.333l10.223-6.815a.5.5 0 0 1 .777.416v14.132a.5.5 0 0 1-.777.416L8 12.667V19a1 1 0 0 1-2 0V5a1 1 0 1 1 2 0v6.333z\"}}]}]})(props);\n};\nexport function RiSkipBackLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11.333l10.223-6.815a.5.5 0 0 1 .777.416v14.132a.5.5 0 0 1-.777.416L8 12.667V19a1 1 0 0 1-2 0V5a1 1 0 1 1 2 0v6.333zm9 4.93V7.737L10.606 12 17 16.263z\"}}]}]})(props);\n};\nexport function RiSkipBackMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 1 1v10a1 1 0 0 1-2 0V7a1 1 0 0 1 1-1zm2.079 6.408a.5.5 0 0 1 0-.816l7.133-5.036a.5.5 0 0 1 .788.409v10.07a.5.5 0 0 1-.788.409l-7.133-5.036z\"}}]}]})(props);\n};\nexport function RiSkipBackMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 1 1v10a1 1 0 0 1-2 0V7a1 1 0 0 1 1-1zm8 8.14V9.86L11.968 12 15 14.14zm-5.921-1.732a.5.5 0 0 1 0-.816l7.133-5.036a.5.5 0 0 1 .788.409v10.07a.5.5 0 0 1-.788.409l-7.133-5.036z\"}}]}]})(props);\n};\nexport function RiSkipForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.667L5.777 19.482A.5.5 0 0 1 5 19.066V4.934a.5.5 0 0 1 .777-.416L16 11.333V5a1 1 0 0 1 2 0v14a1 1 0 0 1-2 0v-6.333z\"}}]}]})(props);\n};\nexport function RiSkipForwardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12.667L5.777 19.482A.5.5 0 0 1 5 19.066V4.934a.5.5 0 0 1 .777-.416L16 11.333V5a1 1 0 0 1 2 0v14a1 1 0 0 1-2 0v-6.333zm-9-4.93v8.526L13.394 12 7 7.737z\"}}]}]})(props);\n};\nexport function RiSkipForwardMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.788 17.444A.5.5 0 0 1 7 17.035V6.965a.5.5 0 0 1 .788-.409l7.133 5.036a.5.5 0 0 1 0 .816l-7.133 5.036zM16 7a1 1 0 0 1 2 0v10a1 1 0 1 1-2 0V7z\"}}]}]})(props);\n};\nexport function RiSkipForwardMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.032 12L9 9.86v4.28L12.032 12zM7.5 17.535a.5.5 0 0 1-.5-.5V6.965a.5.5 0 0 1 .788-.409l7.133 5.036a.5.5 0 0 1 0 .816l-7.133 5.036a.5.5 0 0 1-.288.091zM16 7a1 1 0 0 1 2 0v10a1 1 0 1 1-2 0V7z\"}}]}]})(props);\n};\nexport function RiSoundModuleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18v3h-2v-3h-2v-3h6v3h-2zM5 18v3H3v-3H1v-3h6v3H5zm6-12V3h2v3h2v3H9V6h2zm0 5h2v10h-2V11zm-8 2V3h2v10H3zm16 0V3h2v10h-2z\"}}]}]})(props);\n};\nexport function RiSoundModuleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18v3h-2v-3h-2v-2h6v2h-2zM5 18v3H3v-3H1v-2h6v2H5zm6-12V3h2v3h2v2H9V6h2zm0 4h2v11h-2V10zm-8 4V3h2v11H3zm16 0V3h2v11h-2z\"}}]}]})(props);\n};\nexport function RiSpeaker2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 14a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0 2a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm0-5a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiSpeaker2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v14h14V5H5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 13a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0 2a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-4.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiSpeaker3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm8 13a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 2a6 6 0 1 0 0-12 6 6 0 0 0 0 12zM6 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm12 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM6 19a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm6-5.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiSpeaker3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5v14h14V5H5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm3 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm10 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 10a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM7 18a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm5-3a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 2a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-4a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiSpeakerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm8 18a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-12a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiSpeakerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4v16h14V4H5zM4 2h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm8 15a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 2a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-10.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiSpeedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.333l-9.223 6.149A.5.5 0 0 1 2 19.066V4.934a.5.5 0 0 1 .777-.416L12 10.667V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832l-10.599 7.066a.5.5 0 0 1-.777-.416v-5.733z\"}}]}]})(props);\n};\nexport function RiSpeedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.333l-9.223 6.149A.5.5 0 0 1 2 19.066V4.934a.5.5 0 0 1 .777-.416L12 10.667V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832l-10.599 7.066a.5.5 0 0 1-.777-.416v-5.733zM10.394 12L4 7.737v8.526L10.394 12zM14 7.737v8.526L20.394 12 14 7.737z\"}}]}]})(props);\n};\nexport function RiSpeedMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.788 17.444A.5.5 0 0 1 4 17.035V6.965a.5.5 0 0 1 .788-.409l7.133 5.036a.5.5 0 0 1 0 .816l-7.133 5.036zM13 6.965a.5.5 0 0 1 .788-.409l7.133 5.036a.5.5 0 0 1 0 .816l-7.133 5.036a.5.5 0 0 1-.788-.409V6.965z\"}}]}]})(props);\n};\nexport function RiSpeedMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.032 12L6 9.86v4.28L9.032 12zm-4.244 5.444A.5.5 0 0 1 4 17.035V6.965a.5.5 0 0 1 .788-.409l7.133 5.036a.5.5 0 0 1 0 .816l-7.133 5.036zM15 14.14L18.032 12 15 9.86v4.28zm-2-7.175a.5.5 0 0 1 .788-.409l7.133 5.036a.5.5 0 0 1 0 .816l-7.133 5.036a.5.5 0 0 1-.788-.409V6.965z\"}}]}]})(props);\n};\nexport function RiStopCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM9 9v6h6V9H9z\"}}]}]})(props);\n};\nexport function RiStopCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM9 9h6v6H9V9z\"}}]}]})(props);\n};\nexport function RiStopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiStopLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7v10h10V7H7zM6 5h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiStopMiniFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z\"}}]}]})(props);\n};\nexport function RiStopMiniLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8v8h8V8H8zM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7z\"}}]}]})(props);\n};\nexport function RiSurroundSoundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4.05 4.121A6.978 6.978 0 0 0 5 12.071c0 1.933.784 3.683 2.05 4.95l1.414-1.414A4.984 4.984 0 0 1 7 12.07c0-1.38.56-2.63 1.464-3.535L7.05 7.12zm9.9 0l-1.414 1.415A4.984 4.984 0 0 1 17 12.07c0 1.38-.56 2.63-1.464 3.536l1.414 1.414A6.978 6.978 0 0 0 19 12.07a6.978 6.978 0 0 0-2.05-4.95zM12 15.071a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiSurroundSoundLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm4.05 4.121l1.414 1.415A4.984 4.984 0 0 0 7 12.07c0 1.38.56 2.63 1.464 3.536L7.05 17.02A6.978 6.978 0 0 1 5 12.07c0-1.933.784-3.683 2.05-4.95zm9.9 0a6.978 6.978 0 0 1 2.05 4.95 6.978 6.978 0 0 1-2.05 4.95l-1.414-1.414A4.984 4.984 0 0 0 17 12.07c0-1.38-.56-2.63-1.464-3.535L16.95 7.12zM12 13.071a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiTapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.83 13A3 3 0 1 0 8 15h8a3 3 0 1 0-2.83-2h-2.34zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm13 10a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-8 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiTapeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.83 13h2.34A3 3 0 1 1 16 15H8a3 3 0 1 1 2.83-2zM4 5v14h16V5H4zM3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm5 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm8 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiVideoAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zM8 8v3H5v2h2.999L8 16h2l-.001-3H13v-2h-3V8H8z\"}}]}]})(props);\n};\nexport function RiVideoAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zm-1 2H3v12h12V6zM8 8h2v3h3v2H9.999L10 16H8l-.001-3H5v-2h3V8zm13 .841l-4 2.8v.718l4 2.8V8.84z\"}}]}]})(props);\n};\nexport function RiVideoDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zm-6 4H8v4H5l4 4 4-4h-3V8z\"}}]}]})(props);\n};\nexport function RiVideoDownloadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zm-1 2H3v12h12V6zm-5 2v4h3l-4 4-4-4h3V8h2zm11 .841l-4 2.8v.718l4 2.8V8.84z\"}}]}]})(props);\n};\nexport function RiVideoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zm7.622 4.422a.4.4 0 0 0-.622.332v6.506a.4.4 0 0 0 .622.332l4.879-3.252a.4.4 0 0 0 0-.666l-4.88-3.252z\"}}]}]})(props);\n};\nexport function RiVideoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.993C3 3.445 3.445 3 3.993 3h16.014c.548 0 .993.445.993.993v16.014a.994.994 0 0 1-.993.993H3.993A.994.994 0 0 1 3 20.007V3.993zM5 5v14h14V5H5zm5.622 3.415l4.879 3.252a.4.4 0 0 1 0 .666l-4.88 3.252a.4.4 0 0 1-.621-.332V8.747a.4.4 0 0 1 .622-.332z\"}}]}]})(props);\n};\nexport function RiVideoUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zM9 8l-4 4h3v4h2v-4h3L9 8z\"}}]}]})(props);\n};\nexport function RiVideoUploadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zm-1 2H3v12h12V6zM9 8l4 4h-3v4H8v-4H5l4-4zm12 .841l-4 2.8v.718l4 2.8V8.84z\"}}]}]})(props);\n};\nexport function RiVidicon2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6V4H5V2h10v4h1a1 1 0 0 1 1 1v2.2l5.213-3.65a.5.5 0 0 1 .787.41v12.08a.5.5 0 0 1-.787.41L17 14.8V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h11zm-8 4v2h2v-2H5z\"}}]}]})(props);\n};\nexport function RiVidicon2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6V4H5V2h10v4h1a1 1 0 0 1 1 1v2.2l5.213-3.65a.5.5 0 0 1 .787.41v12.08a.5.5 0 0 1-.787.41L17 14.8V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h11zm2 2H3v10h12V8zm2 4.359l4 2.8V8.84l-4 2.8v.718zM5 10h2v2H5v-2z\"}}]}]})(props);\n};\nexport function RiVidiconFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 9.2l5.213-3.65a.5.5 0 0 1 .787.41v12.08a.5.5 0 0 1-.787.41L17 14.8V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v4.2zM5 8v2h2V8H5z\"}}]}]})(props);\n};\nexport function RiVidiconLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 9.2l5.213-3.65a.5.5 0 0 1 .787.41v12.08a.5.5 0 0 1-.787.41L17 14.8V19a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v4.2zm0 3.159l4 2.8V8.84l-4 2.8v.718zM3 6v12h12V6H3zm2 2h2v2H5V8z\"}}]}]})(props);\n};\nexport function RiVoiceprintFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7h2v10H5V7zm-4 3h2v4H1v-4zm8-8h2v18H9V2zm4 2h2v18h-2V4zm4 3h2v10h-2V7zm4 3h2v4h-2v-4z\"}}]}]})(props);\n};\nexport function RiVoiceprintLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7h2v10H5V7zm-4 3h2v4H1v-4zm8-8h2v18H9V2zm4 2h2v18h-2V4zm4 3h2v10h-2V7zm4 3h2v4h-2v-4z\"}}]}]})(props);\n};\nexport function RiVolumeDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.889 16H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L8.89 16zm9.974.591l-1.422-1.422A3.993 3.993 0 0 0 19 12c0-1.43-.75-2.685-1.88-3.392l1.439-1.439A5.991 5.991 0 0 1 21 12c0 1.842-.83 3.49-2.137 4.591z\"}}]}]})(props);\n};\nexport function RiVolumeDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7.22L9.603 10H6v4h3.603L13 16.78V7.22zM8.889 16H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L8.89 16zm9.974.591l-1.422-1.422A3.993 3.993 0 0 0 19 12c0-1.43-.75-2.685-1.88-3.392l1.439-1.439A5.991 5.991 0 0 1 21 12c0 1.842-.83 3.49-2.137 4.591z\"}}]}]})(props);\n};\nexport function RiVolumeMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.889 16H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L5.89 16zm14.525-4l3.536 3.536-1.414 1.414L19 13.414l-3.536 3.536-1.414-1.414L17.586 12 14.05 8.464l1.414-1.414L19 10.586l3.536-3.536 1.414 1.414L20.414 12z\"}}]}]})(props);\n};\nexport function RiVolumeMuteLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7.22L6.603 10H3v4h3.603L10 16.78V7.22zM5.889 16H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L5.89 16zm14.525-4l3.536 3.536-1.414 1.414L19 13.414l-3.536 3.536-1.414-1.414L17.586 12 14.05 8.464l1.414-1.414L19 10.586l3.536-3.536 1.414 1.414L20.414 12z\"}}]}]})(props);\n};\nexport function RiVolumeOffVibrateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.39 3.161l1.413 1.414-2.475 2.475 2.475 2.475L18.328 12l2.475 2.476-2.475 2.475 2.475 2.475-1.414 1.414-3.889-3.89 2.475-2.474L15.5 12l2.475-2.475L15.5 7.05l3.89-3.889zM13 19.945a.5.5 0 0 1-.817.387L6.89 15.999 3 16a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1l2.584-.002-3.776-3.776 1.414-1.414L13 12.586v7.359zm-.113-16.206a.5.5 0 0 1 .113.316v5.702L9.282 6.04l2.901-2.372a.5.5 0 0 1 .704.07z\"}}]}]})(props);\n};\nexport function RiVolumeOffVibrateLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.39 3.161l1.413 1.414-2.475 2.475 2.475 2.475L18.328 12l2.475 2.476-2.475 2.475 2.475 2.475-1.414 1.414-3.889-3.89 2.475-2.474L15.5 12l2.475-2.475L15.5 7.05l3.89-3.889zM13 19.945a.5.5 0 0 1-.817.387L6.89 15.999 3 16a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1l2.584-.002-3.776-3.776 1.414-1.414L13 12.586v7.359zM7.584 9.998L4 10V14l3.603-.001L11 16.779v-3.365L7.584 9.998zm5.303-6.26a.5.5 0 0 1 .113.317v5.702l-2-2V7.22l-.296.241-1.421-1.42 2.9-2.373a.5.5 0 0 1 .704.07z\"}}]}]})(props);\n};\nexport function RiVolumeUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.889 16H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L5.89 16zm13.517 4.134l-1.416-1.416A8.978 8.978 0 0 0 21 12a8.982 8.982 0 0 0-3.304-6.968l1.42-1.42A10.976 10.976 0 0 1 23 12c0 3.223-1.386 6.122-3.594 8.134zm-3.543-3.543l-1.422-1.422A3.993 3.993 0 0 0 16 12c0-1.43-.75-2.685-1.88-3.392l1.439-1.439A5.991 5.991 0 0 1 18 12c0 1.842-.83 3.49-2.137 4.591z\"}}]}]})(props);\n};\nexport function RiVolumeUpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7.22L6.603 10H3v4h3.603L10 16.78V7.22zM5.889 16H2a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .817.387v15.89a.5.5 0 0 1-.817.387L5.89 16zm13.517 4.134l-1.416-1.416A8.978 8.978 0 0 0 21 12a8.982 8.982 0 0 0-3.304-6.968l1.42-1.42A10.976 10.976 0 0 1 23 12c0 3.223-1.386 6.122-3.594 8.134zm-3.543-3.543l-1.422-1.422A3.993 3.993 0 0 0 16 12c0-1.43-.75-2.685-1.88-3.392l1.439-1.439A5.991 5.991 0 0 1 18 12c0 1.842-.83 3.49-2.137 4.591z\"}}]}]})(props);\n};\nexport function RiVolumeVibrateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.39 3.161l1.413 1.414-2.475 2.475 2.475 2.475L18.328 12l2.475 2.476-2.475 2.475 2.475 2.475-1.414 1.414-3.889-3.89 2.475-2.474L15.5 12l2.475-2.475L15.5 7.05l3.89-3.889zm-6.503.578a.5.5 0 0 1 .113.316v15.89a.5.5 0 0 1-.817.387L6.89 15.999 3 16a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .704.07z\"}}]}]})(props);\n};\nexport function RiVolumeVibrateLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.39 3.161l1.413 1.414-2.475 2.475 2.475 2.475L18.328 12l2.475 2.476-2.475 2.475 2.475 2.475-1.414 1.414-3.889-3.89 2.475-2.474L15.5 12l2.475-2.475L15.5 7.05l3.89-3.889zm-6.503.578a.5.5 0 0 1 .113.316v15.89a.5.5 0 0 1-.817.387L6.89 15.999 3 16a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h3.889l5.294-4.332a.5.5 0 0 1 .704.07zM11 7.22L7.603 9.999H4V14l3.603-.001L11 16.779V7.22z\"}}]}]})(props);\n};\nexport function RiWebcamFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 21v-1.07A7.002 7.002 0 0 1 5 13V8a7 7 0 1 1 14 0v5a7.002 7.002 0 0 1-6 6.93V21h4v2H7v-2h4zm1-12a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 2a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiWebcamLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 21v-1.07A7.002 7.002 0 0 1 5 13V8a7 7 0 1 1 14 0v5a7.002 7.002 0 0 1-6 6.93V21h4v2H7v-2h4zm1-18a5 5 0 0 0-5 5v5a5 5 0 0 0 10 0V8a5 5 0 0 0-5-5zm0 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiBasketballFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.366 13.366l1.775 1.025a9.98 9.98 0 0 0-.311 7.44A9.911 9.911 0 0 1 12 22a9.964 9.964 0 0 1-4.11-.88l4.476-7.754zm3.517 2.032l4.234 2.444a10.033 10.033 0 0 1-4.363 3.43 7.988 7.988 0 0 1 .008-5.57l.121-.304zM8.86 11.342l1.775 1.024-4.476 7.75a10.026 10.026 0 0 1-3.59-4.785 9.978 9.978 0 0 0 6.085-3.713l.206-.276zm13.046-.726c.063.453.095.915.095 1.384a9.964 9.964 0 0 1-.88 4.11l-4.236-2.445a7.985 7.985 0 0 1 4.866-3.021l.155-.028zM2.881 7.891l4.235 2.445a7.99 7.99 0 0 1-5.021 3.05A10.14 10.14 0 0 1 2 12c0-1.465.315-2.856.88-4.11zm14.961-4.008a10.026 10.026 0 0 1 3.59 4.785 9.985 9.985 0 0 0-6.086 3.715l-.205.276-1.775-1.025 4.476-7.75zM12 2c1.465 0 2.856.315 4.11.88l-4.476 7.754L9.859 9.61a9.98 9.98 0 0 0 .311-7.442A9.922 9.922 0 0 1 12 2zm-3.753.73a7.992 7.992 0 0 1-.01 5.57l-.12.303-4.234-2.445a10.036 10.036 0 0 1 4.164-3.346l.2-.083z\"}}]}]})(props);\n};\nexport function RiBasketballLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm.366 11.366l-3.469 6.01a8.053 8.053 0 0 0 4.459.51 9.937 9.937 0 0 1 .784-5.494l-1.774-1.026zm3.518 2.031a7.956 7.956 0 0 0-.587 3.894 8.022 8.022 0 0 0 3.077-2.456l-2.49-1.438zm-7.025-4.055a9.95 9.95 0 0 1-4.365 3.428 8.01 8.01 0 0 0 2.671 3.604l3.469-6.008-1.775-1.024zm11.103-.13l-.258.12a7.947 7.947 0 0 0-2.82 2.333l2.492 1.439a7.975 7.975 0 0 0 .586-3.893zM4 12c0 .266.013.53.038.789a7.95 7.95 0 0 0 3.078-2.454L4.624 8.897A7.975 7.975 0 0 0 4 12zm12.835-6.374l-3.469 6.008 1.775 1.025a9.95 9.95 0 0 1 4.366-3.43 8.015 8.015 0 0 0-2.419-3.402l-.253-.201zM12 4c-.463 0-.916.04-1.357.115a9.928 9.928 0 0 1-.784 5.494l1.775 1.025 3.469-6.01A7.975 7.975 0 0 0 12 4zm-3.297.71l-.191.088a8.033 8.033 0 0 0-2.886 2.367l2.49 1.438a7.956 7.956 0 0 0 .587-3.893z\"}}]}]})(props);\n};\nexport function RiBellFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.414 10.586l.48.486.465.485.459.492c3.458 3.764 5.472 7.218 4.607 8.083-.4.4-1.356.184-2.64-.507a9.006 9.006 0 0 1-10.403-.592l2.98-2.98a2 2 0 1 0-1.45-1.569l.035.155-2.979 2.98a9.007 9.007 0 0 1-.592-10.405c-.692-1.283-.908-2.238-.508-2.639.977-.976 5.25 1.715 9.546 6.01zm6.364-6.364a2 2 0 0 1-.164 2.976 9.015 9.015 0 0 1 .607 8.47c-1.189-1.954-3.07-4.174-5.393-6.496l-.537-.532c-2.128-2.079-4.156-3.764-5.958-4.86a9.015 9.015 0 0 1 8.471.607 2 2 0 0 1 2.974-.165z\"}}]}]})(props);\n};\nexport function RiBellLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14.121 9.879c4.296 4.295 6.829 8.728 5.657 9.9-.475.474-1.486.34-2.807-.273a9.008 9.008 0 0 1-10.59-.474l-.038.04-1.414-1.415.038-.04A9.006 9.006 0 0 1 4.495 7.03c-.614-1.322-.748-2.333-.273-2.808 1.128-1.128 5.277 1.177 9.417 5.182l.482.475zm-1.414 1.414C10.823 9.409 8.87 7.842 7.236 6.87l-.186.18a7.002 7.002 0 0 0-.657 9.142l1.846-1.846a2 2 0 1 1 1.416 1.415l-1.848 1.846a7.002 7.002 0 0 0 9.143-.657l.179-.188-.053-.089c-.976-1.615-2.52-3.53-4.369-5.38zm7.071-7.071a2 2 0 0 1-.164 2.976 9.015 9.015 0 0 1 .662 8.345 21.168 21.168 0 0 0-1.386-2.306 6.99 6.99 0 0 0-1.94-6.187 6.992 6.992 0 0 0-6.187-1.94 21.092 21.092 0 0 0-2.306-1.386 9.016 9.016 0 0 1 8.347.663 2 2 0 0 1 2.974-.165z\"}}]}]})(props);\n};\nexport function RiBilliardsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12zm0 1.75a2.5 2.5 0 0 1 1.88 4.148c.565.456.92 1.117.92 1.852 0 1.38-1.254 2.5-2.8 2.5-1.546 0-2.8-1.12-2.8-2.5 0-.735.355-1.396.92-1.853A2.5 2.5 0 0 1 12 7.75zm0 5c-.753 0-1.3.488-1.3 1s.547 1 1.3 1 1.3-.488 1.3-1-.547-1-1.3-1zm0-3.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]}]})(props);\n};\nexport function RiBilliardsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0 2a6 6 0 1 1 0 12 6 6 0 0 1 0-12zm0 1.75a2.5 2.5 0 0 0-1.88 4.147c-.565.457-.92 1.118-.92 1.853 0 1.38 1.254 2.5 2.8 2.5 1.546 0 2.8-1.12 2.8-2.5 0-.735-.355-1.396-.92-1.852A2.5 2.5 0 0 0 12 7.75zm0 5c.753 0 1.3.488 1.3 1s-.547 1-1.3 1-1.3-.488-1.3-1 .547-1 1.3-1zm0-3.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]}]})(props);\n};\nexport function RiBoxingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9.5 11l.144.007a1.5 1.5 0 0 1 1.35 1.349L11 12.5l-.007.144a1.5 1.5 0 0 1-1.349 1.35L9.5 14H6v2h3.5c1.7 0 3.117-1.212 3.434-2.819l.03-.18L19 13c.711 0 1.388-.149 2-.416V17a3.001 3.001 0 0 1-2 2.829V21a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-1.17A3.001 3.001 0 0 1 3 17v-4a2 2 0 0 1 2-2h4.5zM22 7.5V8l-.005.176a3 3 0 0 1-2.819 2.819L19 11h-6.337a3.501 3.501 0 0 0-2.955-1.994L9.5 9H5c-.729 0-1.412.195-2.001.536L3 6a4 4 0 0 1 4-4h9.5A5.5 5.5 0 0 1 22 7.5z\"}}]}]})(props);\n};\nexport function RiBoxingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16.5 2A5.5 5.5 0 0 1 22 7.5V10c0 .888-.386 1.686-1 2.235V17a3.001 3.001 0 0 1-2 2.829V21a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-1.17A3.001 3.001 0 0 1 3 17V6a4 4 0 0 1 4-4h9.5zm-7 9H5v6a1 1 0 0 0 .883.993L6 18h12a1 1 0 0 0 .993-.883L19 17v-4h-6.036A3.5 3.5 0 0 1 9.5 16H6v-2h3.5a1.5 1.5 0 0 0 1.493-1.356L11 12.5a1.5 1.5 0 0 0-1.356-1.493L9.5 11zm7-7H7a2 2 0 0 0-1.995 1.85L5 6v3h4.5a3.5 3.5 0 0 1 3.163 2H19a1 1 0 0 0 .993-.883L20 10V7.5a3.5 3.5 0 0 0-3.308-3.495L16.5 4z\"}}]}]})(props);\n};\nexport function RiCactusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c2.21 0 4 1.79 4 4v9h1c.55 0 1-.45 1-1V8c0-.552.448-1 1-1s1 .448 1 1v6c0 1.657-1.343 3-3 3h-1v3h2v2H6v-2h2v-6H7c-1.657 0-3-1.343-3-3V9c0-.552.448-1 1-1s1 .448 1 1v2c0 .55.45 1 1 1h1V6c0-2.21 1.79-4 4-4z\"}}]}]})(props);\n};\nexport function RiCactusLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c2.21 0 4 1.79 4 4v9h1c.55 0 1-.45 1-1V8c0-.552.448-1 1-1s1 .448 1 1v6c0 1.66-1.34 3-3 3h-1v3h2v2H6v-2h2v-6H7c-1.657 0-3-1.343-3-3V9c0-.552.448-1 1-1s1 .448 1 1v2c0 .55.45 1 1 1h1V6c0-2.21 1.79-4 4-4zm0 2c-1.105 0-2 .895-2 2v14h4V6c0-1.105-.895-2-2-2z\"}}]}]})(props);\n};\nexport function RiCake2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6v3.999h3V6h2v3.999h3V6h2v3.999L19 10a3 3 0 0 1 2.995 2.824L22 13v1c0 1.014-.377 1.94-.999 2.645L21 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4.36a4.025 4.025 0 0 1-.972-2.182l-.022-.253L2 14v-1a3 3 0 0 1 2.824-2.995L5 10l1-.001V6h2zm11 6H5a1 1 0 0 0-.993.883L4 13v.971l.003.147A2 2 0 0 0 6 16a1.999 1.999 0 0 0 1.98-1.7l.015-.153.005-.176c.036-1.248 1.827-1.293 1.989-.134l.01.134.004.147a2 2 0 0 0 3.992.031l.012-.282c.124-1.156 1.862-1.156 1.986 0l.012.282a2 2 0 0 0 3.99 0L20 14v-1a1 1 0 0 0-.883-.993L19 12zM7 1c1.32.871 1.663 2.088 1.449 2.888a1.5 1.5 0 0 1-2.898-.776C5.85 2.002 7 2.5 7 1zm5 0c1.32.871 1.663 2.088 1.449 2.888a1.5 1.5 0 1 1-2.898-.776C10.85 2.002 12 2.5 12 1zm5 0c1.32.871 1.663 2.088 1.449 2.888a1.5 1.5 0 1 1-2.898-.776C15.85 2.002 17 2.5 17 1z\"}}]}]})(props);\n};\nexport function RiCake2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8 6v3.999h3V6h2v3.999h3V6h2v3.999L19 10a3 3 0 0 1 2.995 2.824L22 13v1c0 1.014-.377 1.94-.999 2.645L21 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4.36a4.025 4.025 0 0 1-.972-2.182l-.022-.253L2 14v-1a3 3 0 0 1 2.824-2.995L5 10l1-.001V6h2zm1.002 10.641l-.054.063a3.994 3.994 0 0 1-2.514 1.273l-.23.018L6 18c-.345 0-.68-.044-1-.126V20h14v-2.126a4.007 4.007 0 0 1-3.744-.963l-.15-.15-.106-.117-.107.118a3.99 3.99 0 0 1-2.451 1.214l-.242.02L12 18a3.977 3.977 0 0 1-2.797-1.144l-.15-.157-.051-.058zM19 12H5a1 1 0 0 0-.993.883L4 13v.971l.003.147A2 2 0 0 0 6 16a1.999 1.999 0 0 0 1.98-1.7l.015-.153.005-.176c.036-1.248 1.827-1.293 1.989-.134l.01.134.004.147a2 2 0 0 0 3.992.031l.012-.282c.124-1.156 1.862-1.156 1.986 0l.012.282a2 2 0 0 0 3.99 0L20 14v-1a1 1 0 0 0-.883-.993L19 12zM7 1c1.32.871 1.663 2.088 1.449 2.888a1.5 1.5 0 0 1-2.898-.776C5.85 2.002 7 2.5 7 1zm5 0c1.32.871 1.663 2.088 1.449 2.888a1.5 1.5 0 1 1-2.898-.776C10.85 2.002 12 2.5 12 1zm5 0c1.32.871 1.663 2.088 1.449 2.888a1.5 1.5 0 1 1-2.898-.776C15.85 2.002 17 2.5 17 1z\"}}]}]})(props);\n};\nexport function RiCake3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.5 2a3.5 3.5 0 0 1 3.437 4.163l-.015.066a4.502 4.502 0 0 1 .303 8.428l-1.086 6.507a1 1 0 0 1-.986.836H6.847a1 1 0 0 1-.986-.836l-1.029-6.17a3 3 0 0 1-.829-5.824L4 9a6 6 0 0 1 8.575-5.42A3.493 3.493 0 0 1 15.5 2zM11 15H9v5h2v-5zm4 0h-2v5h2v-5zm2.5-2a2.5 2.5 0 1 0-.956-4.81l-.175.081a2 2 0 0 1-2.663-.804l-.07-.137A4 4 0 0 0 10 5C7.858 5 6.109 6.684 6.005 8.767L6 8.964l.003.17a2 2 0 0 1-1.186 1.863l-.15.059A1.001 1.001 0 0 0 5 13h12.5z\"}}]}]})(props);\n};\nexport function RiCake3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.5 2a3.5 3.5 0 0 1 3.437 4.163l-.015.066a4.502 4.502 0 0 1 .303 8.428l-1.086 6.507a1 1 0 0 1-.986.836H6.847a1 1 0 0 1-.986-.836l-1.029-6.17a3 3 0 0 1-.829-5.824L4 9a6 6 0 0 1 8.574-5.421A3.496 3.496 0 0 1 15.5 2zM9 15H6.86l.834 5H9v-5zm4 0h-2v5h2v-5zm4.139 0H15v5h1.305l.834-5zM10 5C7.858 5 6.109 6.684 6.005 8.767L6 8.964l.003.17a2 2 0 0 1-1.186 1.863l-.15.059A1.001 1.001 0 0 0 5 13h12.5a2.5 2.5 0 1 0-.956-4.81l-.175.081a2 2 0 0 1-2.663-.804l-.07-.137A4 4 0 0 0 10 5zm5.5-1a1.5 1.5 0 0 0-1.287.729 6.006 6.006 0 0 1 1.24 1.764c.444-.228.93-.384 1.446-.453A1.5 1.5 0 0 0 15.5 4z\"}}]}]})(props);\n};\nexport function RiCakeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7v4h7a1 1 0 0 1 1 1v8h2v2H1v-2h2v-8a1 1 0 0 1 1-1h7V7h2zm.83-6.598A3 3 0 0 1 12.732 4.5L11 5.5a3 3 0 0 1 1.098-4.098l1.732-1z\"}}]}]})(props);\n};\nexport function RiCakeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 7v4h7a1 1 0 0 1 1 1v8h2v2H1v-2h2v-8a1 1 0 0 1 1-1h7V7h2zm6 6H5v7h14v-7zM13.83.402A3 3 0 0 1 12.732 4.5L11 5.5a3 3 0 0 1 1.098-4.098l1.732-1z\"}}]}]})(props);\n};\nexport function RiCharacterRecognitionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v18H3V3h18zm-8.001 3h-2L6.6 17h2.154l1.199-3h4.09l1.201 3h2.155l-4.4-11zm-1 2.885L13.244 12h-2.492l1.247-3.115z\"}}]}]})(props);\n};\nexport function RiCharacterRecognitionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15v4h4v2H3v-6h2zm16 0v6h-6v-2h4v-4h2zm-8.001-9l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3H6.6l4.399-11h2zm-1 2.885L10.752 12h2.492l-1.245-3.115zM9 3v2H5v4H3V3h6zm12 0v6h-2V5h-4V3h6z\"}}]}]})(props);\n};\nexport function RiDoorClosedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21v-2h2V4c0-.552.448-1 1-1h12c.552 0 1 .448 1 1v15h2v2H3zm12-10h-2v2h2v-2z\"}}]}]})(props);\n};\nexport function RiDoorClosedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21v-2h2V4c0-.552.448-1 1-1h12c.552 0 1 .448 1 1v15h2v2H3zM17 5H7v14h10V5zm-2 6v2h-2v-2h2z\"}}]}]})(props);\n};\nexport function RiDoorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H6c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h12zm-4 8c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiDoorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3c.552 0 1 .448 1 1v16c0 .552-.448 1-1 1H6c-.552 0-1-.448-1-1V4c0-.552.448-1 1-1h12zm-1 2H7v14h10V5zm-2 6v2h-2v-2h2z\"}}]}]})(props);\n};\nexport function RiDoorLockBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm7 9.792V16h2v-3.208a2.5 2.5 0 1 0-2 0z\"}}]}]})(props);\n};\nexport function RiDoorLockBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm6 7.792a2.5 2.5 0 1 1 2 0V16h-2v-3.208z\"}}]}]})(props);\n};\nexport function RiDoorLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-9.208V16h2v-3.208a2.5 2.5 0 1 0-2 0z\"}}]}]})(props);\n};\nexport function RiDoorLockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-1-7.208a2.5 2.5 0 1 1 2 0V16h-2v-3.208z\"}}]}]})(props);\n};\nexport function RiDoorOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 21v-2h2V4.835c0-.484.346-.898.821-.984l9.472-1.722c.326-.06.638.157.697.483.007.035.01.07.01.107v1.28L19 4c.552 0 1 .448 1 1v14h2v2h-4V6h-3v15H2zm10-10h-2v2h2v-2z\"}}]}]})(props);\n};\nexport function RiDoorOpenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 21v-2h2V4.835c0-.484.346-.898.821-.984l9.472-1.722c.326-.06.638.157.697.483.007.035.01.07.01.107v1.28L19 4c.552 0 1 .448 1 1v14h2v2h-4V6h-3v15H2zM13 4.396L6 5.67V19h7V4.396zM12 11v2h-2v-2h2z\"}}]}]})(props);\n};\nexport function RiFootballFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm1.67 14h-3.34l-1.38 1.897.554 1.706A7.993 7.993 0 0 0 12 20c.871 0 1.71-.14 2.496-.397l.553-1.706L13.669 16zm-8.376-5.128l-1.292.937L4 12c0 1.73.549 3.331 1.482 4.64h1.91l1.323-1.82-1.028-3.17-2.393-.778zm13.412 0l-2.393.778-1.028 3.17 1.322 1.82h1.91A7.964 7.964 0 0 0 20 12l-.003-.191-1.291-.937zM14.29 4.333L13 5.273V7.79l2.694 1.957 2.239-.727.554-1.703a8.014 8.014 0 0 0-4.196-2.984zm-4.582 0a8.014 8.014 0 0 0-4.196 2.985l.554 1.702 2.239.727L11 7.79V5.273l-1.291-.94z\"}}]}]})(props);\n};\nexport function RiFootballLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm1.67 14h-3.34l-1.38 1.897.554 1.706A7.993 7.993 0 0 0 12 20c.871 0 1.71-.14 2.496-.397l.553-1.706L13.669 16zm-8.376-5.128l-1.292.937L4 12c0 1.73.549 3.331 1.482 4.64h1.91l1.323-1.82-1.028-3.17-2.393-.778zm13.412 0l-2.393.778-1.028 3.17 1.322 1.82h1.91A7.964 7.964 0 0 0 20 12l-.003-.19-1.291-.938zM12 9.536l-2.344 1.702.896 2.762h2.895l.896-2.762L12 9.536zm2.291-5.203L13 5.273V7.79l2.694 1.957 2.239-.727.554-1.703a8.014 8.014 0 0 0-4.196-2.984zm-4.583 0a8.014 8.014 0 0 0-4.195 2.985l.554 1.702 2.239.727L11 7.79V5.273l-1.292-.94z\"}}]}]})(props);\n};\nexport function RiFridgeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12v10c0 .552-.448 1-1 1H5c-.552 0-1-.448-1-1V12h16zM9 14H7v5h2v-5zM19 1c.552 0 1 .448 1 1v8H4V2c0-.552.448-1 1-1h14zM9 4H7v4h2V4z\"}}]}]})(props);\n};\nexport function RiFridgeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 1c.552 0 1 .448 1 1v20c0 .552-.448 1-1 1H5c-.552 0-1-.448-1-1V2c0-.552.448-1 1-1h14zm-1 11H6v9h12v-9zm-8 2v4H8v-4h2zm8-11H6v7h12V3zm-8 2v3H8V5h2z\"}}]}]})(props);\n};\nexport function RiGameFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a9.98 9.98 0 0 1 7.743 3.671L13.414 12l6.329 6.329A9.98 9.98 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2zm0 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"}}]}]})(props);\n};\nexport function RiGameLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2a9.98 9.98 0 0 1 7.743 3.671L13.414 12l6.329 6.329A9.98 9.98 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2zm0 2a8 8 0 1 0 4.697 14.477l.208-.157-6.32-6.32 6.32-6.321-.208-.156a7.964 7.964 0 0 0-4.394-1.517L12 4zm0 1a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z\"}}]}]})(props);\n};\nexport function RiHandbagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a7 7 0 0 1 7 7h1.074a1 1 0 0 1 .997.923l.846 11a1 1 0 0 1-.92 1.074L20.92 22H3.08a1 1 0 0 1-1-1l.003-.077.846-11A1 1 0 0 1 3.926 9H5a7 7 0 0 1 7-7zm2 11h-4v2h4v-2zm-2-9a5 5 0 0 0-4.995 4.783L7 9h10a5 5 0 0 0-4.783-4.995L12 4z\"}}]}]})(props);\n};\nexport function RiHandbagLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2a7 7 0 0 1 7 7h1.074a1 1 0 0 1 .997.923l.846 11a1 1 0 0 1-.92 1.074L20.92 22H3.08a1 1 0 0 1-1-1l.003-.077.846-11A1 1 0 0 1 3.926 9H5a7 7 0 0 1 7-7zm7.147 9H4.852l-.693 9H19.84l-.693-9zM14 13v2h-4v-2h4zm-2-9a5 5 0 0 0-4.995 4.783L7 9h10a5 5 0 0 0-4.783-4.995L12 4z\"}}]}]})(props);\n};\nexport function RiKey2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.313 11.566l7.94-7.94 2.121 2.121-1.414 1.414 2.121 2.121-3.535 3.536-2.121-2.121-2.99 2.99a5.002 5.002 0 0 1-7.97 5.849 5 5 0 0 1 5.848-7.97zm-.899 5.848a2 2 0 1 0-2.828-2.828 2 2 0 0 0 2.828 2.828z\"}}]}]})(props);\n};\nexport function RiKey2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.758 11.828l7.849-7.849 1.414 1.414-1.414 1.415 2.474 2.474-1.414 1.415-2.475-2.475-1.414 1.414 2.121 2.121-1.414 1.415-2.121-2.122-2.192 2.192a5.002 5.002 0 0 1-7.708 6.294 5 5 0 0 1 6.294-7.708zm-.637 6.293A3 3 0 1 0 5.88 13.88a3 3 0 0 0 4.242 4.242z\"}}]}]})(props);\n};\nexport function RiKeyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14h-4.341a6 6 0 1 1 0-4H23v4h-2v4h-4v-4zM7 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiKeyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12.917 13A6.002 6.002 0 0 1 1 12a6 6 0 0 1 11.917-1H23v2h-2v4h-2v-4h-2v4h-2v-4h-2.083zM7 16a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"}}]}]})(props);\n};\nexport function RiKnifeBloodFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.342 1.408L22.373 19.44a1.5 1.5 0 0 1-2.121 2.122l-4.596-4.597L12.12 20.5 8 16.38V19a1 1 0 0 1-2 0v-4a1 1 0 0 0-1.993-.117L4 15v1a1 1 0 0 1-2 0V7.214a7.976 7.976 0 0 1 2.168-5.627l.174-.179z\"}}]}]})(props);\n};\nexport function RiKnifeBloodLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M4.342 1.408L22.373 19.44a1.5 1.5 0 0 1-2.121 2.122l-4.596-4.597L12.12 20.5 8 16.38V19a1 1 0 0 1-2 0v-4a1 1 0 0 0-1.993-.117L4 15v1a1 1 0 0 1-2 0V7.214a7.976 7.976 0 0 1 2.168-5.627l.174-.179zm.241 3.07l-.051.11a5.993 5.993 0 0 0-.522 2.103L4 7l-.001.12a5.984 5.984 0 0 0 1.58 4.003l.177.185 6.363 6.363 2.829-2.828L4.583 4.478z\"}}]}]})(props);\n};\nexport function RiKnifeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.373 19.44a1.5 1.5 0 0 1-2.121 2.12l-4.596-4.596L12.12 20.5l-7.778-7.778a8 8 0 0 1-.174-11.135l.174-.179L22.373 19.44z\"}}]}]})(props);\n};\nexport function RiKnifeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M4.342 1.408L22.373 19.44a1.5 1.5 0 0 1-2.121 2.122l-4.596-4.597L12.12 20.5l-7.778-7.778a8 8 0 0 1-.174-11.135l.174-.179zm.241 3.07l-.051.11a6.005 6.005 0 0 0 1.047 6.535l.177.185 6.363 6.363 2.829-2.828L4.583 4.478z\"}}]}]})(props);\n};\nexport function RiLeafFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v2c0 9.627-5.373 14-12 14H7.098c.212-3.012 1.15-4.835 3.598-7.001 1.204-1.065 1.102-1.68.509-1.327-4.084 2.43-6.112 5.714-6.202 10.958L5 22H3c0-1.363.116-2.6.346-3.732C3.116 16.974 3 15.218 3 13 3 7.477 7.477 3 13 3c2 0 4 1 8 0z\"}}]}]})(props);\n};\nexport function RiLeafLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v2c0 9.627-5.373 14-12 14H5.243C5.08 19.912 5 20.907 5 22H3c0-1.363.116-2.6.346-3.732C3.116 16.974 3 15.218 3 13 3 7.477 7.477 3 13 3c2 0 4 1 8 0zm-8 2c-4.418 0-8 3.582-8 8 0 .362.003.711.01 1.046 1.254-1.978 3.091-3.541 5.494-4.914l.992 1.736C8.641 12.5 6.747 14.354 5.776 17H9c6.015 0 9.871-3.973 9.997-11.612-1.372.133-2.647.048-4.22-.188C13.627 5.027 13.401 5 13 5z\"}}]}]})(props);\n};\nexport function RiLightbulbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 18H7.941c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H13v-5h-2v5zm5 2v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8z\"}}]}]})(props);\n};\nexport function RiLightbulbFlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z\"}}]}]})(props);\n};\nexport function RiLightbulbFlashLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.973 18h4.054c.132-1.202.745-2.194 1.74-3.277.113-.122.832-.867.917-.973a6 6 0 1 0-9.37-.002c.086.107.807.853.918.974.996 1.084 1.609 2.076 1.741 3.278zM14 20h-4v1h4v-1zm-8.246-5a8 8 0 1 1 12.49.002C17.624 15.774 16 17 16 18.5V21a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2.5C8 17 6.375 15.774 5.754 15zM13 10.004h2.5l-4.5 6v-4H8.5L13 6v4.005z\"}}]}]})(props);\n};\nexport function RiLightbulbLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.973 18H11v-5h2v5h1.027c.132-1.202.745-2.194 1.74-3.277.113-.122.832-.867.917-.973a6 6 0 1 0-9.37-.002c.086.107.807.853.918.974.996 1.084 1.609 2.076 1.741 3.278zM10 20v1h4v-1h-4zm-4.246-5a8 8 0 1 1 12.49.002C17.624 15.774 16 17 16 18.5V21a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-2.5C8 17 6.375 15.774 5.754 15z\"}}]}]})(props);\n};\nexport function RiOutlet2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM11 7v4h2V7h-2zm3 5v4h2v-4h-2zm-6 0v4h2v-4H8z\"}}]}]})(props);\n};\nexport function RiOutlet2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM11 7h2v4h-2V7zm3 5h2v4h-2v-4zm-6 0h2v4H8v-4z\"}}]}]})(props);\n};\nexport function RiOutletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm2-12v4h2v-4h-2zm-6 0v4h2v-4H8z\"}}]}]})(props);\n};\nexport function RiOutletLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm2-10h2v4h-2v-4zm-6 0h2v4H8v-4z\"}}]}]})(props);\n};\nexport function RiPingPongFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11.5 2a9.5 9.5 0 0 1 9.5 9.5 9.46 9.46 0 0 1-1.003 4.254l2.463 2.464a1 1 0 0 1 0 1.414l-2.828 2.828a1 1 0 0 1-1.414 0l-2.464-2.463A9.46 9.46 0 0 1 11.5 21a9.5 9.5 0 0 1 0-19zm5.303 13.388l-1.414 1.414 3.536 3.535 1.414-1.414-3.536-3.535zm1.864-6.105l-9.384 9.384c.7.216 1.445.333 2.217.333a7.48 7.48 0 0 0 2.74-.516l-.972-.974a1 1 0 0 1 0-1.414l2.828-2.828a1 1 0 0 1 1.414 0l.974.972A7.48 7.48 0 0 0 19 11.5c0-.772-.117-1.516-.333-2.217z\"}}]}]})(props);\n};\nexport function RiPingPongLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M11.5 2a9.5 9.5 0 0 1 9.5 9.5 9.46 9.46 0 0 1-1.003 4.254l2.463 2.464a1 1 0 0 1 0 1.414l-2.828 2.828a1 1 0 0 1-1.414 0l-2.464-2.463A9.46 9.46 0 0 1 11.5 21a9.5 9.5 0 0 1 0-19zm5.303 13.388l-1.414 1.414 3.536 3.535 1.414-1.414-3.536-3.535zm1.864-6.105l-9.384 9.384c.7.216 1.445.333 2.217.333a7.48 7.48 0 0 0 2.74-.516l-.972-.974a1 1 0 0 1 0-1.414l2.828-2.828a1 1 0 0 1 1.414 0l.974.972A7.48 7.48 0 0 0 19 11.5c0-.772-.117-1.516-.333-2.217zM11.5 4a7.5 7.5 0 0 0-4.136 13.757L17.757 7.364A7.493 7.493 0 0 0 11.5 4z\"}}]}]})(props);\n};\nexport function RiPlantFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v2c0 3.866-3.134 7-7 7h-1v1h5v7c0 1.105-.895 2-2 2H8c-1.105 0-2-.895-2-2v-7h5v-3c0-3.866 3.134-7 7-7h3zM5.5 2c2.529 0 4.765 1.251 6.124 3.169C10.604 6.51 10 8.185 10 10v1h-.5C5.358 11 2 7.642 2 3.5V2h3.5z\"}}]}]})(props);\n};\nexport function RiPlantLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2c2.69 0 5.024 1.517 6.197 3.741C13.374 4.083 15.31 3 17.5 3H21v2.5c0 3.59-2.91 6.5-6.5 6.5H13v1h5v7c0 1.105-.895 2-2 2H8c-1.105 0-2-.895-2-2v-7h5v-2H9c-3.866 0-7-3.134-7-7V2h4zm10 13H8v5h8v-5zm3-10h-1.5C15.015 5 13 7.015 13 9.5v.5h1.5c2.485 0 4.5-2.015 4.5-4.5V5zM6 4H4c0 2.761 2.239 5 5 5h2c0-2.761-2.239-5-5-5z\"}}]}]})(props);\n};\nexport function RiPlug2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18v2h6v2h-6a2 2 0 0 1-2-2v-2H8a4 4 0 0 1-4-4v-4h16v4a4 4 0 0 1-4 4h-3zm4-12h2a1 1 0 0 1 1 1v2H4V7a1 1 0 0 1 1-1h2V2h2v4h6V2h2v4zm-5 8.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM11 2h2v3h-2V2z\"}}]}]})(props);\n};\nexport function RiPlug2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 18v2h6v2h-6a2 2 0 0 1-2-2v-2H8a4 4 0 0 1-4-4V7a1 1 0 0 1 1-1h2V2h2v4h6V2h2v4h2a1 1 0 0 1 1 1v7a4 4 0 0 1-4 4h-3zm-5-2h8a2 2 0 0 0 2-2v-3H6v3a2 2 0 0 0 2 2zm10-8H6v1h12V8zm-6 6.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM11 2h2v3h-2V2z\"}}]}]})(props);\n};\nexport function RiPlugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18v2h6v2h-6a2 2 0 0 1-2-2v-2H8a4 4 0 0 1-4-4v-4h16v4a4 4 0 0 1-4 4h-3zm3-12h3a1 1 0 0 1 1 1v2H4V7a1 1 0 0 1 1-1h3V2h2v4h4V2h2v4zm-4 8.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiPlugLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 18v2h6v2h-6a2 2 0 0 1-2-2v-2H8a4 4 0 0 1-4-4V7a1 1 0 0 1 1-1h3V2h2v4h4V2h2v4h3a1 1 0 0 1 1 1v7a4 4 0 0 1-4 4h-3zm-5-2h8a2 2 0 0 0 2-2v-3H6v3a2 2 0 0 0 2 2zm10-8H6v1h12V8zm-6 6.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiRecycleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.562 12.098l1.531 2.652c.967 1.674.393 3.815-1.28 4.781-.533.307-1.136.469-1.75.469H16v2l-5-3.5 5-3.5v2h2.062c.088 0 .174-.023.25-.067.213-.123.301-.378.221-.601l-.038-.082-1.531-2.652 2.598-1.5zM7.737 9.384l.53 6.08-1.73-1-1.032 1.786c-.044.076-.067.162-.067.25 0 .245.177.45.41.492l.09.008H9v3H5.938c-1.933 0-3.5-1.567-3.5-3.5 0-.614.162-1.218.469-1.75l1.031-1.786-1.732-1 5.53-2.58zm6.013-6.415c.532.307.974.749 1.281 1.281l1.03 1.786 1.733-1-.53 6.08-5.532-2.58 1.732-1-1.031-1.786c-.044-.076-.107-.14-.183-.183-.213-.123-.478-.072-.631.11l-.052.073-1.53 2.652-2.599-1.5 1.53-2.652c.967-1.674 3.108-2.248 4.782-1.281z\"}}]}]})(props);\n};\nexport function RiRecycleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.562 12.097l1.531 2.653c.967 1.674.393 3.815-1.28 4.781-.533.307-1.136.469-1.75.469H16v2.5L11 19l5-3.5V18h2.062c.263 0 .522-.07.75-.201.718-.414.963-1.332.55-2.049l-1.532-2.653 1.732-1zM7.304 9.134l.53 6.08-2.164-1.25-1.031 1.786c-.132.228-.201.487-.201.75 0 .828.671 1.5 1.5 1.5H9v2H5.938c-1.933 0-3.5-1.567-3.5-3.5 0-.614.162-1.218.469-1.75l1.03-1.787-2.164-1.249 5.53-2.58zm6.446-6.165c.532.307.974.749 1.281 1.281l1.03 1.785 2.166-1.25-.53 6.081-5.532-2.58 2.165-1.25-1.031-1.786c-.132-.228-.321-.417-.549-.549-.717-.414-1.635-.168-2.049.549L9.169 7.903l-1.732-1L8.97 4.25c.966-1.674 3.107-2.248 4.781-1.281z\"}}]}]})(props);\n};\nexport function RiReservedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 15v4h3v2H8v-2h3v-4H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-7zM8 8v2h8V8H8z\"}}]}]})(props);\n};\nexport function RiReservedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 15v4h3v2H8v-2h3v-4H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-7zm-8-2h14V5H5v8zm3-5h8v2H8V8z\"}}]}]})(props);\n};\nexport function RiScales2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2c0 .513.49 1 1 1h10c.513 0 1-.49 1-1h2c0 1.657-1.343 3-3 3h-4l.001 2.062C16.947 7.555 20 10.921 20 15v6c0 .552-.448 1-1 1H5c-.552 0-1-.448-1-1v-6c0-4.08 3.054-7.446 7-7.938V5H7C5.34 5 4 3.66 4 2h2zm6 9c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4c0-.742-.202-1.436-.554-2.032l-2.739 2.74-.094.082c-.392.305-.96.278-1.32-.083-.39-.39-.39-1.024 0-1.414l2.739-2.74C13.436 11.203 12.742 11 12 11z\"}}]}]})(props);\n};\nexport function RiScales2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2c0 .513.49 1 1 1h10c.513 0 1-.49 1-1h2c0 1.657-1.343 3-3 3h-4l.001 2.062C16.947 7.555 20 10.921 20 15v6c0 .552-.448 1-1 1H5c-.552 0-1-.448-1-1v-6c0-4.08 3.054-7.446 7-7.938V5H7C5.34 5 4 3.66 4 2h2zm6 7c-3.238 0-6 2.76-6 6v5h12v-5c0-3.238-2.762-6-6-6zm0 2c.742 0 1.436.202 2.032.554l-2.74 2.739c-.39.39-.39 1.024 0 1.414.361.36.929.388 1.32.083l.095-.083 2.74-2.739c.351.596.553 1.29.553 2.032 0 2.21-1.79 4-4 4s-4-1.79-4-4 1.79-4 4-4z\"}}]}]})(props);\n};\nexport function RiScales3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2v1.278l5 1.668 3.632-1.21.633 1.896-3.032 1.011 3.096 8.512C21.237 16.292 19.7 17 18 17c-1.701 0-3.237-.708-4.329-1.845l3.094-8.512L13 5.387V19H17v2H7v-2h4V5.387L7.232 6.643l3.096 8.512C9.237 16.292 7.7 17 6 17c-1.701 0-3.237-.708-4.329-1.845l3.094-8.512-3.03-1.01.633-1.898L6 4.945l5-1.667V2h2zm5 7.103L16.582 13h2.835L18 9.103zm-12 0L4.582 13h2.835L6 9.103z\"}}]}]})(props);\n};\nexport function RiScales3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2v1.278l5 1.668 3.632-1.21.633 1.896-3.032 1.011 3.096 8.512C21.237 16.292 19.7 17 18 17c-1.701 0-3.237-.708-4.329-1.845l3.094-8.512L13 5.387V19H17v2H7v-2h4V5.387L7.232 6.643l3.096 8.512C9.237 16.292 7.7 17 6 17c-1.701 0-3.237-.708-4.329-1.845l3.094-8.512-3.03-1.01.633-1.898L6 4.945l5-1.667V2h2zm5 7.103l-1.958 5.386c.587.331 1.257.511 1.958.511.7 0 1.37-.18 1.958-.51L18 9.102zm-12 0l-1.958 5.386C4.629 14.82 5.299 15 6 15c.7 0 1.37-.18 1.958-.51L6 9.102z\"}}]}]})(props);\n};\nexport function RiScalesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2v1h7v2h-7v14h4v2H7v-2h4V5H4V3h7V2h2zM5 6.343l2.828 2.829C8.552 9.895 9 10.895 9 12c0 2.21-1.79 4-4 4s-4-1.79-4-4c0-1.105.448-2.105 1.172-2.828L5 6.343zm14 0l2.828 2.829C22.552 9.895 23 10.895 23 12c0 2.21-1.79 4-4 4s-4-1.79-4-4c0-1.105.448-2.105 1.172-2.828L19 6.343zm0 2.829l-1.414 1.414C17.212 10.96 17 11.46 17 12l4 .001c0-.54-.212-1.041-.586-1.415L19 9.172zm-14 0l-1.414 1.414C3.212 10.96 3 11.46 3 12l4 .001c0-.54-.212-1.041-.586-1.415L5 9.172z\"}}]}]})(props);\n};\nexport function RiScalesLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2v1h7v2h-7v14h4v2H7v-2h4V5H4V3h7V2h2zM5 6.343l2.828 2.829C8.552 9.895 9 10.895 9 12c0 2.21-1.79 4-4 4s-4-1.79-4-4c0-1.105.448-2.105 1.172-2.828L5 6.343zm14 0l2.828 2.829C22.552 9.895 23 10.895 23 12c0 2.21-1.79 4-4 4s-4-1.79-4-4c0-1.105.448-2.105 1.172-2.828L19 6.343zM5 9.172l-1.414 1.414C3.212 10.96 3 11.46 3 12c0 1.105.895 2 2 2s2-.895 2-2c0-.54-.212-1.04-.586-1.414L5 9.172zm14 0l-1.414 1.414C17.212 10.96 17 11.46 17 12c0 1.105.895 2 2 2s2-.895 2-2c0-.54-.212-1.04-.586-1.414L19 9.172z\"}}]}]})(props);\n};\nexport function RiSeedlingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7v2.5c0 3.59-2.91 6.5-6.5 6.5H13v5h-2v-7l.019-1c.255-3.356 3.06-6 6.481-6H22zM6 3c3.092 0 5.716 2.005 6.643 4.786-1.5 1.275-2.49 3.128-2.627 5.214H9c-3.866 0-7-3.134-7-7V3h4z\"}}]}]})(props);\n};\nexport function RiSeedlingLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3c3.49 0 6.383 2.554 6.913 5.895C14.088 7.724 15.71 7 17.5 7H22v2.5c0 3.59-2.91 6.5-6.5 6.5H13v5h-2v-8H9c-3.866 0-7-3.134-7-7V3h4zm14 6h-2.5c-2.485 0-4.5 2.015-4.5 4.5v.5h2.5c2.485 0 4.5-2.015 4.5-4.5V9zM6 5H4v1c0 2.761 2.239 5 5 5h2v-1c0-2.761-2.239-5-5-5z\"}}]}]})(props);\n};\nexport function RiShirtFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4v7l5-2.5 5 2.5V4h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3zm5 4L7.5 3h9L12 8zm1 3.236l-1-.5-1 .5V20h2v-8.764zM15 14v2h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiShirtLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 20h6v-4h-4v-2h4V6h-2v5l-4-1.6V20zm-2 0V9.4L7 11V6H5v14h6zM7 4V3h10v1h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3zm5 4l3.5-3h-7L12 8z\"}}]}]})(props);\n};\nexport function RiSwordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M7.05 13.406l3.534 3.536-1.413 1.414 1.415 1.415-1.414 1.414-2.475-2.475-2.829 2.829-1.414-1.414 2.829-2.83-2.475-2.474 1.414-1.414 1.414 1.413 1.413-1.414zM3 3l3.546.003 11.817 11.818 1.415-1.414 1.414 1.414-2.474 2.475 2.828 2.829-1.414 1.414-2.829-2.829-2.475 2.475-1.414-1.414 1.414-1.415L3.003 6.531 3 3zm14.457 0L21 3.003l.002 3.523-4.053 4.052-3.536-3.535L17.457 3z\"}}]}]})(props);\n};\nexport function RiSwordLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.457 3L21 3.003l.002 3.523-5.467 5.466 2.828 2.829 1.415-1.414 1.414 1.414-2.474 2.475 2.828 2.829-1.414 1.414-2.829-2.829-2.475 2.475-1.414-1.414 1.414-1.415-2.829-2.828-2.828 2.828 1.415 1.415-1.414 1.414-2.475-2.475-2.829 2.829-1.414-1.414 2.829-2.83-2.475-2.474 1.414-1.414 1.414 1.413 2.827-2.828-5.46-5.46L3 3l3.546.003 5.453 5.454L17.457 3zm-7.58 10.406L7.05 16.234l.708.707 2.827-2.828-.707-.707zm9.124-8.405h-.717l-4.87 4.869.706.707 4.881-4.879v-.697zm-14 0v.7l11.241 11.241.707-.707L5.716 5.002l-.715-.001z\"}}]}]})(props);\n};\nexport function RiTShirt2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-2.001L19 20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1l-.001-8.001L3 12a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6a3 3 0 0 0 6 0h6z\"}}]}]})(props);\n};\nexport function RiTShirt2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M9 3a3 3 0 0 0 6 0h6a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-2.001L19 20a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1l-.001-8.001L3 12a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6zm11 1.999h-3.417l-.017.041a5.002 5.002 0 0 1-4.35 2.955L12 8a5.001 5.001 0 0 1-4.566-2.96L7.416 5H4v5l2.999-.001V19H17l-.001-9L20 9.999v-5z\"}}]}]})(props);\n};\nexport function RiTShirtAirFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.707 17.793C13.534 18.62 14.295 19 15 19c.378 0 .68-.067 1.237-.276l.392-.152C17.679 18.15 18.209 18 19 18c1.214 0 2.379.545 3.486 1.58l.221.213-1.414 1.414C20.466 20.38 19.705 20 19 20c-.378 0-.68.067-1.237.276l-.392.152c-1.05.421-1.58.572-2.371.572-1.214 0-2.379-.545-3.486-1.58l-.221-.213 1.414-1.414zM9 3a3 3 0 0 0 6 0h6a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-9a2 2 0 0 0-1.995 1.85L10 14v7H6a1 1 0 0 1-1-1l-.001-8.001L3 12a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6zm3.707 10.793C13.534 14.62 14.295 15 15 15c.378 0 .68-.067 1.237-.276l.392-.152C17.679 14.15 18.209 14 19 14c1.214 0 2.379.545 3.486 1.58l.221.213-1.414 1.414C20.466 16.38 19.705 16 19 16c-.378 0-.68.067-1.237.276l-.392.152c-1.05.421-1.58.572-2.371.572-1.214 0-2.379-.545-3.486-1.58l-.221-.213 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiTShirtAirLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12.707 17.793C13.534 18.62 14.295 19 15 19c.378 0 .68-.067 1.237-.276l.392-.152C17.679 18.15 18.209 18 19 18c1.214 0 2.379.545 3.486 1.58l.221.213-1.414 1.414C20.466 20.38 19.705 20 19 20c-.378 0-.68.067-1.237.276l-.392.152c-1.05.421-1.58.572-2.371.572-1.214 0-2.379-.545-3.486-1.58l-.221-.213 1.414-1.414zM9 3a3 3 0 0 0 6 0h6a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-4.002v-2L20 9.999v-5h-3.417l-.017.041a5.002 5.002 0 0 1-4.35 2.955L12 8a5.001 5.001 0 0 1-4.566-2.96L7.416 5H4v5l2.999-.001V19H10v2H6a1 1 0 0 1-1-1l-.001-8.001L3 12a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6zm3.707 10.793C13.534 14.62 14.295 15 15 15c.378 0 .68-.067 1.237-.276l.392-.152C17.679 14.15 18.209 14 19 14c1.214 0 2.379.545 3.486 1.58l.221.213-1.414 1.414C20.466 16.38 19.705 16 19 16c-.378 0-.68.067-1.237.276l-.392.152c-1.05.421-1.58.572-2.371.572-1.214 0-2.379-.545-3.486-1.58l-.221-.213 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiTShirtFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.515 5l2.606-2.607a1 1 0 0 1 1.415 0l4.242 4.243a1 1 0 0 1 0 1.414L19 11.828V21a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-9.172L1.222 8.05a1 1 0 0 1 0-1.414l4.242-4.243a1 1 0 0 1 1.415 0L9.485 5h5.03z\"}}]}]})(props);\n};\nexport function RiTShirtLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14.515 5l2.606-2.607a1 1 0 0 1 1.415 0l4.242 4.243a1 1 0 0 1 0 1.414L19 11.828V21a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-9.172L1.222 8.05a1 1 0 0 1 0-1.414l4.242-4.243a1 1 0 0 1 1.415 0L9.485 5h5.03zm.828 2H8.657L6.172 4.515 3.343 7.343 7 11v9h10v-9l3.657-3.657-2.829-2.828L15.343 7z\"}}]}]})(props);\n};\nexport function RiUmbrellaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.05c5.053.501 9 4.765 9 9.95v1h-9v6a2 2 0 1 0 4 0v-1h2v1a4 4 0 1 1-8 0v-6H2v-1c0-5.185 3.947-9.449 9-9.95V2a1 1 0 0 1 2 0v.05z\"}}]}]})(props);\n};\nexport function RiUmbrellaLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 2.05c5.053.501 9 4.765 9 9.95v1h-9v6a2 2 0 1 0 4 0v-1h2v1a4 4 0 1 1-8 0v-6H2v-1c0-5.185 3.947-9.449 9-9.95V2a1 1 0 0 1 2 0v.05zM19.938 11a8.001 8.001 0 0 0-15.876 0h15.876z\"}}]}]})(props);\n};\nexport function RiVoiceRecognitionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3v18H3V3h18zm-8 3h-2v12h2V6zM9 9H7v6h2V9zm8 0h-2v6h2V9z\"}}]}]})(props);\n};\nexport function RiVoiceRecognitionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15v4h4v2H3v-6h2zm16 0v6h-6v-2h4v-4h2zm-8-9v12h-2V6h2zM9 9v6H7V9h2zm8 0v6h-2V9h2zM9 3v2H5v4H3V3h6zm12 0v6h-2V5h-4V3h6z\"}}]}]})(props);\n};\nexport function RiWheelchairFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10.341v2.194C6.804 13.227 6 14.52 6 16c0 2.21 1.79 4 4 4 1.48 0 2.773-.804 3.465-2h2.193c-.823 2.33-3.046 4-5.658 4-3.314 0-6-2.686-6-6 0-2.613 1.67-4.835 4-5.659zM12 17c-1.657 0-3-1.343-3-3v-4c0-1.657 1.343-3 3-3s3 1.343 3 3v5h1.434c.648 0 1.253.314 1.626.836l.089.135 2.708 4.515-1.714 1.028L16.433 17H12zm0-15c1.38 0 2.5 1.12 2.5 2.5S13.38 7 12 7 9.5 5.88 9.5 4.5 10.62 2 12 2z\"}}]}]})(props);\n};\nexport function RiWheelchairLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10.341v2.194C6.804 13.227 6 14.52 6 16c0 2.21 1.79 4 4 4 1.48 0 2.773-.804 3.465-2h2.193c-.823 2.33-3.046 4-5.658 4-3.314 0-6-2.686-6-6 0-2.613 1.67-4.835 4-5.659zM12 17c-1.657 0-3-1.343-3-3v-4c0-1.044.534-1.964 1.343-2.501C9.533 6.964 9 6.044 9 5c0-1.657 1.343-3 3-3s3 1.343 3 3c0 1.044-.534 1.964-1.343 2.501C14.467 8.036 15 8.956 15 10v4.999l1.434.001c.648 0 1.253.314 1.626.836l.089.135 2.708 4.515-1.714 1.028L16.433 17 15 16.999 12 17zm0-8c-.552 0-1 .448-1 1v4c0 .552.448 1 1 1h.999L13 10c0-.552-.448-1-1-1zm0-5c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1z\"}}]}]})(props);\n};\nexport function RiAddBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm7 8H7v2h4v4h2v-4h4v-2h-4V7h-2v4z\"}}]}]})(props);\n};\nexport function RiAddBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm6 6V7h2v4h4v2h-4v4h-2v-4H7v-2h4z\"}}]}]})(props);\n};\nexport function RiAddCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11H7v2h4v4h2v-4h4v-2h-4V7h-2v4z\"}}]}]})(props);\n};\nexport function RiAddCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11V7h2v4h4v2h-4v4h-2v-4H7v-2h4zm1 11C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16z\"}}]}]})(props);\n};\nexport function RiAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z\"}}]}]})(props);\n};\nexport function RiAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z\"}}]}]})(props);\n};\nexport function RiAlarmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a9 9 0 1 1 0-18 9 9 0 0 1 0 18zm1-9V8h-2v7h5v-2h-3zM1.747 6.282l3.535-3.535 1.415 1.414L3.16 7.697 1.747 6.282zm16.97-3.535l3.536 3.535-1.414 1.415-3.536-3.536 1.415-1.414z\"}}]}]})(props);\n};\nexport function RiAlarmLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22a9 9 0 1 1 0-18 9 9 0 0 1 0 18zm0-2a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm1-7h3v2h-5V8h2v5zM1.747 6.282l3.535-3.535 1.415 1.414L3.16 7.697 1.747 6.282zm16.97-3.535l3.536 3.535-1.414 1.415-3.536-3.536 1.415-1.414z\"}}]}]})(props);\n};\nexport function RiAlarmWarningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20v-6a8 8 0 1 1 16 0v6h1v2H3v-2h1zm2-6h2a4 4 0 0 1 4-4V8a6 6 0 0 0-6 6zm5-12h2v3h-2V2zm8.778 2.808l1.414 1.414-2.12 2.121-1.415-1.414 2.121-2.121zM2.808 6.222l1.414-1.414 2.121 2.12L4.93 8.344 2.808 6.222z\"}}]}]})(props);\n};\nexport function RiAlarmWarningLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 20v-6a8 8 0 1 1 16 0v6h1v2H3v-2h1zm2 0h12v-6a6 6 0 1 0-12 0v6zm5-18h2v3h-2V2zm8.778 2.808l1.414 1.414-2.12 2.121-1.415-1.414 2.121-2.121zM2.808 6.222l1.414-1.414 2.121 2.12L4.93 8.344 2.808 6.222zM7 14a5 5 0 0 1 5-5v2a3 3 0 0 0-3 3H7z\"}}]}]})(props);\n};\nexport function RiAlertFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0zM11 16v2h2v-2h-2zm0-7v5h2V9h-2z\"}}]}]})(props);\n};\nexport function RiAlertLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0zm-8.66 16h15.588L12 5.5 4.206 19zM11 16h2v2h-2v-2zm0-7h2v5h-2V9z\"}}]}]})(props);\n};\nexport function RiApps2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm10-10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z\"}}]}]})(props);\n};\nexport function RiApps2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 11.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm.5 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm10-10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0 10a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zM6.5 9.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm.5 10a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm10-10a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 10a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]}]})(props);\n};\nexport function RiAppsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 2.5A4.25 4.25 0 0 1 11 6.75V11H6.75a4.25 4.25 0 1 1 0-8.5zm0 10.5H11v4.25A4.25 4.25 0 1 1 6.75 13zm10.5-10.5a4.25 4.25 0 1 1 0 8.5H13V6.75a4.25 4.25 0 0 1 4.25-4.25zM13 13h4.25A4.25 4.25 0 1 1 13 17.25V13z\"}}]}]})(props);\n};\nexport function RiAppsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 2.5A4.25 4.25 0 0 1 11 6.75V11H6.75a4.25 4.25 0 1 1 0-8.5zM9 9V6.75A2.25 2.25 0 1 0 6.75 9H9zm-2.25 4H11v4.25A4.25 4.25 0 1 1 6.75 13zm0 2A2.25 2.25 0 1 0 9 17.25V15H6.75zm10.5-12.5a4.25 4.25 0 1 1 0 8.5H13V6.75a4.25 4.25 0 0 1 4.25-4.25zm0 6.5A2.25 2.25 0 1 0 15 6.75V9h2.25zM13 13h4.25A4.25 4.25 0 1 1 13 17.25V13zm2 2v2.25A2.25 2.25 0 1 0 17.25 15H15z\"}}]}]})(props);\n};\nexport function RiArrowDownCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm1 10V8h-2v4H8l4 4 4-4h-3z\"}}]}]})(props);\n};\nexport function RiArrowDownCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 18c4.42 0 8-3.58 8-8s-3.58-8-8-8-8 3.58-8 8 3.58 8 8 8zm1-8h3l-4 4-4-4h3V8h2v4z\"}}]}]})(props);\n};\nexport function RiArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12h7l-8 8-8-8h7V4h2z\"}}]}]})(props);\n};\nexport function RiArrowDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16.172l5.364-5.364 1.414 1.414L12 20l-7.778-7.778 1.414-1.414L11 16.172V4h2v12.172z\"}}]}]})(props);\n};\nexport function RiArrowDownSFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16l-6-6h12z\"}}]}]})(props);\n};\nexport function RiArrowDownSLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13.172l4.95-4.95 1.414 1.414L12 16 5.636 9.636 7.05 8.222z\"}}]}]})(props);\n};\nexport function RiArrowDropDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14l-4-4h8z\"}}]}]})(props);\n};\nexport function RiArrowDropDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15l-4.243-4.243 1.415-1.414L12 12.172l2.828-2.829 1.415 1.414z\"}}]}]})(props);\n};\nexport function RiArrowDropLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12l4-4v8z\"}}]}]})(props);\n};\nexport function RiArrowDropLeftLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.828 12l2.829 2.828-1.414 1.415L9 12l4.243-4.243 1.414 1.415L11.828 12z\"}}]}]})(props);\n};\nexport function RiArrowDropRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12l-4 4V8z\"}}]}]})(props);\n};\nexport function RiArrowDropRightLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.172 12L9.343 9.172l1.414-1.415L15 12l-4.243 4.243-1.414-1.415z\"}}]}]})(props);\n};\nexport function RiArrowDropUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10l4 4H8z\"}}]}]})(props);\n};\nexport function RiArrowDropUpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11.828l-2.828 2.829-1.415-1.414L12 9l4.243 4.243-1.415 1.414L12 11.828z\"}}]}]})(props);\n};\nexport function RiArrowGoBackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7v4L2 6l6-5v4h5a8 8 0 1 1 0 16H4v-2h9a6 6 0 1 0 0-12H8z\"}}]}]})(props);\n};\nexport function RiArrowGoBackLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.828 7l2.536 2.536L6.95 10.95 2 6l4.95-4.95 1.414 1.414L5.828 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 1 0 0-12H5.828z\"}}]}]})(props);\n};\nexport function RiArrowGoForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7h-5a6 6 0 1 0 0 12h9v2h-9a8 8 0 1 1 0-16h5V1l6 5-6 5V7z\"}}]}]})(props);\n};\nexport function RiArrowGoForwardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.172 7H11a6 6 0 1 0 0 12h9v2h-9a8 8 0 1 1 0-16h7.172l-2.536-2.536L17.05 1.05 22 6l-4.95 4.95-1.414-1.414L18.172 7z\"}}]}]})(props);\n};\nexport function RiArrowLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 9V8l-4 4 4 4v-3h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiArrowLeftCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 18c4.42 0 8-3.58 8-8s-3.58-8-8-8-8 3.58-8 8 3.58 8 8 8zm0-9h4v2h-4v3l-4-4 4-4v3z\"}}]}]})(props);\n};\nexport function RiArrowLeftDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.36 13.05L17.31 18H5.998V6.688l4.95 4.95 5.656-5.657 1.415 1.414z\"}}]}]})(props);\n};\nexport function RiArrowLeftDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13.59l8.607-8.607 1.414 1.414-8.607 8.607H18v2H7v-11h2v7.585z\"}}]}]})(props);\n};\nexport function RiArrowLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13v7l-8-8 8-8v7h8v2z\"}}]}]})(props);\n};\nexport function RiArrowLeftLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.828 11H20v2H7.828l5.364 5.364-1.414 1.414L4 12l7.778-7.778 1.414 1.414z\"}}]}]})(props);\n};\nexport function RiArrowLeftRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16v-4l5 5-5 5v-4H4v-2h12zM8 2v3.999L20 6v2H8v4L3 7l5-5z\"}}]}]})(props);\n};\nexport function RiArrowLeftRightLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.05 12.05L21 17l-4.95 4.95-1.414-1.414 2.536-2.537L4 18v-2h13.172l-2.536-2.536 1.414-1.414zm-8.1-10l1.414 1.414L6.828 6 20 6v2H6.828l2.536 2.536L7.95 11.95 3 7l4.95-4.95z\"}}]}]})(props);\n};\nexport function RiArrowLeftSFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12l6-6v12z\"}}]}]})(props);\n};\nexport function RiArrowLeftSLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.828 12l4.95 4.95-1.414 1.414L8 12l6.364-6.364 1.414 1.414z\"}}]}]})(props);\n};\nexport function RiArrowLeftUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.36 10.947l5.658 5.656-1.415 1.415-5.656-5.657-4.95 4.95V5.997H17.31z\"}}]}]})(props);\n};\nexport function RiArrowLeftUpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.414 8l8.607 8.607-1.414 1.414L8 9.414V17H6V6h11v2z\"}}]}]})(props);\n};\nexport function RiArrowRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 9H8v2h4v3l4-4-4-4v3z\"}}]}]})(props);\n};\nexport function RiArrowRightCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11V8l4 4-4 4v-3H8v-2h4zm0-9c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 18c4.42 0 8-3.58 8-8s-3.58-8-8-8-8 3.58-8 8 3.58 8 8 8z\"}}]}]})(props);\n};\nexport function RiArrowRightDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.637 13.05L5.98 7.395 7.394 5.98l5.657 5.657L18 6.687V18H6.687z\"}}]}]})(props);\n};\nexport function RiArrowRightDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.59 16.004L5.982 7.397l1.414-1.414 8.607 8.606V7.004h2v11h-11v-2z\"}}]}]})(props);\n};\nexport function RiArrowRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13H4v-2h8V4l8 8-8 8z\"}}]}]})(props);\n};\nexport function RiArrowRightLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.172 11l-5.364-5.364 1.414-1.414L20 12l-7.778 7.778-1.414-1.414L16.172 13H4v-2z\"}}]}]})(props);\n};\nexport function RiArrowRightSFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12l-6 6V6z\"}}]}]})(props);\n};\nexport function RiArrowRightSLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.172 12l-4.95-4.95 1.414-1.414L16 12l-6.364 6.364-1.414-1.414z\"}}]}]})(props);\n};\nexport function RiArrowRightUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.05 12.36l-5.656 5.658-1.414-1.415 5.657-5.656-4.95-4.95H18V17.31z\"}}]}]})(props);\n};\nexport function RiArrowRightUpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.004 9.414l-8.607 8.607-1.414-1.414L14.589 8H7.004V6h11v11h-2V9.414z\"}}]}]})(props);\n};\nexport function RiArrowUpCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm1 10h3l-4-4-4 4h3v4h2v-4z\"}}]}]})(props);\n};\nexport function RiArrowUpCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 18c4.42 0 8-3.58 8-8s-3.58-8-8-8-8 3.58-8 8 3.58 8 8 8zm1-8v4h-2v-4H8l4-4 4 4h-3z\"}}]}]})(props);\n};\nexport function RiArrowUpDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8H8.001L8 20H6V8H2l5-5 5 5zm10 8l-5 5-5-5h4V4h2v12h4z\"}}]}]})(props);\n};\nexport function RiArrowUpDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.95 7.95l-1.414 1.414L8 6.828 8 20H6V6.828L3.465 9.364 2.05 7.95 7 3l4.95 4.95zm10 8.1L17 21l-4.95-4.95 1.414-1.414 2.537 2.536L16 4h2v13.172l2.536-2.536 1.414 1.414z\"}}]}]})(props);\n};\nexport function RiArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12v8h-2v-8H4l8-8 8 8z\"}}]}]})(props);\n};\nexport function RiArrowUpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7.828V20h-2V7.828l-5.364 5.364-1.414-1.414L12 4l7.778 7.778-1.414 1.414L13 7.828z\"}}]}]})(props);\n};\nexport function RiArrowUpSFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8l6 6H6z\"}}]}]})(props);\n};\nexport function RiArrowUpSLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10.828l-4.95 4.95-1.414-1.414L12 8l6.364 6.364-1.414 1.414z\"}}]}]})(props);\n};\nexport function RiCheckDoubleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.602 13.76l1.412 1.412 8.466-8.466 1.414 1.414-9.88 9.88-6.364-6.364 1.414-1.414 2.125 2.125 1.413 1.412zm.002-2.828l4.952-4.953 1.41 1.41-4.952 4.953-1.41-1.41zm-2.827 5.655L7.364 18 1 11.636l1.414-1.414 1.413 1.413-.001.001 4.951 4.951z\"}}]}]})(props);\n};\nexport function RiCheckDoubleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.602 13.76l1.412 1.412 8.466-8.466 1.414 1.414-9.88 9.88-6.364-6.364 1.414-1.414 2.125 2.125 1.413 1.412zm.002-2.828l4.952-4.953 1.41 1.41-4.952 4.953-1.41-1.41zm-2.827 5.655L7.364 18 1 11.636l1.414-1.414 1.413 1.413-.001.001 4.951 4.951z\"}}]}]})(props);\n};\nexport function RiCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 15.172l9.192-9.193 1.415 1.414L10 18l-6.364-6.364 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiCheckLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 15.172l9.192-9.193 1.415 1.414L10 18l-6.364-6.364 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiCheckboxBlankCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"circle\",\"attr\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}}]}]})(props);\n};\nexport function RiCheckboxBlankCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16z\"}}]}]})(props);\n};\nexport function RiCheckboxBlankFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z\"}}]}]})(props);\n};\nexport function RiCheckboxBlankLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5z\"}}]}]})(props);\n};\nexport function RiCheckboxCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-.997-6l7.07-7.071-1.414-1.414-5.656 5.657-2.829-2.829-1.414 1.414L11.003 16z\"}}]}]})(props);\n};\nexport function RiCheckboxCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-.997-4L6.76 11.757l1.414-1.414 2.829 2.829 5.656-5.657 1.415 1.414L11.003 16z\"}}]}]})(props);\n};\nexport function RiCheckboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm7.003 13l7.07-7.071-1.414-1.414-5.656 5.657-2.829-2.829-1.414 1.414L11.003 16z\"}}]}]})(props);\n};\nexport function RiCheckboxIndeterminateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm3 8v2h10v-2H7z\"}}]}]})(props);\n};\nexport function RiCheckboxIndeterminateLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm2 6h10v2H7v-2z\"}}]}]})(props);\n};\nexport function RiCheckboxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm1 2v14h14V5H5zm6.003 11L6.76 11.757l1.414-1.414 2.829 2.829 5.656-5.657 1.415 1.414L11.003 16z\"}}]}]})(props);\n};\nexport function RiCheckboxMultipleBlankFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7V3a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-4v3.993c0 .556-.449 1.007-1.007 1.007H3.007A1.006 1.006 0 0 1 2 20.993l.003-12.986C2.003 7.451 2.452 7 3.01 7H7zm2 0h6.993C16.549 7 17 7.449 17 8.007V15h3V4H9v3z\"}}]}]})(props);\n};\nexport function RiCheckboxMultipleBlankLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M7 7V3a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-4v3.993c0 .556-.449 1.007-1.007 1.007H3.007A1.006 1.006 0 0 1 2 20.993l.003-12.986C2.003 7.451 2.452 7 3.01 7H7zm2 0h6.993C16.549 7 17 7.449 17 8.007V15h3V4H9v3zM4.003 9L4 20h11V9H4.003z\"}}]}]})(props);\n};\nexport function RiCheckboxMultipleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7V3a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-4v3.993c0 .556-.449 1.007-1.007 1.007H3.007A1.006 1.006 0 0 1 2 20.993l.003-12.986C2.003 7.451 2.452 7 3.01 7H7zm2 0h6.993C16.549 7 17 7.449 17 8.007V15h3V4H9v3zm-.497 11l5.656-5.657-1.414-1.414-4.242 4.243L6.38 13.05l-1.414 1.414L8.503 18z\"}}]}]})(props);\n};\nexport function RiCheckboxMultipleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M7 7V3a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-4v3.993c0 .556-.449 1.007-1.007 1.007H3.007A1.006 1.006 0 0 1 2 20.993l.003-12.986C2.003 7.451 2.452 7 3.01 7H7zm2 0h6.993C16.549 7 17 7.449 17 8.007V15h3V4H9v3zm6 2H4.003L4 20h11V9zm-6.497 9l-3.536-3.536 1.414-1.414 2.122 2.122 4.242-4.243 1.414 1.414L8.503 18z\"}}]}]})(props);\n};\nexport function RiCloseCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z\"}}]}]})(props);\n};\nexport function RiCloseCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0-9.414l2.828-2.829 1.415 1.415L13.414 12l2.829 2.828-1.415 1.415L12 13.414l-2.828 2.829-1.415-1.415L10.586 12 7.757 9.172l1.415-1.415L12 10.586z\"}}]}]})(props);\n};\nexport function RiCloseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z\"}}]}]})(props);\n};\nexport function RiCloseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z\"}}]}]})(props);\n};\nexport function RiDashboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z\"}}]}]})(props);\n};\nexport function RiDashboardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 21V11h8v10h-8zM3 13V3h8v10H3zm6-2V5H5v6h4zM3 21v-6h8v6H3zm2-2h4v-2H5v2zm10 0h4v-6h-4v6zM13 3h8v6h-8V3zm2 2v2h4V5h-4z\"}}]}]})(props);\n};\nexport function RiDeleteBack2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.535 3H21a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6.535a1 1 0 0 1-.832-.445l-5.333-8a1 1 0 0 1 0-1.11l5.333-8A1 1 0 0 1 6.535 3zM13 10.586l-2.828-2.829-1.415 1.415L11.586 12l-2.829 2.828 1.415 1.415L13 13.414l2.828 2.829 1.415-1.415L14.414 12l2.829-2.828-1.415-1.415L13 10.586z\"}}]}]})(props);\n};\nexport function RiDeleteBack2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.535 3H21a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6.535a1 1 0 0 1-.832-.445l-5.333-8a1 1 0 0 1 0-1.11l5.333-8A1 1 0 0 1 6.535 3zm.535 2l-4.666 7 4.666 7H20V5H7.07zM13 10.586l2.828-2.829 1.415 1.415L14.414 12l2.829 2.828-1.415 1.415L13 13.414l-2.828 2.829-1.415-1.415L11.586 12 8.757 9.172l1.415-1.415L13 10.586z\"}}]}]})(props);\n};\nexport function RiDeleteBackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.535 3H21a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6.535a1 1 0 0 1-.832-.445l-5.333-8a1 1 0 0 1 0-1.11l5.333-8A1 1 0 0 1 6.535 3zM16 11H9v2h7v-2z\"}}]}]})(props);\n};\nexport function RiDeleteBackLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.535 3H21a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6.535a1 1 0 0 1-.832-.445l-5.333-8a1 1 0 0 1 0-1.11l5.333-8A1 1 0 0 1 6.535 3zm.535 2l-4.666 7 4.666 7H20V5H7.07zM16 11v2H9v-2h7z\"}}]}]})(props);\n};\nexport function RiDeleteBin2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5zm6.414 8l1.768-1.768-1.414-1.414L12 12.586l-1.768-1.768-1.414 1.414L10.586 14l-1.768 1.768 1.414 1.414L12 15.414l1.768 1.768 1.414-1.414L13.414 14zM9 4v2h6V4H9z\"}}]}]})(props);\n};\nexport function RiDeleteBin2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3zm1 2H6v12h12V8zm-4.586 6l1.768 1.768-1.414 1.414L12 15.414l-1.768 1.768-1.414-1.414L10.586 14l-1.768-1.768 1.414-1.414L12 12.586l1.768-1.768 1.414 1.414L13.414 14zM9 4v2h6V4H9z\"}}]}]})(props);\n};\nexport function RiDeleteBin3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7H2V5h20v2h-2zm-9 2v2h2V9h-2zm0 3v2h2v-2h-2zm0 3v2h2v-2h-2zM7 2h10v2H7V2z\"}}]}]})(props);\n};\nexport function RiDeleteBin3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7H2V5h20v2h-2zM6 7v13h12V7H6zm5 2h2v2h-2V9zm0 3h2v2h-2v-2zm0 3h2v2h-2v-2zM7 2h10v2H7V2z\"}}]}]})(props);\n};\nexport function RiDeleteBin4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7H2V5h20v2h-2zm-9 3v7h2v-7h-2zM7 2h10v2H7V2z\"}}]}]})(props);\n};\nexport function RiDeleteBin4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7H2V5h20v2h-2zM6 7v13h12V7H6zm1-5h10v2H7V2zm4 8h2v7h-2v-7z\"}}]}]})(props);\n};\nexport function RiDeleteBin5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8h16v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8zm3-3V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2h5v2H2V5h5zm2-1v1h6V4H9zm0 8v6h2v-6H9zm4 0v6h2v-6h-2z\"}}]}]})(props);\n};\nexport function RiDeleteBin5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8h16v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8zm2 2v10h12V10H6zm3 2h2v6H9v-6zm4 0h2v6h-2v-6zM7 5V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2h5v2H2V5h5zm2-1v1h6V4H9z\"}}]}]})(props);\n};\nexport function RiDeleteBin6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4h5v2h-2v15a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6H2V4h5V2h10v2zM9 9v8h2V9H9zm4 0v8h2V9h-2z\"}}]}]})(props);\n};\nexport function RiDeleteBin6Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4V2h10v2h5v2h-2v15a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6H2V4h5zM6 6v14h12V6H6zm3 3h2v8H9V9zm4 0h2v8h-2V9z\"}}]}]})(props);\n};\nexport function RiDeleteBin7Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5zm2-2v2h6V4H9z\"}}]}]})(props);\n};\nexport function RiDeleteBin7Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3zm1 2H6v12h12V8zM9 4v2h6V4H9z\"}}]}]})(props);\n};\nexport function RiDeleteBinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3zm-8 5v6h2v-6H9zm4 0v6h2v-6h-2zM9 4v2h6V4H9z\"}}]}]})(props);\n};\nexport function RiDeleteBinLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 6h5v2h-2v13a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8H2V6h5V3a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v3zm1 2H6v12h12V8zm-9 3h2v6H9v-6zm4 0h2v6h-2v-6zM9 4v2h6V4H9z\"}}]}]})(props);\n};\nexport function RiDivideFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h14v2H5v-2zm7-3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiDivideLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h14v2H5v-2zm7-3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiDownload2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v-7h2v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8h2v7zM14 9h5l-7 7-7-7h5V3h4v6z\"}}]}]})(props);\n};\nexport function RiDownload2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10h5l-6 6-6-6h5V3h2v7zm-9 9h16v-7h2v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8h2v7z\"}}]}]})(props);\n};\nexport function RiDownloadCloud2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13v5.585l1.828-1.828 1.415 1.415L12 22.414l-4.243-4.242 1.415-1.415L11 18.585V13h2zM12 2a7.001 7.001 0 0 1 6.954 6.194 5.5 5.5 0 0 1-.953 10.784L18 17a6 6 0 0 0-11.996-.225L6 17v1.978a5.5 5.5 0 0 1-.954-10.784A7 7 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiDownloadCloud2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13v5.585l1.828-1.828 1.415 1.415L12 22.414l-4.243-4.242 1.415-1.415L11 18.585V13h2zM12 2a7.001 7.001 0 0 1 6.954 6.194 5.5 5.5 0 0 1-.953 10.784v-2.014a3.5 3.5 0 1 0-1.112-6.91 5 5 0 1 0-9.777 0 3.5 3.5 0 0 0-1.292 6.88l.18.03v2.014a5.5 5.5 0 0 1-.954-10.784A7 7 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiDownloadCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20.981a6.5 6.5 0 0 1-2.936-12 8.001 8.001 0 0 1 15.872 0 6.5 6.5 0 0 1-2.936 12V21H7v-.019zM13 12V8h-2v4H8l4 5 4-5h-3z\"}}]}]})(props);\n};\nexport function RiDownloadCloudLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14.5a6.496 6.496 0 0 1 3.064-5.519 8.001 8.001 0 0 1 15.872 0 6.5 6.5 0 0 1-2.936 12L7 21c-3.356-.274-6-3.078-6-6.5zm15.848 4.487a4.5 4.5 0 0 0 2.03-8.309l-.807-.503-.12-.942a6.001 6.001 0 0 0-11.903 0l-.12.942-.805.503a4.5 4.5 0 0 0 2.029 8.309l.173.013h9.35l.173-.013zM13 12h3l-4 5-4-5h3V8h2v4z\"}}]}]})(props);\n};\nexport function RiDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19h18v2H3v-2zM13 9h7l-8 8-8-8h7V1h2v8z\"}}]}]})(props);\n};\nexport function RiDownloadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19h18v2H3v-2zm10-5.828L19.071 7.1l1.414 1.414L12 17 3.515 8.515 4.929 7.1 11 13.17V2h2v11.172z\"}}]}]})(props);\n};\nexport function RiErrorWarningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-7v2h2v-2h-2zm0-8v6h2V7h-2z\"}}]}]})(props);\n};\nexport function RiErrorWarningLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-1-5h2v2h-2v-2zm0-8h2v6h-2V7z\"}}]}]})(props);\n};\nexport function RiExternalLinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6zm11-3v9l-3.794-3.793-5.999 6-1.414-1.414 5.999-6L12 3h9z\"}}]}]})(props);\n};\nexport function RiExternalLinkLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6zm11-3v8h-2V6.413l-7.793 7.794-1.414-1.414L17.585 5H13V3h8z\"}}]}]})(props);\n};\nexport function RiEye2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 5c-.513 0-1.007.077-1.473.22a2.5 2.5 0 1 1-3.306 3.307A5 5 0 1 0 12 7z\"}}]}]})(props);\n};\nexport function RiEye2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0 3a5 5 0 1 1-4.78 3.527A2.499 2.499 0 0 0 12 9.5a2.5 2.5 0 0 0-1.473-2.28c.466-.143.96-.22 1.473-.22z\"}}]}]})(props);\n};\nexport function RiEyeCloseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.13 15.842l-.788 2.94-1.931-.518.787-2.939a10.988 10.988 0 0 1-3.237-1.872l-2.153 2.154-1.415-1.415 2.154-2.153a10.957 10.957 0 0 1-2.371-5.07l.9-.165A16.923 16.923 0 0 0 12 10c3.704 0 7.131-1.185 9.924-3.196l.9.164a10.957 10.957 0 0 1-2.37 5.071l2.153 2.153-1.415 1.415-2.153-2.154a10.988 10.988 0 0 1-3.237 1.872l.787 2.94-1.931.517-.788-2.94a11.072 11.072 0 0 1-3.74 0z\"}}]}]})(props);\n};\nexport function RiEyeCloseLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.342 18.782l-1.931-.518.787-2.939a10.988 10.988 0 0 1-3.237-1.872l-2.153 2.154-1.415-1.415 2.154-2.153a10.957 10.957 0 0 1-2.371-5.07l1.968-.359C3.903 10.812 7.579 14 12 14c4.42 0 8.097-3.188 8.856-7.39l1.968.358a10.957 10.957 0 0 1-2.37 5.071l2.153 2.153-1.415 1.415-2.153-2.154a10.988 10.988 0 0 1-3.237 1.872l.787 2.94-1.931.517-.788-2.94a11.072 11.072 0 0 1-3.74 0l-.788 2.94z\"}}]}]})(props);\n};\nexport function RiEyeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.181 12C2.121 6.88 6.608 3 12 3c5.392 0 9.878 3.88 10.819 9-.94 5.12-5.427 9-10.819 9-5.392 0-9.878-3.88-10.819-9zM12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiEyeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c5.392 0 9.878 3.88 10.819 9-.94 5.12-5.427 9-10.819 9-5.392 0-9.878-3.88-10.819-9C2.121 6.88 6.608 3 12 3zm0 16a9.005 9.005 0 0 0 8.777-7 9.005 9.005 0 0 0-17.554 0A9.005 9.005 0 0 0 12 19zm0-2.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm0-2a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]}]})(props);\n};\nexport function RiEyeOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.52 5.934L1.393 2.808l1.415-1.415 19.799 19.8-1.415 1.414-3.31-3.31A10.949 10.949 0 0 1 12 21c-5.392 0-9.878-3.88-10.819-9a10.982 10.982 0 0 1 3.34-6.066zm10.237 10.238l-1.464-1.464a3 3 0 0 1-4.001-4.001L7.828 9.243a5 5 0 0 0 6.929 6.929zM7.974 3.76C9.221 3.27 10.58 3 12 3c5.392 0 9.878 3.88 10.819 9a10.947 10.947 0 0 1-2.012 4.592l-3.86-3.86a5 5 0 0 0-5.68-5.68L7.974 3.761z\"}}]}]})(props);\n};\nexport function RiEyeOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.882 19.297A10.949 10.949 0 0 1 12 21c-5.392 0-9.878-3.88-10.819-9a10.982 10.982 0 0 1 3.34-6.066L1.392 2.808l1.415-1.415 19.799 19.8-1.415 1.414-3.31-3.31zM5.935 7.35A8.965 8.965 0 0 0 3.223 12a9.005 9.005 0 0 0 13.201 5.838l-2.028-2.028A4.5 4.5 0 0 1 8.19 9.604L5.935 7.35zm6.979 6.978l-3.242-3.242a2.5 2.5 0 0 0 3.241 3.241zm7.893 2.264l-1.431-1.43A8.935 8.935 0 0 0 20.777 12 9.005 9.005 0 0 0 9.552 5.338L7.974 3.76C9.221 3.27 10.58 3 12 3c5.392 0 9.878 3.88 10.819 9a10.947 10.947 0 0 1-2.012 4.592zm-9.084-9.084a4.5 4.5 0 0 1 4.769 4.769l-4.77-4.769z\"}}]}]})(props);\n};\nexport function RiFilter2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14L4 5V3h16v2l-6 9v6l-4 2z\"}}]}]})(props);\n};\nexport function RiFilter2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M14 14v6l-4 2v-8L4 5V3h16v2l-6 9zM6.404 5L12 13.394 17.596 5H6.404z\"}}]}]})(props);\n};\nexport function RiFilter3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"}}]}]})(props);\n};\nexport function RiFilter3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"}}]}]})(props);\n};\nexport function RiFilterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4L21 6 20 6 14 15 14 22 10 22 10 15 4 6 3 6 3 4z\"}}]}]})(props);\n};\nexport function RiFilterLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4v2h-1l-5 7.5V22H9v-8.5L4 6H3V4h18zM6.404 6L11 12.894V20h2v-7.106L17.596 6H6.404z\"}}]}]})(props);\n};\nexport function RiFilterOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.929.515L21.07 14.657l-1.414 1.414-3.823-3.822L14 15v7h-4v-7L4 6H3V4h4.585l-2.07-2.071L6.929.515zM21 4v2h-1l-1.915 2.872L13.213 4H21z\"}}]}]})(props);\n};\nexport function RiFilterOffLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.929.515L21.07 14.657l-1.414 1.414-3.823-3.822L15 13.5V22H9v-8.5L4 6H3V4h4.585l-2.07-2.071L6.929.515zM9.585 6H6.404L11 12.894V20h2v-7.106l1.392-2.087L9.585 6zM21 4v2h-1l-1.915 2.872-1.442-1.443L17.596 6h-2.383l-2-2H21z\"}}]}]})(props);\n};\nexport function RiFindReplaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zM16.659 9A6 6 0 0 0 11 5c-3.315 0-6 2.685-6 6h2a4.001 4.001 0 0 1 5.91-3.515L12 9h4.659zM17 11h-2a4.001 4.001 0 0 1-5.91 3.515L10 13H5.341A6 6 0 0 0 11 17c3.315 0 6-2.685 6-6z\"}}]}]})(props);\n};\nexport function RiFindReplaceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.033 16.618l4.28 4.281-1.414 1.415-4.28-4.281A8.963 8.963 0 0 1 11 20a8.998 8.998 0 0 1-8.065-5H9l-1.304 2.173A6.972 6.972 0 0 0 11 18a6.977 6.977 0 0 0 4.875-1.975l.15-.15A6.977 6.977 0 0 0 18 11c0-.695-.101-1.366-.29-2h2.067c.146.643.223 1.313.223 2a8.963 8.963 0 0 1-1.967 5.618zM19.065 7H13l1.304-2.173A6.972 6.972 0 0 0 11 4c-3.868 0-7 3.132-7 7 0 .695.101 1.366.29 2H2.223A9.038 9.038 0 0 1 2 11c0-4.973 4.027-9 9-9a8.998 8.998 0 0 1 8.065 5z\"}}]}]})(props);\n};\nexport function RiForbid2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm4.891-13.477a6.04 6.04 0 0 0-1.414-1.414l-8.368 8.368a6.04 6.04 0 0 0 1.414 1.414l8.368-8.368z\"}}]}]})(props);\n};\nexport function RiForbid2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm4.891-11.477l-8.368 8.368a6.04 6.04 0 0 1-1.414-1.414l8.368-8.368a6.04 6.04 0 0 1 1.414 1.414z\"}}]}]})(props);\n};\nexport function RiForbidFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM8.523 7.109A6.04 6.04 0 0 0 7.11 8.523l8.368 8.368a6.04 6.04 0 0 0 1.414-1.414L8.523 7.109z\"}}]}]})(props);\n};\nexport function RiForbidLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM8.523 7.109l8.368 8.368a6.04 6.04 0 0 1-1.414 1.414L7.109 8.523A6.04 6.04 0 0 1 8.523 7.11z\"}}]}]})(props);\n};\nexport function RiFunctionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h8v8H3V3zm0 10h8v8H3v-8zM13 3h8v8h-8V3zm0 10h8v8h-8v-8z\"}}]}]})(props);\n};\nexport function RiFunctionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h8v8H3V3zm0 10h8v8H3v-8zM13 3h8v8h-8V3zm0 10h8v8h-8v-8zm2-8v4h4V5h-4zm0 10v4h4v-4h-4zM5 5v4h4V5H5zm0 10v4h4v-4H5z\"}}]}]})(props);\n};\nexport function RiHistoryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12h2c0 4.418 3.582 8 8 8s8-3.582 8-8-3.582-8-8-8C9.536 4 7.332 5.114 5.865 6.865L8 9H2V3l2.447 2.446C6.28 3.336 8.984 2 12 2zm1 5v4.585l3.243 3.243-1.415 1.415L11 12.413V7h2z\"}}]}]})(props);\n};\nexport function RiHistoryLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12h2c0 4.418 3.582 8 8 8s8-3.582 8-8-3.582-8-8-8C9.25 4 6.824 5.387 5.385 7.5H8v2H2v-6h2V6c1.824-2.43 4.729-4 8-4zm1 5v4.585l3.243 3.243-1.415 1.415L11 12.413V7h2z\"}}]}]})(props);\n};\nexport function RiIndeterminateCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM7 11v2h10v-2H7z\"}}]}]})(props);\n};\nexport function RiIndeterminateCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-5-9h10v2H7v-2z\"}}]}]})(props);\n};\nexport function RiInformationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z\"}}]}]})(props);\n};\nexport function RiInformationLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zM11 7h2v2h-2V7zm0 4h2v6h-2v-6z\"}}]}]})(props);\n};\nexport function RiListSettingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h7v2H2v-2zm0-7h9v2H2v-2zm0-7h20v2H2V4zm18.674 9.025l1.156-.391 1 1.732-.916.805a4.017 4.017 0 0 1 0 1.658l.916.805-1 1.732-1.156-.391c-.41.37-.898.655-1.435.83L19 21h-2l-.24-1.196a3.996 3.996 0 0 1-1.434-.83l-1.156.392-1-1.732.916-.805a4.017 4.017 0 0 1 0-1.658l-.916-.805 1-1.732 1.156.391c.41-.37.898-.655 1.435-.83L17 11h2l.24 1.196c.536.174 1.024.46 1.434.83zM18 17a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiListSettingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18h7v2H2v-2zm0-7h9v2H2v-2zm0-7h20v2H2V4zm18.674 9.025l1.156-.391 1 1.732-.916.805a4.017 4.017 0 0 1 0 1.658l.916.805-1 1.732-1.156-.391c-.41.37-.898.655-1.435.83L19 21h-2l-.24-1.196a3.996 3.996 0 0 1-1.434-.83l-1.156.392-1-1.732.916-.805a4.017 4.017 0 0 1 0-1.658l-.916-.805 1-1.732 1.156.391c.41-.37.898-.655 1.435-.83L17 11h2l.24 1.196c.536.174 1.024.46 1.434.83zM18 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiLoader2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V3a1 1 0 0 1 1-1zm0 15a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0v-3a1 1 0 0 1 1-1zm10-5a1 1 0 0 1-1 1h-3a1 1 0 0 1 0-2h3a1 1 0 0 1 1 1zM7 12a1 1 0 0 1-1 1H3a1 1 0 0 1 0-2h3a1 1 0 0 1 1 1zm12.071 7.071a1 1 0 0 1-1.414 0l-2.121-2.121a1 1 0 0 1 1.414-1.414l2.121 2.12a1 1 0 0 1 0 1.415zM8.464 8.464a1 1 0 0 1-1.414 0L4.93 6.344a1 1 0 0 1 1.414-1.415L8.464 7.05a1 1 0 0 1 0 1.414zM4.93 19.071a1 1 0 0 1 0-1.414l2.121-2.121a1 1 0 1 1 1.414 1.414l-2.12 2.121a1 1 0 0 1-1.415 0zM15.536 8.464a1 1 0 0 1 0-1.414l2.12-2.121a1 1 0 0 1 1.415 1.414L16.95 8.464a1 1 0 0 1-1.414 0z\"}}]}]})(props);\n};\nexport function RiLoader2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V3a1 1 0 0 1 1-1zm0 15a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0v-3a1 1 0 0 1 1-1zm10-5a1 1 0 0 1-1 1h-3a1 1 0 0 1 0-2h3a1 1 0 0 1 1 1zM7 12a1 1 0 0 1-1 1H3a1 1 0 0 1 0-2h3a1 1 0 0 1 1 1zm12.071 7.071a1 1 0 0 1-1.414 0l-2.121-2.121a1 1 0 0 1 1.414-1.414l2.121 2.12a1 1 0 0 1 0 1.415zM8.464 8.464a1 1 0 0 1-1.414 0L4.93 6.344a1 1 0 0 1 1.414-1.415L8.464 7.05a1 1 0 0 1 0 1.414zM4.93 19.071a1 1 0 0 1 0-1.414l2.121-2.121a1 1 0 1 1 1.414 1.414l-2.12 2.121a1 1 0 0 1-1.415 0zM15.536 8.464a1 1 0 0 1 0-1.414l2.12-2.121a1 1 0 0 1 1.415 1.414L16.95 8.464a1 1 0 0 1-1.414 0z\"}}]}]})(props);\n};\nexport function RiLoader3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.055 13H5.07a7.002 7.002 0 0 0 13.858 0h2.016a9.001 9.001 0 0 1-17.89 0zm0-2a9.001 9.001 0 0 1 17.89 0H18.93a7.002 7.002 0 0 0-13.858 0H3.055z\"}}]}]})(props);\n};\nexport function RiLoader3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.055 13H5.07a7.002 7.002 0 0 0 13.858 0h2.016a9.001 9.001 0 0 1-17.89 0zm0-2a9.001 9.001 0 0 1 17.89 0H18.93a7.002 7.002 0 0 0-13.858 0H3.055z\"}}]}]})(props);\n};\nexport function RiLoader4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 5.636L16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364z\"}}]}]})(props);\n};\nexport function RiLoader4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.364 5.636L16.95 7.05A7 7 0 1 0 19 12h2a9 9 0 1 1-2.636-6.364z\"}}]}]})(props);\n};\nexport function RiLoader5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3a9 9 0 0 1 9 9h-2a7 7 0 0 0-7-7V3z\"}}]}]})(props);\n};\nexport function RiLoader5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3a9 9 0 0 1 9 9h-2a7 7 0 0 0-7-7V3z\"}}]}]})(props);\n};\nexport function RiLoaderFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V3a1 1 0 0 1 1-1zm0 15a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0v-3a1 1 0 0 1 1-1zm8.66-10a1 1 0 0 1-.366 1.366l-2.598 1.5a1 1 0 1 1-1-1.732l2.598-1.5A1 1 0 0 1 20.66 7zM7.67 14.5a1 1 0 0 1-.366 1.366l-2.598 1.5a1 1 0 1 1-1-1.732l2.598-1.5a1 1 0 0 1 1.366.366zM20.66 17a1 1 0 0 1-1.366.366l-2.598-1.5a1 1 0 0 1 1-1.732l2.598 1.5A1 1 0 0 1 20.66 17zM7.67 9.5a1 1 0 0 1-1.366.366l-2.598-1.5a1 1 0 1 1 1-1.732l2.598 1.5A1 1 0 0 1 7.67 9.5z\"}}]}]})(props);\n};\nexport function RiLoaderLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V3a1 1 0 0 1 1-1zm0 15a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0v-3a1 1 0 0 1 1-1zm8.66-10a1 1 0 0 1-.366 1.366l-2.598 1.5a1 1 0 1 1-1-1.732l2.598-1.5A1 1 0 0 1 20.66 7zM7.67 14.5a1 1 0 0 1-.366 1.366l-2.598 1.5a1 1 0 1 1-1-1.732l2.598-1.5a1 1 0 0 1 1.366.366zM20.66 17a1 1 0 0 1-1.366.366l-2.598-1.5a1 1 0 0 1 1-1.732l2.598 1.5A1 1 0 0 1 20.66 17zM7.67 9.5a1 1 0 0 1-1.366.366l-2.598-1.5a1 1 0 1 1 1-1.732l2.598 1.5A1 1 0 0 1 7.67 9.5z\"}}]}]})(props);\n};\nexport function RiLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2V7a6 6 0 1 1 12 0v1zm-7 7.732V18h2v-2.268a2 2 0 1 0-2 0zM16 8V7a4 4 0 1 0-8 0v1h8z\"}}]}]})(props);\n};\nexport function RiLock2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8V7a6 6 0 1 1 12 0v1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2zm13 2H5v10h14V10zm-8 5.732a2 2 0 1 1 2 0V18h-2v-2.268zM8 8h8V7a4 4 0 1 0-8 0v1z\"}}]}]})(props);\n};\nexport function RiLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 1 1 14 0v1zm-2 0V9A5 5 0 0 0 7 9v1h10zm-6 4v4h2v-4h-2z\"}}]}]})(props);\n};\nexport function RiLockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 1 1 14 0v1zM5 12v8h14v-8H5zm6 2h2v4h-2v-4zm6-4V9A5 5 0 0 0 7 9v1h10z\"}}]}]})(props);\n};\nexport function RiLockPasswordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2V7a6 6 0 1 1 12 0v1zm-2 0V7a4 4 0 1 0-8 0v1h8zm-5 6v2h2v-2h-2zm-4 0v2h2v-2H7zm8 0v2h2v-2h-2z\"}}]}]})(props);\n};\nexport function RiLockPasswordLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h2V7a6 6 0 1 1 12 0v1zM5 10v10h14V10H5zm6 4h2v2h-2v-2zm-4 0h2v2H7v-2zm8 0h2v2h-2v-2zm1-6V7a4 4 0 1 0-8 0v1h8z\"}}]}]})(props);\n};\nexport function RiLockUnlockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h13a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 13.262-3.131l-1.789.894A5 5 0 0 0 7 9v1zm3 5v2h4v-2h-4z\"}}]}]})(props);\n};\nexport function RiLockUnlockLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10h13a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V11a1 1 0 0 1 1-1h1V9a7 7 0 0 1 13.262-3.131l-1.789.894A5 5 0 0 0 7 9v1zm-2 2v8h14v-8H5zm5 3h4v2h-4v-2z\"}}]}]})(props);\n};\nexport function RiLoginBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 11H4V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8h6v3l5-4-5-4v3z\"}}]}]})(props);\n};\nexport function RiLoginBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15h2v5h12V4H6v5H4V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-6zm6-4V8l5 4-5 4v-3H2v-2h8z\"}}]}]})(props);\n};\nexport function RiLoginCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 11H2.05C2.55 5.947 6.814 2 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-5.185 0-9.449-3.947-9.95-9H10v3l5-4-5-4v3z\"}}]}]})(props);\n};\nexport function RiLoginCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 11V8l5 4-5 4v-3H1v-2h9zm-7.542 4h2.124A8.003 8.003 0 0 0 20 12 8 8 0 0 0 4.582 9H2.458C3.732 4.943 7.522 2 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10c-4.478 0-8.268-2.943-9.542-7z\"}}]}]})(props);\n};\nexport function RiLogoutBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm4 9V8l-5 4 5 4v-3h6v-2H9z\"}}]}]})(props);\n};\nexport function RiLogoutBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18h2v2h12V4H6v2H4V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3zm2-7h7v2H6v3l-5-4 5-4v3z\"}}]}]})(props);\n};\nexport function RiLogoutBoxRFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5zm10-6l5-4-5-4v3H9v2h6v3z\"}}]}]})(props);\n};\nexport function RiLogoutBoxRLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 22a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v3h-2V4H6v16h12v-2h2v3a1 1 0 0 1-1 1H5zm13-6v-3h-7v-2h7V8l5 4-5 4z\"}}]}]})(props);\n};\nexport function RiLogoutCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM7 11V8l-5 4 5 4v-3h8v-2H7z\"}}]}]})(props);\n};\nexport function RiLogoutCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h8v2H5v3l-5-4 5-4v3zm-1 7h2.708a8 8 0 1 0 0-12H4A9.985 9.985 0 0 1 12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10a9.985 9.985 0 0 1-8-4z\"}}]}]})(props);\n};\nexport function RiLogoutCircleRFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm5-6l5-4-5-4v3H9v2h8v3z\"}}]}]})(props);\n};\nexport function RiLogoutCircleRLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2a9.985 9.985 0 0 1 8 4h-2.71a8 8 0 1 0 .001 12h2.71A9.985 9.985 0 0 1 12 22zm7-6v-3h-8v-2h8V8l5 4-5 4z\"}}]}]})(props);\n};\nexport function RiMenu2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 7h12v2H3v-2zm0 7h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiMenu2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 7h12v2H3v-2zm0 7h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiMenu3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm6 7h12v2H9v-2zm-6 7h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiMenu3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm6 7h12v2H9v-2zm-6 7h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiMenu4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18v2H5v-2h11zm5-7v2H3v-2h18zm-2-7v2H8V4h11z\"}}]}]})(props);\n};\nexport function RiMenu4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18v2H5v-2h11zm5-7v2H3v-2h18zm-2-7v2H8V4h11z\"}}]}]})(props);\n};\nexport function RiMenu5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 18v2H6v-2h12zm3-7v2H3v-2h18zm-3-7v2H6V4h12z\"}}]}]})(props);\n};\nexport function RiMenu5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 18v2H6v-2h12zm3-7v2H3v-2h18zm-3-7v2H6V4h12z\"}}]}]})(props);\n};\nexport function RiMenuAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 15l-.001 3H21v2h-3.001L18 23h-2l-.001-3H13v-2h2.999L16 15h2zm-7 3v2H3v-2h8zm10-7v2H3v-2h18zm0-7v2H3V4h18z\"}}]}]})(props);\n};\nexport function RiMenuAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 15l-.001 3H21v2h-3.001L18 23h-2l-.001-3H13v-2h2.999L16 15h2zm-7 3v2H3v-2h8zm10-7v2H3v-2h18zm0-7v2H3V4h18z\"}}]}]})(props);\n};\nexport function RiMenuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiMenuFoldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18v2H3v-2h18zM6.95 3.55v9.9L2 8.5l4.95-4.95zM21 11v2h-9v-2h9zm0-7v2h-9V4h9z\"}}]}]})(props);\n};\nexport function RiMenuFoldLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18v2H3v-2h18zM6.596 3.904L8.01 5.318 4.828 8.5l3.182 3.182-1.414 1.414L2 8.5l4.596-4.596zM21 11v2h-9v-2h9zm0-7v2h-9V4h9z\"}}]}]})(props);\n};\nexport function RiMenuLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z\"}}]}]})(props);\n};\nexport function RiMenuUnfoldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18v2H3v-2h18zM17.05 3.55L22 8.5l-4.95 4.95v-9.9zM12 11v2H3v-2h9zm0-7v2H3V4h9z\"}}]}]})(props);\n};\nexport function RiMenuUnfoldLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 18v2H3v-2h18zM17.404 3.904L22 8.5l-4.596 4.596-1.414-1.414L19.172 8.5 15.99 5.318l1.414-1.414zM12 11v2H3v-2h9zm0-7v2H3V4h9z\"}}]}]})(props);\n};\nexport function RiMore2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 14c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"}}]}]})(props);\n};\nexport function RiMore2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3c-.825 0-1.5.675-1.5 1.5S11.175 6 12 6s1.5-.675 1.5-1.5S12.825 3 12 3zm0 15c-.825 0-1.5.675-1.5 1.5S11.175 21 12 21s1.5-.675 1.5-1.5S12.825 18 12 18zm0-7.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5z\"}}]}]})(props);\n};\nexport function RiMoreFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm14 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"}}]}]})(props);\n};\nexport function RiMoreLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 10.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S6 12.825 6 12s-.675-1.5-1.5-1.5zm15 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S21 12.825 21 12s-.675-1.5-1.5-1.5zm-7.5 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5z\"}}]}]})(props);\n};\nexport function RiNotificationBadgeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.341 4A6 6 0 0 0 21 11.659V21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h9.341zM19 10a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]}]})(props);\n};\nexport function RiNotificationBadgeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.341 4A5.99 5.99 0 0 0 13 6H5v14h14v-8a5.99 5.99 0 0 0 2-.341V21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h9.341zM19 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]}]})(props);\n};\nexport function RiQuestionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-7v2h2v-2h-2zm2-1.645A3.502 3.502 0 0 0 12 6.5a3.501 3.501 0 0 0-3.433 2.813l1.962.393A1.5 1.5 0 1 1 12 11.5a1 1 0 0 0-1 1V14h2v-.645z\"}}]}]})(props);\n};\nexport function RiQuestionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-1-5h2v2h-2v-2zm2-1.645V14h-2v-1.5a1 1 0 0 1 1-1 1.5 1.5 0 1 0-1.471-1.794l-1.962-.393A3.501 3.501 0 1 1 13 13.355z\"}}]}]})(props);\n};\nexport function RiRadioButtonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-6a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"}}]}]})(props);\n};\nexport function RiRadioButtonLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0-3a5 5 0 1 1 0-10 5 5 0 0 1 0 10z\"}}]}]})(props);\n};\nexport function RiRefreshFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm4.82-4.924A7 7 0 0 0 9.032 5.658l.975 1.755A5 5 0 0 1 17 12h-3l2.82 5.076zm-1.852 1.266l-.975-1.755A5 5 0 0 1 7 12h3L7.18 6.924a7 7 0 0 0 7.788 11.418z\"}}]}]})(props);\n};\nexport function RiRefreshLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.463 4.433A9.961 9.961 0 0 1 12 2c5.523 0 10 4.477 10 10 0 2.136-.67 4.116-1.81 5.74L17 12h3A8 8 0 0 0 6.46 6.228l-.997-1.795zm13.074 15.134A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12c0-2.136.67-4.116 1.81-5.74L7 12H4a8 8 0 0 0 13.54 5.772l.997 1.795z\"}}]}]})(props);\n};\nexport function RiSearch2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2c4.968 0 9 4.032 9 9s-4.032 9-9 9-9-4.032-9-9 4.032-9 9-9zm8.485 16.071l2.829 2.828-1.415 1.415-2.828-2.829 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiSearch2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2c4.968 0 9 4.032 9 9s-4.032 9-9 9-9-4.032-9-9 4.032-9 9-9zm0 16c3.867 0 7-3.133 7-7 0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7zm8.485.071l2.829 2.828-1.415 1.415-2.828-2.829 1.414-1.414z\"}}]}]})(props);\n};\nexport function RiSearchEyeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zm-5.853-9.44a4 4 0 1 0 2.646 2.646 2 2 0 1 1-2.646-2.647z\"}}]}]})(props);\n};\nexport function RiSearchEyeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zm-2.006-.742A6.977 6.977 0 0 0 18 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 0 0 4.875-1.975l.15-.15zm-3.847-8.699a2 2 0 1 0 2.646 2.646 4 4 0 1 1-2.646-2.646z\"}}]}]})(props);\n};\nexport function RiSearchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617z\"}}]}]})(props);\n};\nexport function RiSearchLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zm-2.006-.742A6.977 6.977 0 0 0 18 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 0 0 4.875-1.975l.15-.15z\"}}]}]})(props);\n};\nexport function RiSettings2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.686 4l2.607-2.607a1 1 0 0 1 1.414 0L15.314 4H19a1 1 0 0 1 1 1v3.686l2.607 2.607a1 1 0 0 1 0 1.414L20 15.314V19a1 1 0 0 1-1 1h-3.686l-2.607 2.607a1 1 0 0 1-1.414 0L8.686 20H5a1 1 0 0 1-1-1v-3.686l-2.607-2.607a1 1 0 0 1 0-1.414L4 8.686V5a1 1 0 0 1 1-1h3.686zM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiSettings2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.686 4l2.607-2.607a1 1 0 0 1 1.414 0L15.314 4H19a1 1 0 0 1 1 1v3.686l2.607 2.607a1 1 0 0 1 0 1.414L20 15.314V19a1 1 0 0 1-1 1h-3.686l-2.607 2.607a1 1 0 0 1-1.414 0L8.686 20H5a1 1 0 0 1-1-1v-3.686l-2.607-2.607a1 1 0 0 1 0-1.414L4 8.686V5a1 1 0 0 1 1-1h3.686zM6 6v3.515L3.515 12 6 14.485V18h3.515L12 20.485 14.485 18H18v-3.515L20.485 12 18 9.515V6h-3.515L12 3.515 9.515 6H6zm6 10a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiSettings3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.954 2.21a9.99 9.99 0 0 1 4.091-.002A3.993 3.993 0 0 0 16 5.07a3.993 3.993 0 0 0 3.457.261A9.99 9.99 0 0 1 21.5 8.876 3.993 3.993 0 0 0 20 12c0 1.264.586 2.391 1.502 3.124a10.043 10.043 0 0 1-2.046 3.543 3.993 3.993 0 0 0-3.456.261 3.993 3.993 0 0 0-1.954 2.86 9.99 9.99 0 0 1-4.091.004A3.993 3.993 0 0 0 8 18.927a3.993 3.993 0 0 0-3.457-.26A9.99 9.99 0 0 1 2.5 15.121 3.993 3.993 0 0 0 4 11.999a3.993 3.993 0 0 0-1.502-3.124 10.043 10.043 0 0 1 2.046-3.543A3.993 3.993 0 0 0 8 5.071a3.993 3.993 0 0 0 1.954-2.86zM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiSettings3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.34 17a10.018 10.018 0 0 1-.978-2.326 3 3 0 0 0 .002-5.347A9.99 9.99 0 0 1 4.865 4.99a3 3 0 0 0 4.631-2.674 9.99 9.99 0 0 1 5.007.002 3 3 0 0 0 4.632 2.672c.579.59 1.093 1.261 1.525 2.01.433.749.757 1.53.978 2.326a3 3 0 0 0-.002 5.347 9.99 9.99 0 0 1-2.501 4.337 3 3 0 0 0-4.631 2.674 9.99 9.99 0 0 1-5.007-.002 3 3 0 0 0-4.632-2.672A10.018 10.018 0 0 1 3.34 17zm5.66.196a4.993 4.993 0 0 1 2.25 2.77c.499.047 1 .048 1.499.001A4.993 4.993 0 0 1 15 17.197a4.993 4.993 0 0 1 3.525-.565c.29-.408.54-.843.748-1.298A4.993 4.993 0 0 1 18 12c0-1.26.47-2.437 1.273-3.334a8.126 8.126 0 0 0-.75-1.298A4.993 4.993 0 0 1 15 6.804a4.993 4.993 0 0 1-2.25-2.77c-.499-.047-1-.048-1.499-.001A4.993 4.993 0 0 1 9 6.803a4.993 4.993 0 0 1-3.525.565 7.99 7.99 0 0 0-.748 1.298A4.993 4.993 0 0 1 6 12c0 1.26-.47 2.437-1.273 3.334a8.126 8.126 0 0 0 .75 1.298A4.993 4.993 0 0 1 9 17.196zM12 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiSettings4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.334 4.545a9.99 9.99 0 0 1 3.542-2.048A3.993 3.993 0 0 0 12 3.999a3.993 3.993 0 0 0 3.124-1.502 9.99 9.99 0 0 1 3.542 2.048 3.993 3.993 0 0 0 .262 3.454 3.993 3.993 0 0 0 2.863 1.955 10.043 10.043 0 0 1 0 4.09c-1.16.178-2.23.86-2.863 1.955a3.993 3.993 0 0 0-.262 3.455 9.99 9.99 0 0 1-3.542 2.047A3.993 3.993 0 0 0 12 20a3.993 3.993 0 0 0-3.124 1.502 9.99 9.99 0 0 1-3.542-2.047 3.993 3.993 0 0 0-.262-3.455 3.993 3.993 0 0 0-2.863-1.954 10.043 10.043 0 0 1 0-4.091 3.993 3.993 0 0 0 2.863-1.955 3.993 3.993 0 0 0 .262-3.454zM13.5 14.597a3 3 0 1 0-3-5.196 3 3 0 0 0 3 5.196z\"}}]}]})(props);\n};\nexport function RiSettings4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12c0-.865.11-1.703.316-2.504A3 3 0 0 0 4.99 4.867a9.99 9.99 0 0 1 4.335-2.505 3 3 0 0 0 5.348 0 9.99 9.99 0 0 1 4.335 2.505 3 3 0 0 0 2.675 4.63c.206.8.316 1.638.316 2.503 0 .865-.11 1.703-.316 2.504a3 3 0 0 0-2.675 4.629 9.99 9.99 0 0 1-4.335 2.505 3 3 0 0 0-5.348 0 9.99 9.99 0 0 1-4.335-2.505 3 3 0 0 0-2.675-4.63C2.11 13.704 2 12.866 2 12zm4.804 3c.63 1.091.81 2.346.564 3.524.408.29.842.541 1.297.75A4.993 4.993 0 0 1 12 18c1.26 0 2.438.471 3.335 1.274.455-.209.889-.46 1.297-.75A4.993 4.993 0 0 1 17.196 15a4.993 4.993 0 0 1 2.77-2.25 8.126 8.126 0 0 0 0-1.5A4.993 4.993 0 0 1 17.195 9a4.993 4.993 0 0 1-.564-3.524 7.989 7.989 0 0 0-1.297-.75A4.993 4.993 0 0 1 12 6a4.993 4.993 0 0 1-3.335-1.274 7.99 7.99 0 0 0-1.297.75A4.993 4.993 0 0 1 6.804 9a4.993 4.993 0 0 1-2.77 2.25 8.126 8.126 0 0 0 0 1.5A4.993 4.993 0 0 1 6.805 15zM12 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiSettings5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.132 13.63a9.942 9.942 0 0 1 0-3.26c1.102.026 2.092-.502 2.477-1.431.385-.93.058-2.004-.74-2.763a9.942 9.942 0 0 1 2.306-2.307c.76.798 1.834 1.125 2.764.74.93-.385 1.457-1.376 1.43-2.477a9.942 9.942 0 0 1 3.262 0c-.027 1.102.501 2.092 1.43 2.477.93.385 2.004.058 2.763-.74a9.942 9.942 0 0 1 2.307 2.306c-.798.76-1.125 1.834-.74 2.764.385.93 1.376 1.457 2.477 1.43a9.942 9.942 0 0 1 0 3.262c-1.102-.027-2.092.501-2.477 1.43-.385.93-.058 2.004.74 2.763a9.942 9.942 0 0 1-2.306 2.307c-.76-.798-1.834-1.125-2.764-.74-.93.385-1.457 1.376-1.43 2.477a9.942 9.942 0 0 1-3.262 0c.027-1.102-.501-2.092-1.43-2.477-.93-.385-2.004-.058-2.763.74a9.942 9.942 0 0 1-2.307-2.306c.798-.76 1.125-1.834.74-2.764-.385-.93-1.376-1.457-2.477-1.43zM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiSettings5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.213 14.06a9.945 9.945 0 0 1 0-4.12c1.11.13 2.08-.237 2.396-1.001.317-.765-.108-1.71-.986-2.403a9.945 9.945 0 0 1 2.913-2.913c.692.877 1.638 1.303 2.403.986.765-.317 1.132-1.286 1.001-2.396a9.945 9.945 0 0 1 4.12 0c-.13 1.11.237 2.08 1.001 2.396.765.317 1.71-.108 2.403-.986a9.945 9.945 0 0 1 2.913 2.913c-.877.692-1.303 1.638-.986 2.403.317.765 1.286 1.132 2.396 1.001a9.945 9.945 0 0 1 0 4.12c-1.11-.13-2.08.237-2.396 1.001-.317.765.108 1.71.986 2.403a9.945 9.945 0 0 1-2.913 2.913c-.692-.877-1.638-1.303-2.403-.986-.765.317-1.132 1.286-1.001 2.396a9.945 9.945 0 0 1-4.12 0c.13-1.11-.237-2.08-1.001-2.396-.765-.317-1.71.108-2.403.986a9.945 9.945 0 0 1-2.913-2.913c.877-.692 1.303-1.638.986-2.403-.317-.765-1.286-1.132-2.396-1.001zM4 12.21c1.1.305 2.007 1.002 2.457 2.086.449 1.085.3 2.22-.262 3.212.096.102.195.201.297.297.993-.562 2.127-.71 3.212-.262 1.084.45 1.781 1.357 2.086 2.457.14.004.28.004.42 0 .305-1.1 1.002-2.007 2.086-2.457 1.085-.449 2.22-.3 3.212.262.102-.096.201-.195.297-.297-.562-.993-.71-2.127-.262-3.212.45-1.084 1.357-1.781 2.457-2.086.004-.14.004-.28 0-.42-1.1-.305-2.007-1.002-2.457-2.086-.449-1.085-.3-2.22.262-3.212a7.935 7.935 0 0 0-.297-.297c-.993.562-2.127.71-3.212.262C13.212 6.007 12.515 5.1 12.21 4a7.935 7.935 0 0 0-.42 0c-.305 1.1-1.002 2.007-2.086 2.457-1.085.449-2.22.3-3.212-.262-.102.096-.201.195-.297.297.562.993.71 2.127.262 3.212C6.007 10.788 5.1 11.485 4 11.79c-.004.14-.004.28 0 .42zM12 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiSettings6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 2.474L23 12l-5.5 9.526h-11L1 12l5.5-9.526h11zM8.634 8.17l5 8.66 1.732-1-5-8.66-1.732 1z\"}}]}]})(props);\n};\nexport function RiSettings6Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 2.474L23 12l-5.5 9.526h-11L1 12l5.5-9.526h11zm-1.155 2h-8.69L3.309 12l4.346 7.526h8.69L20.691 12l-4.346-7.526zM8.634 8.17l1.732-1 5 8.66-1.732 1-5-8.66z\"}}]}]})(props);\n};\nexport function RiSettingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l9.5 5.5v11L12 23l-9.5-5.5v-11L12 1zm0 14a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiSettingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l9.5 5.5v11L12 23l-9.5-5.5v-11L12 1zm0 2.311L4.5 7.653v8.694l7.5 4.342 7.5-4.342V7.653L12 3.311zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiShareBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3v2H5v14h14v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6zm7.707 4.707L12 13.414 10.586 12l5.707-5.707L13 3h8v8l-3.293-3.293z\"}}]}]})(props);\n};\nexport function RiShareBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3v2H5v14h14v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6zm7.586 2H13V3h8v8h-2V6.414l-7 7L10.586 12l7-7z\"}}]}]})(props);\n};\nexport function RiShareCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.05v2.012A8.001 8.001 0 0 0 12 20a8.001 8.001 0 0 0 7.938-7h2.013c-.502 5.053-4.766 9-9.951 9-5.523 0-10-4.477-10-10 0-5.185 3.947-9.449 9-9.95zm7.707 4.657L12 13.414 10.586 12l6.707-6.707L14 2h8v8l-3.293-3.293z\"}}]}]})(props);\n};\nexport function RiShareCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.05v2.012A8.001 8.001 0 0 0 12 20a8.001 8.001 0 0 0 7.938-7h2.013c-.502 5.053-4.766 9-9.951 9-5.523 0-10-4.477-10-10 0-5.185 3.947-9.449 9-9.95zm9 3.364l-8 8L10.586 12l8-8H14V2h8v8h-2V5.414z\"}}]}]})(props);\n};\nexport function RiShareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.576 17.271l-5.11-2.787a3.5 3.5 0 1 1 0-4.968l5.11-2.787a3.5 3.5 0 1 1 .958 1.755l-5.11 2.787a3.514 3.514 0 0 1 0 1.458l5.11 2.787a3.5 3.5 0 1 1-.958 1.755z\"}}]}]})(props);\n};\nexport function RiShareForward2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v-5h2v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-6h2v5zm8-9H9a5.992 5.992 0 0 0-4.854 2.473A8.003 8.003 0 0 1 12 6V2l8 6-8 6v-4z\"}}]}]})(props);\n};\nexport function RiShareForward2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v-5h2v6a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-6h2v5zM16.172 7l-3.95-3.95 1.414-1.414L20 8l-6.364 6.364-1.414-1.414L16.172 9H5V7h11.172z\"}}]}]})(props);\n};\nexport function RiShareForwardBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3v2H4v14h16v-9h2v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6zm7 2V1l7 6h-9a2 2 0 0 0-2 2v6h-2V9a4 4 0 0 1 4-4h2z\"}}]}]})(props);\n};\nexport function RiShareForwardBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3v2H4v14h16v-9h2v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h6zm9.95 2L16 2.05 17.414.636l5.34 5.34A.6.6 0 0 1 22.33 7H14a2 2 0 0 0-2 2v6h-2V9a4 4 0 0 1 4-4h4.95z\"}}]}]})(props);\n};\nexport function RiShareForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 14h-2a8.999 8.999 0 0 0-7.968 4.81A10.136 10.136 0 0 1 3 18C3 12.477 7.477 8 13 8V3l10 8-10 8v-5z\"}}]}]})(props);\n};\nexport function RiShareForwardLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 14h-2a8.999 8.999 0 0 0-7.968 4.81A10.136 10.136 0 0 1 3 18C3 12.477 7.477 8 13 8V2.5L23.5 11 13 19.5V14zm-2-2h4v3.308L20.321 11 15 6.692V10h-2a7.982 7.982 0 0 0-6.057 2.773A10.988 10.988 0 0 1 11 12z\"}}]}]})(props);\n};\nexport function RiShareLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.12 17.023l-4.199-2.29a4 4 0 1 1 0-5.465l4.2-2.29a4 4 0 1 1 .959 1.755l-4.2 2.29a4.008 4.008 0 0 1 0 1.954l4.199 2.29a4 4 0 1 1-.959 1.755zM6 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm11-6a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiShieldCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l8.217 1.826c.457.102.783.507.783.976v9.987c0 2.006-1.003 3.88-2.672 4.992L12 23l-6.328-4.219C4.002 17.668 3 15.795 3 13.79V3.802c0-.469.326-.874.783-.976L12 1zm4.452 7.222l-4.95 4.949-2.828-2.828-1.414 1.414L11.503 16l6.364-6.364-1.415-1.414z\"}}]}]})(props);\n};\nexport function RiShieldCheckLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0H24V24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l8.217 1.826c.457.102.783.507.783.976v9.987c0 2.006-1.003 3.88-2.672 4.992L12 23l-6.328-4.219C4.002 17.668 3 15.795 3 13.79V3.802c0-.469.326-.874.783-.976L12 1zm0 2.049L5 4.604v9.185c0 1.337.668 2.586 1.781 3.328L12 20.597l5.219-3.48C18.332 16.375 19 15.127 19 13.79V4.604L12 3.05zm4.452 5.173l1.415 1.414L11.503 16 7.26 11.757l1.414-1.414 2.828 2.828 4.95-4.95z\"}}]}]})(props);\n};\nexport function RiShieldCrossFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM11 10H8v2h3v3h2v-3h3v-2h-3V7h-2v3z\"}}]}]})(props);\n};\nexport function RiShieldCrossLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05 5 4.604zM11 10V7h2v3h3v2h-3v3h-2v-3H8v-2h3z\"}}]}]})(props);\n};\nexport function RiShieldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976z\"}}]}]})(props);\n};\nexport function RiShieldFlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM13 10V5l-5 7h3v5l5-7h-3z\"}}]}]})(props);\n};\nexport function RiShieldFlashLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05 5 4.604zM13 10h3l-5 7v-5H8l5-7v5z\"}}]}]})(props);\n};\nexport function RiShieldKeyholeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976L12 1zm0 6a2 2 0 0 0-1 3.732V15h2l.001-4.268A2 2 0 0 0 12 7z\"}}]}]})(props);\n};\nexport function RiShieldKeyholeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976L12 1zm0 2.049L5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05zM12 7a2 2 0 0 1 1.001 3.732L13 15h-2v-4.268A2 2 0 0 1 12 7z\"}}]}]})(props);\n};\nexport function RiShieldLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05 5 4.604z\"}}]}]})(props);\n};\nexport function RiShieldStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM12 13.5l2.939 1.545-.561-3.272 2.377-2.318-3.286-.478L12 6l-1.47 2.977-3.285.478 2.377 2.318-.56 3.272L12 13.5z\"}}]}]})(props);\n};\nexport function RiShieldStarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05 5 4.604zM3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM12 13.5l-2.939 1.545.561-3.272-2.377-2.318 3.286-.478L12 6l1.47 2.977 3.285.478-2.377 2.318.56 3.272L12 13.5z\"}}]}]})(props);\n};\nexport function RiShieldUserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM12 11a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm-4.473 5h8.946a4.5 4.5 0 0 0-8.946 0z\"}}]}]})(props);\n};\nexport function RiShieldUserLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M3.783 2.826L12 1l8.217 1.826a1 1 0 0 1 .783.976v9.987a6 6 0 0 1-2.672 4.992L12 23l-6.328-4.219A6 6 0 0 1 3 13.79V3.802a1 1 0 0 1 .783-.976zM5 4.604v9.185a4 4 0 0 0 1.781 3.328L12 20.597l5.219-3.48A4 4 0 0 0 19 13.79V4.604L12 3.05 5 4.604zM12 11a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm-4.473 5a4.5 4.5 0 0 1 8.946 0H7.527z\"}}]}]})(props);\n};\nexport function RiSideBarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm6 2v14h11V5H9z\"}}]}]})(props);\n};\nexport function RiSideBarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm5 2H4v14h4V5zm2 0v14h10V5H10z\"}}]}]})(props);\n};\nexport function RiSpam2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.218 2.5l5.683 5.682v8.036l-5.683 5.683H8.182l-5.683-5.683V8.182l5.683-5.683h8.036zM11 15v2h2v-2h-2zm0-8v6h2V7h-2z\"}}]}]})(props);\n};\nexport function RiSpam2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.936 2.5L21.5 8.067v7.87L15.936 21.5h-7.87L2.5 15.936v-7.87L8.066 2.5h7.87zm-.829 2H8.894L4.501 8.895v6.213l4.393 4.394h6.213l4.394-4.394V8.894l-4.394-4.393zM11 15h2v2h-2v-2zm0-8h2v6h-2V7z\"}}]}]})(props);\n};\nexport function RiSpam3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.936 2.5L21.5 8.067v7.87L15.936 21.5h-7.87L2.5 15.936v-7.87L8.066 2.5h7.87zM8 11v2h8v-2H8z\"}}]}]})(props);\n};\nexport function RiSpam3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M15.936 2.5L21.5 8.067v7.87L15.936 21.5h-7.87L2.5 15.936v-7.87L8.066 2.5h7.87zm-.829 2H8.894L4.501 8.895v6.213l4.393 4.394h6.213l4.394-4.394V8.894l-4.394-4.393zM8 11h8v2H8v-2z\"}}]}]})(props);\n};\nexport function RiSpamFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 2.5L23 12l-5.5 9.5h-11L1 12l5.5-9.5h11zM11 15v2h2v-2h-2zm0-8v6h2V7h-2z\"}}]}]})(props);\n};\nexport function RiSpamLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.5 2.5L23 12l-5.5 9.5h-11L1 12l5.5-9.5h11zm-1.153 2H7.653L3.311 12l4.342 7.5h8.694l4.342-7.5-4.342-7.5zM11 15h2v2h-2v-2zm0-8h2v6h-2V7z\"}}]}]})(props);\n};\nexport function RiStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18.26l-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928z\"}}]}]})(props);\n};\nexport function RiStarHalfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15.968l4.247 2.377-.949-4.773 3.573-3.305-4.833-.573L12 5.275v10.693zm0 2.292l-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928L12 18.26z\"}}]}]})(props);\n};\nexport function RiStarHalfLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15.968l4.247 2.377-.949-4.773 3.573-3.305-4.833-.573L12 5.275v10.693zm0 2.292l-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928L12 18.26z\"}}]}]})(props);\n};\nexport function RiStarHalfSFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14.656l2.817 1.72-.766-3.21 2.507-2.147-3.29-.264L12 7.708v6.948zM12 17l-5.878 3.59 1.598-6.7-5.23-4.48 6.865-.55L12 2.5l2.645 6.36 6.866.55-5.231 4.48 1.598 6.7L12 17z\"}}]}]})(props);\n};\nexport function RiStarHalfSLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14.656l2.817 1.72-.766-3.21 2.507-2.147-3.29-.264L12 7.708v6.948zM12 17l-5.878 3.59 1.598-6.7-5.23-4.48 6.865-.55L12 2.5l2.645 6.36 6.866.55-5.231 4.48 1.598 6.7L12 17z\"}}]}]})(props);\n};\nexport function RiStarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18.26l-7.053 3.948 1.575-7.928L.587 8.792l8.027-.952L12 .5l3.386 7.34 8.027.952-5.935 5.488 1.575 7.928L12 18.26zm0-2.292l4.247 2.377-.949-4.773 3.573-3.305-4.833-.573L12 5.275l-2.038 4.42-4.833.572 3.573 3.305-.949 4.773L12 15.968z\"}}]}]})(props);\n};\nexport function RiStarSFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17l-5.878 3.59 1.598-6.7-5.23-4.48 6.865-.55L12 2.5l2.645 6.36 6.866.55-5.231 4.48 1.598 6.7z\"}}]}]})(props);\n};\nexport function RiStarSLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17l-5.878 3.59 1.598-6.7-5.23-4.48 6.865-.55L12 2.5l2.645 6.36 6.866.55-5.231 4.48 1.598 6.7L12 17zm0-2.344l2.817 1.72-.766-3.21 2.507-2.147-3.29-.264L12 7.708l-1.268 3.047-3.29.264 2.507 2.147-.766 3.21L12 14.657z\"}}]}]})(props);\n};\nexport function RiSubtractFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h14v2H5z\"}}]}]})(props);\n};\nexport function RiSubtractLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11h14v2H5z\"}}]}]})(props);\n};\nexport function RiThumbDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 15h-3V3h3a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1zm-5.293 1.293l-6.4 6.4a.5.5 0 0 1-.654.047L8.8 22.1a1.5 1.5 0 0 1-.553-1.57L9.4 16H3a2 2 0 0 1-2-2v-2.104a2 2 0 0 1 .15-.762L4.246 3.62A1 1 0 0 1 5.17 3H16a1 1 0 0 1 1 1v11.586a1 1 0 0 1-.293.707z\"}}]}]})(props);\n};\nexport function RiThumbDownLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.4 16H3a2 2 0 0 1-2-2v-2.104a2 2 0 0 1 .15-.762L4.246 3.62A1 1 0 0 1 5.17 3H22a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-3.482a1 1 0 0 0-.817.423l-5.453 7.726a.5.5 0 0 1-.632.159L9.802 22.4a2.5 2.5 0 0 1-1.305-2.853L9.4 16zm7.6-2.588V5H5.84L3 11.896V14h6.4a2 2 0 0 1 1.938 2.493l-.903 3.548a.5.5 0 0 0 .261.571l.661.33 4.71-6.672c.25-.354.57-.644.933-.858zM19 13h2V5h-2v8z\"}}]}]})(props);\n};\nexport function RiThumbUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9h3v12H2a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1zm5.293-1.293l6.4-6.4a.5.5 0 0 1 .654-.047l.853.64a1.5 1.5 0 0 1 .553 1.57L14.6 8H21a2 2 0 0 1 2 2v2.104a2 2 0 0 1-.15.762l-3.095 7.515a1 1 0 0 1-.925.619H8a1 1 0 0 1-1-1V8.414a1 1 0 0 1 .293-.707z\"}}]}]})(props);\n};\nexport function RiThumbUpLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.6 8H21a2 2 0 0 1 2 2v2.104a2 2 0 0 1-.15.762l-3.095 7.515a1 1 0 0 1-.925.619H2a1 1 0 0 1-1-1V10a1 1 0 0 1 1-1h3.482a1 1 0 0 0 .817-.423L11.752.85a.5.5 0 0 1 .632-.159l1.814.907a2.5 2.5 0 0 1 1.305 2.853L14.6 8zM7 10.588V19h11.16L21 12.104V10h-6.4a2 2 0 0 1-1.938-2.493l.903-3.548a.5.5 0 0 0-.261-.571l-.661-.33-4.71 6.672c-.25.354-.57.644-.933.858zM5 11H3v8h2v-8z\"}}]}]})(props);\n};\nexport function RiTimeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm1-10V7h-2v7h6v-2h-4z\"}}]}]})(props);\n};\nexport function RiTimeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm1-8h4v2h-6V7h2v5z\"}}]}]})(props);\n};\nexport function RiTimer2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm3.536 5.05L10.586 12 12 13.414l4.95-4.95-1.414-1.414z\"}}]}]})(props);\n};\nexport function RiTimer2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zm0 18c4.42 0 8-3.58 8-8s-3.58-8-8-8-8 3.58-8 8 3.58 8 8 8zm3.536-12.95l1.414 1.414-4.95 4.95L10.586 12l4.95-4.95z\"}}]}]})(props);\n};\nexport function RiTimerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.618 5.968l1.453-1.453 1.414 1.414-1.453 1.453a9 9 0 1 1-1.414-1.414zM11 8v6h2V8h-2zM8 1h8v2H8V1z\"}}]}]})(props);\n};\nexport function RiTimerFlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.382 5.968A8.962 8.962 0 0 1 12 4c2.125 0 4.078.736 5.618 1.968l1.453-1.453 1.414 1.414-1.453 1.453a9 9 0 1 1-14.064 0L3.515 5.93l1.414-1.414 1.453 1.453zM13 12V7.495L8 14h3v4.5l5-6.5h-3zM8 1h8v2H8V1z\"}}]}]})(props);\n};\nexport function RiTimerFlashLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.382 5.968A8.962 8.962 0 0 1 12 4c2.125 0 4.078.736 5.618 1.968l1.453-1.453 1.414 1.414-1.453 1.453a9 9 0 1 1-14.064 0L3.515 5.93l1.414-1.414 1.453 1.453zM12 20a7 7 0 1 0 0-14 7 7 0 0 0 0 14zm1-8h3l-5 6.5V14H8l5-6.505V12zM8 1h8v2H8V1z\"}}]}]})(props);\n};\nexport function RiTimerLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.618 5.968l1.453-1.453 1.414 1.414-1.453 1.453a9 9 0 1 1-1.414-1.414zM12 20a7 7 0 1 0 0-14 7 7 0 0 0 0 14zM11 8h2v6h-2V8zM8 1h8v2H8V1z\"}}]}]})(props);\n};\nexport function RiToggleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5h8a7 7 0 0 1 0 14H8A7 7 0 0 1 8 5zm8 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiToggleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7a5 5 0 1 0 0 10h8a5 5 0 0 0 0-10H8zm0-2h8a7 7 0 0 1 0 14H8A7 7 0 0 1 8 5zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]}]})(props);\n};\nexport function RiUpload2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v-7h2v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8h2v7zM14 9v6h-4V9H5l7-7 7 7h-5z\"}}]}]})(props);\n};\nexport function RiUpload2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 19h16v-7h2v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-8h2v7zm9-10v7h-2V9H6l6-6 6 6h-5z\"}}]}]})(props);\n};\nexport function RiUploadCloud2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12.586l4.243 4.242-1.415 1.415L13 16.415V22h-2v-5.587l-1.828 1.83-1.415-1.415L12 12.586zM12 2a7.001 7.001 0 0 1 6.954 6.194 5.5 5.5 0 0 1-.953 10.784L18 17a6 6 0 0 0-11.996-.225L6 17v1.978a5.5 5.5 0 0 1-.954-10.784A7 7 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiUploadCloud2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12.586l4.243 4.242-1.415 1.415L13 16.415V22h-2v-5.587l-1.828 1.83-1.415-1.415L12 12.586zM12 2a7.001 7.001 0 0 1 6.954 6.194 5.5 5.5 0 0 1-.953 10.784v-2.014a3.5 3.5 0 1 0-1.112-6.91 5 5 0 1 0-9.777 0 3.5 3.5 0 0 0-1.292 6.88l.18.03v2.014a5.5 5.5 0 0 1-.954-10.784A7 7 0 0 1 12 2z\"}}]}]})(props);\n};\nexport function RiUploadCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20.981a6.5 6.5 0 0 1-2.936-12 8.001 8.001 0 0 1 15.872 0 6.5 6.5 0 0 1-2.936 12V21H7v-.019zM13 13h3l-4-5-4 5h3v4h2v-4z\"}}]}]})(props);\n};\nexport function RiUploadCloudLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14.5a6.496 6.496 0 0 1 3.064-5.519 8.001 8.001 0 0 1 15.872 0 6.5 6.5 0 0 1-2.936 12L7 21c-3.356-.274-6-3.078-6-6.5zm15.848 4.487a4.5 4.5 0 0 0 2.03-8.309l-.807-.503-.12-.942a6.001 6.001 0 0 0-11.903 0l-.12.942-.805.503a4.5 4.5 0 0 0 2.029 8.309l.173.013h9.35l.173-.013zM13 13v4h-2v-4H8l4-5 4 5h-3z\"}}]}]})(props);\n};\nexport function RiUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19h18v2H3v-2zm10-9v8h-2v-8H4l8-8 8 8h-7z\"}}]}]})(props);\n};\nexport function RiUploadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19h18v2H3v-2zM13 5.828V17h-2V5.828L4.929 11.9l-1.414-1.414L12 2l8.485 8.485-1.414 1.414L13 5.83z\"}}]}]})(props);\n};\nexport function RiZoomInFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zM10 10H7v2h3v3h2v-3h3v-2h-3V7h-2v3z\"}}]}]})(props);\n};\nexport function RiZoomInLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zm-2.006-.742A6.977 6.977 0 0 0 18 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 0 0 4.875-1.975l.15-.15zM10 10V7h2v3h3v2h-3v3h-2v-3H7v-2h3z\"}}]}]})(props);\n};\nexport function RiZoomOutFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zM7 10v2h8v-2H7z\"}}]}]})(props);\n};\nexport function RiZoomOutLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.031 16.617l4.283 4.282-1.415 1.415-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9 9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617zm-2.006-.742A6.977 6.977 0 0 0 18 11c0-3.868-3.133-7-7-7-3.868 0-7 3.132-7 7 0 3.867 3.132 7 7 7a6.977 6.977 0 0 0 4.875-1.975l.15-.15zM7 10h8v2H7v-2z\"}}]}]})(props);\n};\nexport function RiAccountBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.995C3 3.893 3.893 3 4.995 3h14.01C20.107 3 21 3.893 21 4.995v14.01A1.995 1.995 0 0 1 19.005 21H4.995A1.995 1.995 0 0 1 3 19.005V4.995zM6.357 18h11.49a6.992 6.992 0 0 0-5.745-3 6.992 6.992 0 0 0-5.745 3zM12 13a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]}]})(props);\n};\nexport function RiAccountBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.995C3 3.893 3.893 3 4.995 3h14.01C20.107 3 21 3.893 21 4.995v14.01A1.995 1.995 0 0 1 19.005 21H4.995A1.995 1.995 0 0 1 3 19.005V4.995zM5 5v14h14V5H5zm2.972 13.18a9.983 9.983 0 0 1-1.751-.978A6.994 6.994 0 0 1 12.102 14c2.4 0 4.517 1.207 5.778 3.047a9.995 9.995 0 0 1-1.724 1.025A4.993 4.993 0 0 0 12.102 16c-1.715 0-3.23.864-4.13 2.18zM12 13a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiAccountCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.52 0 10 4.48 10 10s-4.48 10-10 10S2 17.52 2 12 6.48 2 12 2zM6.023 15.416C7.491 17.606 9.695 19 12.16 19c2.464 0 4.669-1.393 6.136-3.584A8.968 8.968 0 0 0 12.16 13a8.968 8.968 0 0 0-6.137 2.416zM12 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiAccountCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-4.987-3.744A7.966 7.966 0 0 0 12 20c1.97 0 3.773-.712 5.167-1.892A6.979 6.979 0 0 0 12.16 16a6.981 6.981 0 0 0-5.147 2.256zM5.616 16.82A8.975 8.975 0 0 1 12.16 14a8.972 8.972 0 0 1 6.362 2.634 8 8 0 1 0-12.906.187zM12 13a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiAccountPinBoxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21l-2 2-2-2H4.995A1.995 1.995 0 0 1 3 19.005V4.995C3 3.893 3.893 3 4.995 3h14.01C20.107 3 21 3.893 21 4.995v14.01A1.995 1.995 0 0 1 19.005 21H14zm-7.643-3h11.49a6.992 6.992 0 0 0-5.745-3 6.992 6.992 0 0 0-5.745 3zM12 13a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]}]})(props);\n};\nexport function RiAccountPinBoxLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 21l-2 2-2-2H4.995A1.995 1.995 0 0 1 3 19.005V4.995C3 3.893 3.893 3 4.995 3h14.01C20.107 3 21 3.893 21 4.995v14.01A1.995 1.995 0 0 1 19.005 21H14zm5-2V5H5v14h5.828L12 20.172 13.172 19H19zm-11.028-.82a9.983 9.983 0 0 1-1.751-.978A6.994 6.994 0 0 1 12.102 14c2.4 0 4.517 1.207 5.778 3.047a9.995 9.995 0 0 1-1.724 1.025A4.993 4.993 0 0 0 12.102 16c-1.715 0-3.23.864-4.13 2.18zM12 13a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiAccountPinCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.256 21.744L12 24l-2.256-2.256C5.31 20.72 2 16.744 2 12 2 6.48 6.48 2 12 2s10 4.48 10 10c0 4.744-3.31 8.72-7.744 9.744zm-8.233-6.328C7.491 17.606 9.695 19 12.16 19c2.464 0 4.669-1.393 6.136-3.584A8.968 8.968 0 0 0 12.16 13a8.968 8.968 0 0 0-6.137 2.416zM12 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiAccountPinCircleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.745 21.745C5.308 20.722 2 16.747 2 12 2 6.477 6.477 2 12 2s10 4.477 10 10c0 4.747-3.308 8.722-7.745 9.745L12 24l-2.255-2.255zm-2.733-3.488a7.953 7.953 0 0 0 3.182 1.539l.56.129L12 21.172l1.247-1.247.56-.13a7.956 7.956 0 0 0 3.36-1.686A6.979 6.979 0 0 0 12.16 16c-2.036 0-3.87.87-5.148 2.257zM5.616 16.82A8.975 8.975 0 0 1 12.16 14a8.972 8.972 0 0 1 6.362 2.634 8 8 0 1 0-12.906.187zM12 13a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiAdminFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v8H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm9 4h1v5h-8v-5h1v-1a3 3 0 0 1 6 0v1zm-2 0v-1a1 1 0 0 0-2 0v1h2z\"}}]}]})(props);\n};\nexport function RiAdminLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2a6 6 0 0 0-6 6H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm9 6h1v5h-8v-5h1v-1a3 3 0 0 1 6 0v1zm-2 0v-1a1 1 0 0 0-2 0v1h2z\"}}]}]})(props);\n};\nexport function RiAliensFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a8.5 8.5 0 0 1 8.5 8.5c0 6.5-5.5 12-8.5 12s-8.5-5.5-8.5-12A8.5 8.5 0 0 1 12 2zm5.5 10a4.5 4.5 0 0 0-4.475 4.975 4.5 4.5 0 0 0 4.95-4.95A4.552 4.552 0 0 0 17.5 12zm-11 0c-.16 0-.319.008-.475.025a4.5 4.5 0 0 0 4.95 4.95A4.5 4.5 0 0 0 6.5 12z\"}}]}]})(props);\n};\nexport function RiAliensLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2a8.5 8.5 0 0 1 8.5 8.5c0 6.5-5.5 12-8.5 12s-8.5-5.5-8.5-12A8.5 8.5 0 0 1 12 2zm0 2a6.5 6.5 0 0 0-6.5 6.5c0 4.794 4.165 10 6.5 10s6.5-5.206 6.5-10A6.5 6.5 0 0 0 12 4zm5.5 7c.16 0 .319.008.475.025a4.5 4.5 0 0 1-4.95 4.95A4.5 4.5 0 0 1 17.5 11zm-11 0a4.5 4.5 0 0 1 4.475 4.975 4.5 4.5 0 0 1-4.95-4.95C6.18 11.008 6.34 11 6.5 11z\"}}]}]})(props);\n};\nexport function RiBearSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 2a4.5 4.5 0 0 1 2.951 7.897c.355.967.549 2.013.549 3.103A9 9 0 1 1 3.55 9.897a4.5 4.5 0 1 1 6.791-5.744 9.05 9.05 0 0 1 3.32 0A4.494 4.494 0 0 1 17.5 2zM10 13H8a4 4 0 0 0 7.995.2L16 13h-2a2 2 0 0 1-3.995.15L10 13z\"}}]}]})(props);\n};\nexport function RiBearSmileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 2a4.5 4.5 0 0 1 2.951 7.897c.355.967.549 2.013.549 3.103A9 9 0 1 1 3.55 9.897a4.5 4.5 0 1 1 6.791-5.744 9.05 9.05 0 0 1 3.32 0A4.494 4.494 0 0 1 17.5 2zm0 2c-.823 0-1.575.4-2.038 1.052l-.095.144-.718 1.176-1.355-.253a7.05 7.05 0 0 0-2.267-.052l-.316.052-1.356.255-.72-1.176A2.5 2.5 0 1 0 4.73 8.265l.131.123 1.041.904-.475 1.295A7 7 0 1 0 19 13c0-.716-.107-1.416-.314-2.083l-.112-.33-.475-1.295 1.04-.904A2.5 2.5 0 0 0 17.5 4zM10 13a2 2 0 1 0 4 0h2a4 4 0 1 1-8 0h2z\"}}]}]})(props);\n};\nexport function RiBodyScanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16v4h4v2H2v-6h2zm18 0v6h-6v-2h4v-4h2zM7.5 7a4.5 4.5 0 0 0 9 0h2a6.5 6.5 0 0 1-3.499 5.767L15 19H9v-6.232A6.5 6.5 0 0 1 5.5 7h2zM12 5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM8 2v2l-4-.001V8H2V2h6zm14 0v6h-2V4h-4V2h6z\"}}]}]})(props);\n};\nexport function RiBodyScanLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 16v4h4v2H2v-6h2zm18 0v6h-6v-2h4v-4h2zM7.5 7a4.502 4.502 0 0 0 3.5 4.389V17h2l.001-5.612A4.502 4.502 0 0 0 16.5 7h2a6.5 6.5 0 0 1-3.499 5.767L15 19H9v-6.232A6.5 6.5 0 0 1 5.5 7h2zM12 5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM8 2v2l-4-.001V8H2V2h6zm14 0v6h-2V4h-4V2h6z\"}}]}]})(props);\n};\nexport function RiContactsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22a8 8 0 1 1 16 0H2zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm10 4h4v2h-4v-2zm-3-5h7v2h-7v-2zm2-5h5v2h-5V7z\"}}]}]})(props);\n};\nexport function RiContactsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7h5v2h-5V7zm-2 5h7v2h-7v-2zm3 5h4v2h-4v-2zM2 22a8 8 0 1 1 16 0h-2a6 6 0 1 0-12 0H2zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4z\"}}]}]})(props);\n};\nexport function RiCriminalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a9 9 0 0 1 6.894 14.786c1.255.83 2.033 1.89 2.101 3.049L21 20l-9 2-9-2 .005-.165c.067-1.16.846-2.22 2.1-3.05A8.965 8.965 0 0 1 3 11a9 9 0 0 1 9-9zm0 11c-1.38 0-2.5.672-2.5 1.5S10.62 16 12 16s2.5-.672 2.5-1.5S13.38 13 12 13zM9 8c-1.105 0-2 .672-2 1.5S7.895 11 9 11s2-.672 2-1.5S10.105 8 9 8zm6 0c-1.105 0-2 .672-2 1.5s.895 1.5 2 1.5 2-.672 2-1.5S16.105 8 15 8z\"}}]}]})(props);\n};\nexport function RiCriminalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2a9 9 0 0 1 6.894 14.786c1.255.83 2.033 1.89 2.101 3.049L21 20l-9 2-9-2 .005-.165c.067-1.16.846-2.22 2.1-3.05A8.965 8.965 0 0 1 3 11a9 9 0 0 1 9-9zm0 2a7 7 0 0 0-7 7c0 1.567.514 3.05 1.445 4.261l.192.239 1.443 1.717-1.962 1.299-.137.097L12 19.951l6.018-1.338-.049-.036-.178-.123-1.871-1.237 1.443-1.718A6.963 6.963 0 0 0 19 11a7 7 0 0 0-7-7zm0 9c1.38 0 2.5.672 2.5 1.5S13.38 16 12 16s-2.5-.672-2.5-1.5S10.62 13 12 13zM9 8c1.105 0 2 .672 2 1.5S10.105 11 9 11s-2-.672-2-1.5S7.895 8 9 8zm6 0c1.105 0 2 .672 2 1.5s-.895 1.5-2 1.5-2-.672-2-1.5.895-1.5 2-1.5z\"}}]}]})(props);\n};\nexport function RiEmotion2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-4-9a4 4 0 1 0 8 0H8z\"}}]}]})(props);\n};\nexport function RiEmotion2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-4-7h8a4 4 0 1 1-8 0z\"}}]}]})(props);\n};\nexport function RiEmotionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-4-9a4 4 0 1 0 8 0H8zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiEmotionHappyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-5-9a5 5 0 0 0 10 0h-2a3 3 0 0 1-6 0H7zm1-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiEmotionHappyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-5-7h2a3 3 0 0 0 6 0h2a5 5 0 0 1-10 0zm1-2a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiEmotionLaughFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 9c-2 0-3.667.333-5 1a5 5 0 0 0 10 0c-1.333-.667-3-1-5-1zM8.5 7c-1.152 0-2.122.78-2.412 1.84L6.05 9h4.9A2.5 2.5 0 0 0 8.5 7zm7 0c-1.152 0-2.122.78-2.412 1.84L13.05 9h4.9a2.5 2.5 0 0 0-2.45-2z\"}}]}]})(props);\n};\nexport function RiEmotionLaughLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0 7c2 0 3.667.333 5 1a5 5 0 0 1-10 0c1.333-.667 3-1 5-1zM8.5 7a2.5 2.5 0 0 1 2.45 2h-4.9A2.5 2.5 0 0 1 8.5 7zm7 0a2.5 2.5 0 0 1 2.45 2h-4.9a2.5 2.5 0 0 1 2.45-2z\"}}]}]})(props);\n};\nexport function RiEmotionLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-4-7h8a4 4 0 1 1-8 0zm0-2a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiEmotionNormalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-4-8v2h8v-2H8zm0-3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiEmotionNormalLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-4-6h8v2H8v-2zm0-3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiEmotionSadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10a9.958 9.958 0 0 1-1.065 4.496 1.977 1.977 0 0 0-.398-.775l-.123-.135L19 14.172l-1.414 1.414-.117.127a2 2 0 0 0 1.679 3.282A9.974 9.974 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2zm0 13c-1.38 0-2.63.56-3.534 1.463l-.166.174.945.86C10.035 17.182 10.982 17 12 17c.905 0 1.754.144 2.486.396l.269.1.945-.86A4.987 4.987 0 0 0 12 15zm-3.5-5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm7 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"}}]}]})(props);\n};\nexport function RiEmotionSadLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10 0 .727-.077 1.435-.225 2.118l-1.782-1.783a8 8 0 1 0-4.375 6.801 3.997 3.997 0 0 0 1.555 1.423A9.956 9.956 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2zm7 12.172l1.414 1.414a2 2 0 1 1-2.93.11l.102-.11L19 14.172zM12 15c1.466 0 2.785.631 3.7 1.637l-.945.86C13.965 17.182 13.018 17 12 17c-1.018 0-1.965.183-2.755.496l-.945-.86A4.987 4.987 0 0 1 12 15zm-3.5-5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm7 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z\"}}]}]})(props);\n};\nexport function RiEmotionUnhappyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-5-5h2a3 3 0 0 1 6 0h2a5 5 0 0 0-10 0zm1-6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiEmotionUnhappyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-5-3a5 5 0 0 1 10 0h-2a3 3 0 0 0-6 0H7zm1-6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiGenderlessFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.066V1h2v6.066A7.501 7.501 0 0 1 12 22a7.5 7.5 0 0 1-1-14.934z\"}}]}]})(props);\n};\nexport function RiGenderlessLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 7.066A7.501 7.501 0 0 1 12 22a7.5 7.5 0 0 1-1-14.934V1h2v6.066zM12 20a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11z\"}}]}]})(props);\n};\nexport function RiGhost2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c3.5 0 6 3 7 6 3 1 4 3.73 4 6l-2.775.793a1 1 0 0 0-.725.961v1.496A1.75 1.75 0 0 1 17.75 19h-.596a2 2 0 0 0-1.668.896C14.558 21.3 13.396 22 12 22c-1.396 0-2.558-.701-3.486-2.104A2 2 0 0 0 6.846 19H6.25a1.75 1.75 0 0 1-1.75-1.75v-1.496a1 1 0 0 0-.725-.961L1 14c0-2.266 1-5 4-6 1-3 3.5-6 7-6zm0 10c-.828 0-1.5 1.12-1.5 2.5S11.172 17 12 17s1.5-1.12 1.5-2.5S12.828 12 12 12zM9.5 8a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"}}]}]})(props);\n};\nexport function RiGhost2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c3.5 0 6 3 7 6 3 1 4 3.73 4 6l-2.775.793a1 1 0 0 0-.725.961v1.496A1.75 1.75 0 0 1 17.75 19h-.596a2 2 0 0 0-1.668.896C14.558 21.3 13.396 22 12 22c-1.396 0-2.558-.701-3.486-2.104A2 2 0 0 0 6.846 19H6.25a1.75 1.75 0 0 1-1.75-1.75v-1.496a1 1 0 0 0-.725-.961L1 14c0-2.266 1-5 4-6 1-3 3.5-6 7-6zm0 2C9.89 4 7.935 5.788 6.989 8.371l-.092.261-.316.95-.949.315c-1.255.419-2.067 1.341-2.424 2.56l-.023.086 1.14.327a3 3 0 0 1 2.17 2.703l.005.181V17h.346a4 4 0 0 1 3.2 1.6l.136.192C10.758 19.663 11.316 20 12 20c.638 0 1.167-.293 1.703-1.04l.115-.168a4 4 0 0 1 3.1-1.785l.236-.007h.346v-1.246a3 3 0 0 1 2.003-2.83l.173-.054 1.139-.327-.023-.087c-.337-1.151-1.08-2.037-2.22-2.484l-.204-.075-.95-.316-.315-.949C16.195 5.91 14.18 4 12 4zm0 8c.828 0 1.5 1.12 1.5 2.5S12.828 17 12 17s-1.5-1.12-1.5-2.5.672-2.5 1.5-2.5zM9.5 8a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z\"}}]}]})(props);\n};\nexport function RiGhostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a9 9 0 0 1 9 9v7.5a3.5 3.5 0 0 1-6.39 1.976 2.999 2.999 0 0 1-5.223 0 3.5 3.5 0 0 1-6.382-1.783L3 18.499V11a9 9 0 0 1 9-9zm0 10c-1.105 0-2 1.12-2 2.5s.895 2.5 2 2.5 2-1.12 2-2.5-.895-2.5-2-2.5zM9.5 8a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm5 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"}}]}]})(props);\n};\nexport function RiGhostLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2a9 9 0 0 1 9 9v7.5a3.5 3.5 0 0 1-6.39 1.976 2.999 2.999 0 0 1-5.223 0 3.5 3.5 0 0 1-6.382-1.783L3 18.499V11a9 9 0 0 1 9-9zm0 2a7 7 0 0 0-6.996 6.76L5 11v7.446l.002.138a1.5 1.5 0 0 0 2.645.88l.088-.116a2 2 0 0 1 3.393.142.999.999 0 0 0 1.74.003 2 2 0 0 1 3.296-.278l.097.13a1.5 1.5 0 0 0 2.733-.701L19 18.5V11a7 7 0 0 0-7-7zm0 8c1.105 0 2 1.12 2 2.5s-.895 2.5-2 2.5-2-1.12-2-2.5.895-2.5 2-2.5zM9.5 8a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z\"}}]}]})(props);\n};\nexport function RiGhostSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2a9 9 0 0 1 9 9v7.5a3.5 3.5 0 0 1-6.39 1.976 2.999 2.999 0 0 1-5.223 0 3.5 3.5 0 0 1-6.382-1.783L3 18.499V11a9 9 0 0 1 9-9zm4 11h-2a2 2 0 0 1-3.995.15L10 13H8l.005.2a4 4 0 0 0 7.99 0L16 13zm-4-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiGhostSmileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2a9 9 0 0 1 9 9v7.5a3.5 3.5 0 0 1-6.39 1.976 2.999 2.999 0 0 1-5.223 0 3.5 3.5 0 0 1-6.382-1.783L3 18.499V11a9 9 0 0 1 9-9zm0 2a7 7 0 0 0-6.996 6.76L5 11v7.446l.002.138a1.5 1.5 0 0 0 2.645.88l.088-.116a2 2 0 0 1 3.393.142.999.999 0 0 0 1.74.003 2 2 0 0 1 3.296-.278l.097.13a1.5 1.5 0 0 0 2.733-.701L19 18.5V11a7 7 0 0 0-7-7zm4 9a4 4 0 0 1-7.995.2L8 13h2a2 2 0 1 0 4 0h2zm-4-6a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiGroup2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 19.748V16.4c0-1.283.995-2.292 2.467-2.868A8.482 8.482 0 0 0 9.5 13c-1.89 0-3.636.617-5.047 1.66A8.017 8.017 0 0 0 10 19.748zm8.88-3.662C18.485 15.553 17.17 15 15.5 15c-2.006 0-3.5.797-3.5 1.4V20a7.996 7.996 0 0 0 6.88-3.914zM9.55 11.5a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5zm5.95 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10z\"}}]}]})(props);\n};\nexport function RiGroup2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.55 11.5a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5zm.45 8.248V16.4c0-.488.144-.937.404-1.338a6.473 6.473 0 0 0-5.033 1.417A8.012 8.012 0 0 0 10 19.749zM4.453 14.66A8.462 8.462 0 0 1 9.5 13c1.043 0 2.043.188 2.967.532.878-.343 1.925-.532 3.033-.532 1.66 0 3.185.424 4.206 1.156a8 8 0 1 0-15.253.504zm14.426 1.426C18.486 15.553 17.171 15 15.5 15c-2.006 0-3.5.797-3.5 1.4V20a7.996 7.996 0 0 0 6.88-3.914zM12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm3.5-9.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiGroupFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22a8 8 0 1 1 16 0H2zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm7.363 2.233A7.505 7.505 0 0 1 22.983 22H20c0-2.61-1-4.986-2.637-6.767zm-2.023-2.276A7.98 7.98 0 0 0 18 7a7.964 7.964 0 0 0-1.015-3.903A5 5 0 0 1 21 8a4.999 4.999 0 0 1-5.66 4.957z\"}}]}]})(props);\n};\nexport function RiGroupLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22a8 8 0 1 1 16 0h-2a6 6 0 1 0-12 0H2zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm8.284 3.703A8.002 8.002 0 0 1 23 22h-2a6.001 6.001 0 0 0-3.537-5.473l.82-1.824zm-.688-11.29A5.5 5.5 0 0 1 21 8.5a5.499 5.499 0 0 1-5 5.478v-2.013a3.5 3.5 0 0 0 1.041-6.609l.555-1.943z\"}}]}]})(props);\n};\nexport function RiMenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.586 5H14V3h8v8h-2V6.414l-3.537 3.537a7.5 7.5 0 1 1-1.414-1.414L18.586 5z\"}}]}]})(props);\n};\nexport function RiMenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.05 8.537L18.585 5H14V3h8v8h-2V6.414l-3.537 3.537a7.5 7.5 0 1 1-1.414-1.414zM10.5 20a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11z\"}}]}]})(props);\n};\nexport function RiMickeyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 2a4.5 4.5 0 0 1 .883 8.913 8 8 0 1 1-14.765-.001A4.499 4.499 0 0 1 5.5 2a4.5 4.5 0 0 1 4.493 4.254A7.998 7.998 0 0 1 12 6c.693 0 1.365.088 2.006.254A4.5 4.5 0 0 1 18.5 2z\"}}]}]})(props);\n};\nexport function RiMickeyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M18.5 2a4.5 4.5 0 0 1 .883 8.913l.011.027a8 8 0 0 1-7.145 11.056L12 22a8 8 0 0 1-7.382-11.088A4.499 4.499 0 0 1 5.5 2a4.5 4.5 0 0 1 4.493 4.254l.073-.019A8.018 8.018 0 0 1 12 6l.25.004a8 8 0 0 1 1.756.25A4.5 4.5 0 0 1 18.5 2zM12 8a6 6 0 1 0 0 12 6 6 0 0 0 0-12zM5.5 4a2.5 2.5 0 0 0 0 5l.164-.005.103-.01A8.044 8.044 0 0 1 7.594 7.32l.33-.206A2.5 2.5 0 0 0 5.5 4zm13 0a2.5 2.5 0 0 0-2.466 2.916l.043.2.028.016a8.04 8.04 0 0 1 2.128 1.852A2.5 2.5 0 1 0 18.5 4z\"}}]}]})(props);\n};\nexport function RiOpenArmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm6 5v5h-2v-5c0-4.451 2.644-8.285 6.447-10.016l.828 1.82A9.002 9.002 0 0 0 18 17zM8 17v5H6v-5A9.002 9.002 0 0 0 .725 8.805l.828-1.821A11.002 11.002 0 0 1 8 17z\"}}]}]})(props);\n};\nexport function RiOpenArmLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17v5h-2v-5c0-4.451 2.644-8.285 6.447-10.016l.828 1.82A9.002 9.002 0 0 0 18 17zM8 17v5H6v-5A9.002 9.002 0 0 0 .725 8.805l.828-1.821A11.002 11.002 0 0 1 8 17zm4-5a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-2a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]}]})(props);\n};\nexport function RiParentFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm10.5 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1a4.5 4.5 0 0 1 4.5 4.5v.5h-9v-.5a4.5 4.5 0 0 1 4.5-4.5zM7 12a5 5 0 0 1 5 5v4H2v-4a5 5 0 0 1 5-5z\"}}]}]})(props);\n};\nexport function RiParentLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 2a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9zm10.5 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 2a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm2.5 6v-.5a2.5 2.5 0 1 0-5 0v.5h-2v-.5a4.5 4.5 0 1 1 9 0v.5h-2zm-10 0v-4a3 3 0 0 0-6 0v4H2v-4a5 5 0 0 1 10 0v4h-2z\"}}]}]})(props);\n};\nexport function RiRobotFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4.055c4.5.497 8 4.312 8 8.945v9H3v-9c0-4.633 3.5-8.448 8-8.945V1h2v3.055zM12 18a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]}]})(props);\n};\nexport function RiRobotLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 4.055c4.5.497 8 4.312 8 8.945v9H3v-9c0-4.633 3.5-8.448 8-8.945V1h2v3.055zM19 20v-7a7 7 0 0 0-14 0v7h14zm-7-2a5 5 0 1 1 0-10 5 5 0 0 1 0 10zm0-2a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]}]})(props);\n};\nexport function RiSkull2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiSkull2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm0 2a8 8 0 0 0-7.996 7.75L4 12v3.764l4 2v1.591l.075-.084a3.992 3.992 0 0 1 2.723-1.266L11 18l2.073.001.223.01c.999.074 1.89.51 2.55 1.177l.154.167v-1.591l4-2V12a8 8 0 0 0-8-8zm-4 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm8 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4z\"}}]}]})(props);\n};\nexport function RiSkullFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 18v3a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-3H3a1 1 0 0 1-1-1v-5C2 6.477 6.477 2 12 2s10 4.477 10 10v5a1 1 0 0 1-1 1h-3zM7.5 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm9 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiSkullLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12a8 8 0 1 0-16 0v4h3a1 1 0 0 1 1 1v3h8v-3a1 1 0 0 1 1-1h3v-4zm-2 6v3a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-3H3a1 1 0 0 1-1-1v-5C2 6.477 6.477 2 12 2s10 4.477 10 10v5a1 1 0 0 1-1 1h-3zM7.5 14a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm9 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]}]})(props);\n};\nexport function RiSpyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13a4 4 0 1 1 0 8c-2.142 0-4-1.79-4-4h-2a4 4 0 1 1-.535-2h3.07A3.998 3.998 0 0 1 17 13zM2 12v-2h2V7a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v3h2v2H2z\"}}]}]})(props);\n};\nexport function RiSpyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17 13a4 4 0 1 1-4 4h-2a4 4 0 1 1-.535-2h3.07A3.998 3.998 0 0 1 17 13zM7 15a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM16 3a4 4 0 0 1 4 4v3h2v2H2v-2h2V7a4 4 0 0 1 4-4h8zm0 2H8c-1.054 0-2 .95-2 2v3h12V7c0-1.054-.95-2-2-2z\"}}]}]})(props);\n};\nexport function RiStarSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 .5l4.226 6.183 7.187 2.109-4.575 5.93.215 7.486L12 19.69l-7.053 2.518.215-7.486-4.575-5.93 7.187-2.109L12 .5zM10 12H8a4 4 0 0 0 7.995.2L16 12h-2a2 2 0 0 1-3.995.15L10 12z\"}}]}]})(props);\n};\nexport function RiStarSmileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 .5l4.226 6.183 7.187 2.109-4.575 5.93.215 7.486L12 19.69l-7.053 2.518.215-7.486-4.575-5.93 7.187-2.109L12 .5zm0 3.544L9.022 8.402 3.957 9.887l3.225 4.178-.153 5.275L12 17.566l4.97 1.774-.152-5.275 3.224-4.178-5.064-1.485L12 4.044zM10 12a2 2 0 1 0 4 0h2a4 4 0 1 1-8 0h2z\"}}]}]})(props);\n};\nexport function RiTeamFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11a5 5 0 0 1 5 5v6H7v-6a5 5 0 0 1 5-5zm-6.712 3.006a6.983 6.983 0 0 0-.28 1.65L5 16v6H2v-4.5a3.5 3.5 0 0 1 3.119-3.48l.17-.014zm13.424 0A3.501 3.501 0 0 1 22 17.5V22h-3v-6c0-.693-.1-1.362-.288-1.994zM5.5 8a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zm13 0a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zM12 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8z\"}}]}]})(props);\n};\nexport function RiTeamLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 11a5 5 0 0 1 5 5v6h-2v-6a3 3 0 0 0-2.824-2.995L12 13a3 3 0 0 0-2.995 2.824L9 16v6H7v-6a5 5 0 0 1 5-5zm-6.5 3c.279 0 .55.033.81.094a5.947 5.947 0 0 0-.301 1.575L6 16v.086a1.492 1.492 0 0 0-.356-.08L5.5 16a1.5 1.5 0 0 0-1.493 1.356L4 17.5V22H2v-4.5A3.5 3.5 0 0 1 5.5 14zm13 0a3.5 3.5 0 0 1 3.5 3.5V22h-2v-4.5a1.5 1.5 0 0 0-1.356-1.493L18.5 16c-.175 0-.343.03-.5.085V16c0-.666-.108-1.306-.309-1.904.259-.063.53-.096.809-.096zm-13-6a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zm13 0a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5zm-13 2a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1zm13 0a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1zM12 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8zm0 2a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]}]})(props);\n};\nexport function RiTravestiFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.537 9.95L4.66 7.076 2.186 9.55.772 8.136l6.364-6.364L8.55 3.186 6.075 5.661l2.876 2.876A7.5 7.5 0 1 1 7.537 9.95z\"}}]}]})(props);\n};\nexport function RiTravestiLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8.95 8.537A7.5 7.5 0 1 1 7.537 9.95L4.662 7.075 2.186 9.55.772 8.136l6.364-6.364L8.55 3.186 6.075 5.661l2.876 2.876zM13.5 20a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11z\"}}]}]})(props);\n};\nexport function RiUser2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14.062V20h2v-5.938c3.946.492 7 3.858 7 7.938H4a8.001 8.001 0 0 1 7-7.938zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6z\"}}]}]})(props);\n};\nexport function RiUser2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22a8 8 0 1 1 16 0H4zm9-5.917V20h4.659A6.009 6.009 0 0 0 13 16.083zM11 20v-3.917A6.009 6.009 0 0 0 6.341 20H11zm1-7c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4z\"}}]}]})(props);\n};\nexport function RiUser3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22H4v-2a5 5 0 0 1 5-5h6a5 5 0 0 1 5 5v2zm-8-9a6 6 0 1 1 0-12 6 6 0 0 1 0 12z\"}}]}]})(props);\n};\nexport function RiUser3Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 22h-2v-2a3 3 0 0 0-3-3H9a3 3 0 0 0-3 3v2H4v-2a5 5 0 0 1 5-5h6a5 5 0 0 1 5 5v2zm-8-9a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"}}]}]})(props);\n};\nexport function RiUser4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20h14v2H5v-2zm7-2a8 8 0 1 1 0-16 8 8 0 0 1 0 16z\"}}]}]})(props);\n};\nexport function RiUser4Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20h14v2H5v-2zm7-2a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm0-2a6 6 0 1 0 0-12 6 6 0 0 0 0 12z\"}}]}]})(props);\n};\nexport function RiUser5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.39 16.539a8 8 0 1 1 9.221 0l2.083 4.76a.5.5 0 0 1-.459.701H5.765a.5.5 0 0 1-.459-.7l2.083-4.761zm.729-5.569a4.002 4.002 0 0 0 7.762 0l-1.94-.485a2 2 0 0 1-3.882 0l-1.94.485z\"}}]}]})(props);\n};\nexport function RiUser5Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.39 16.539a8 8 0 1 1 9.221 0l2.083 4.76a.5.5 0 0 1-.459.701H5.765a.5.5 0 0 1-.459-.7l2.083-4.761zm6.735-.693l1.332-.941a6 6 0 1 0-6.913 0l1.331.941L8.058 20h7.884l-1.817-4.154zM8.119 10.97l1.94-.485a2 2 0 0 0 3.882 0l1.94.485a4.002 4.002 0 0 1-7.762 0z\"}}]}]})(props);\n};\nexport function RiUser6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17c3.662 0 6.865 1.575 8.607 3.925l-1.842.871C17.347 20.116 14.847 19 12 19c-2.847 0-5.347 1.116-6.765 2.796l-1.841-.872C5.136 18.574 8.338 17 12 17zm0-15a5 5 0 0 1 5 5v3a5 5 0 0 1-10 0V7a5 5 0 0 1 5-5z\"}}]}]})(props);\n};\nexport function RiUser6Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 17c3.662 0 6.865 1.575 8.607 3.925l-1.842.871C17.347 20.116 14.847 19 12 19c-2.847 0-5.347 1.116-6.765 2.796l-1.841-.872C5.136 18.574 8.338 17 12 17zm0-15a5 5 0 0 1 5 5v3a5 5 0 0 1-4.783 4.995L12 15a5 5 0 0 1-5-5V7a5 5 0 0 1 4.783-4.995L12 2zm0 2a3 3 0 0 0-2.995 2.824L9 7v3a3 3 0 0 0 5.995.176L15 10V7a3 3 0 0 0-3-3z\"}}]}]})(props);\n};\nexport function RiUserAddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252V22H4a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm6 4v-3h2v3h3v2h-3v3h-2v-3h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiUserAddLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm6 6v-3h2v3h3v2h-3v3h-2v-3h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiUserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22a8 8 0 1 1 16 0H4zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6z\"}}]}]})(props);\n};\nexport function RiUserFollowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 14.062V22H4a8 8 0 0 1 9-7.938zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm5.793 6.914l3.535-3.535 1.415 1.414-4.95 4.95-3.536-3.536 1.415-1.414 2.12 2.121z\"}}]}]})(props);\n};\nexport function RiUserFollowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm5.793 8.914l3.535-3.535 1.415 1.414-4.95 4.95-3.536-3.536 1.415-1.414 2.12 2.121z\"}}]}]})(props);\n};\nexport function RiUserHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.841 15.659l.176.177.178-.177a2.25 2.25 0 0 1 3.182 3.182l-3.36 3.359-3.358-3.359a2.25 2.25 0 0 1 3.182-3.182zM12 14v8H4a8 8 0 0 1 7.75-7.996L12 14zm0-13c3.315 0 6 2.685 6 6s-2.685 6-6 6-6-2.685-6-6 2.685-6 6-6z\"}}]}]})(props);\n};\nexport function RiUserHeartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M17.841 15.659l.176.177.178-.177a2.25 2.25 0 0 1 3.182 3.182l-3.36 3.359-3.358-3.359a2.25 2.25 0 0 1 3.182-3.182zM12 14v2a6 6 0 0 0-6 6H4a8 8 0 0 1 7.75-7.996L12 14zm0-13c3.315 0 6 2.685 6 6a5.998 5.998 0 0 1-5.775 5.996L12 13c-3.315 0-6-2.685-6-6a5.998 5.998 0 0 1 5.775-5.996L12 1zm0 2C9.79 3 8 4.79 8 7s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4z\"}}]}]})(props);\n};\nexport function RiUserLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 22a8 8 0 1 1 16 0h-2a6 6 0 1 0-12 0H4zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4z\"}}]}]})(props);\n};\nexport function RiUserLocationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v8H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm8.828 7.828L18 23.657l-2.828-2.829a4 4 0 1 1 5.656 0zM18 17a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]}]})(props);\n};\nexport function RiUserLocationLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2a6 6 0 0 0-6 6H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm8.828 10.071L18 24l-2.828-2.929c-1.563-1.618-1.563-4.24 0-5.858a3.904 3.904 0 0 1 5.656 0c1.563 1.618 1.563 4.24 0 5.858zm-1.438-1.39c.813-.842.813-2.236 0-3.078a1.904 1.904 0 0 0-2.78 0c-.813.842-.813 2.236 0 3.079L18 21.12l1.39-1.44z\"}}]}]})(props);\n};\nexport function RiUserReceived2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252V22H4a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm8 4h3v2h-3v3.5L15 18l5-4.5V17z\"}}]}]})(props);\n};\nexport function RiUserReceived2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm8 6h3v2h-3v3.5L15 18l5-4.5V17z\"}}]}]})(props);\n};\nexport function RiUserReceivedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252V22H4a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm7.418 4h3.586v2h-3.586l1.829 1.828-1.414 1.415L15.59 18l4.243-4.243 1.414 1.415L19.418 17z\"}}]}]})(props);\n};\nexport function RiUserReceivedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm7.418 6h3.586v2h-3.586l1.829 1.828-1.414 1.415L15.59 18l4.243-4.243 1.414 1.415L19.418 17z\"}}]}]})(props);\n};\nexport function RiUserSearchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v8H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm9.446 7.032l1.504 1.504-1.414 1.414-1.504-1.504a4 4 0 1 1 1.414-1.414zM18 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiUserSearchLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2a6 6 0 0 0-6 6H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm9.446 9.032l1.504 1.504-1.414 1.414-1.504-1.504a4 4 0 1 1 1.414-1.414zM18 20a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiUserSettingsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v8H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm2.595 5.812a3.51 3.51 0 0 1 0-1.623l-.992-.573 1-1.732.992.573A3.496 3.496 0 0 1 17 14.645V13.5h2v1.145c.532.158 1.012.44 1.405.812l.992-.573 1 1.732-.992.573a3.51 3.51 0 0 1 0 1.622l.992.573-1 1.732-.992-.573a3.496 3.496 0 0 1-1.405.812V22.5h-2v-1.145a3.496 3.496 0 0 1-1.405-.812l-.992.573-1-1.732.992-.572zM18 17a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]}]})(props);\n};\nexport function RiUserSettingsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2a6 6 0 0 0-6 6H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm2.595 7.812a3.51 3.51 0 0 1 0-1.623l-.992-.573 1-1.732.992.573A3.496 3.496 0 0 1 17 14.645V13.5h2v1.145c.532.158 1.012.44 1.405.812l.992-.573 1 1.732-.992.573a3.51 3.51 0 0 1 0 1.622l.992.573-1 1.732-.992-.573a3.496 3.496 0 0 1-1.405.812V22.5h-2v-1.145a3.496 3.496 0 0 1-1.405-.812l-.992.573-1-1.732.992-.572zM18 19.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiUserShared2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252V22H4a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm6 4v-3.5l5 4.5-5 4.5V19h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiUserShared2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm6 6v-3.5l5 4.5-5 4.5V19h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiUserSharedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252V22H4a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm6.586 4l-1.829-1.828 1.415-1.415L22.414 18l-4.242 4.243-1.415-1.415L18.586 19H15v-2h3.586z\"}}]}]})(props);\n};\nexport function RiUserSharedLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm6.586 6l-1.829-1.828 1.415-1.415L22.414 18l-4.242 4.243-1.415-1.415L18.586 19H15v-2h3.586z\"}}]}]})(props);\n};\nexport function RiUserSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zM7 12a5 5 0 0 0 10 0h-2a3 3 0 0 1-6 0H7z\"}}]}]})(props);\n};\nexport function RiUserSmileLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-5-8h2a3 3 0 0 0 6 0h2a5 5 0 0 1-10 0z\"}}]}]})(props);\n};\nexport function RiUserStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v8H4a8 8 0 0 1 8-8zm6 7.5l-2.939 1.545.561-3.272-2.377-2.318 3.286-.478L18 14l1.47 2.977 3.285.478-2.377 2.318.56 3.272L18 21.5zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6z\"}}]}]})(props);\n};\nexport function RiUserStarLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14v2a6 6 0 0 0-6 6H4a8 8 0 0 1 8-8zm0-1c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm6 10.5l-2.939 1.545.561-3.272-2.377-2.318 3.286-.478L18 14l1.47 2.977 3.285.478-2.377 2.318.56 3.272L18 21.5z\"}}]}]})(props);\n};\nexport function RiUserUnfollowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252V22H4a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm7 3.586l2.121-2.122 1.415 1.415L20.414 18l2.122 2.121-1.415 1.415L19 19.414l-2.121 2.122-1.415-1.415L17.586 18l-2.122-2.121 1.415-1.415L19 16.586z\"}}]}]})(props);\n};\nexport function RiUserUnfollowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14.252v2.09A6 6 0 0 0 6 22l-2-.001a8 8 0 0 1 10-7.748zM12 13c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm7 6.586l2.121-2.122 1.415 1.415L20.414 19l2.122 2.121-1.415 1.415L19 20.414l-2.121 2.122-1.415-1.415L17.586 19l-2.122-2.121 1.415-1.415L19 17.586z\"}}]}]})(props);\n};\nexport function RiUserVoiceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 22a8 8 0 1 1 16 0H1zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm9.246-9.816A9.97 9.97 0 0 1 19 7a9.97 9.97 0 0 1-.754 3.816l-1.677-1.22A7.99 7.99 0 0 0 17 7a7.99 7.99 0 0 0-.43-2.596l1.676-1.22zm3.302-2.4A13.942 13.942 0 0 1 23 7c0 2.233-.523 4.344-1.452 6.216l-1.645-1.196A11.955 11.955 0 0 0 21 7c0-1.792-.393-3.493-1.097-5.02L21.548.784z\"}}]}]})(props);\n};\nexport function RiUserVoiceLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 22a8 8 0 1 1 16 0h-2a6 6 0 1 0-12 0H1zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6 6 2.685 6 6-2.685 6-6 6zm0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zM21.548.784A13.942 13.942 0 0 1 23 7c0 2.233-.523 4.344-1.452 6.216l-1.645-1.196A11.955 11.955 0 0 0 21 7c0-1.792-.393-3.493-1.097-5.02L21.548.784zm-3.302 2.4A9.97 9.97 0 0 1 19 7a9.97 9.97 0 0 1-.754 3.816l-1.677-1.22A7.99 7.99 0 0 0 17 7a7.99 7.99 0 0 0-.43-2.596l1.676-1.22z\"}}]}]})(props);\n};\nexport function RiWomenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15.934A7.501 7.501 0 0 1 12 1a7.5 7.5 0 0 1 1 14.934V18h5v2h-5v4h-2v-4H6v-2h5v-2.066z\"}}]}]})(props);\n};\nexport function RiWomenLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15.934A7.501 7.501 0 0 1 12 1a7.5 7.5 0 0 1 1 14.934V18h5v2h-5v4h-2v-4H6v-2h5v-2.066zM12 14a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11z\"}}]}]})(props);\n};\nexport function RiBlazeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5 9c1 1.06 1.5 2.394 1.5 4 0 3.466-3.7 4.276-5.5 9-.667-.575-1-1.408-1-2.5 0-3.482 5-5.29 5-10.5zm-4-4c1.2 1.238 1.8 2.572 1.8 4 0 4.951-6.045 5.692-4.8 13C9.833 20.84 9 19.173 9 17c0-3.325 5.5-6 5.5-12zM10 1c1.333 1.667 2 3.167 2 4.5 0 6.25-8.5 8.222-4 16.5-2.616-.58-4.5-3-4.5-6C3.5 9.5 10 8.5 10 1z\"}}]}]})(props);\n};\nexport function RiBlazeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 9c.667 1.06 1 2.394 1 4 0 3-3.5 4-5 9-.667-.575-1-1.408-1-2.5 0-3.482 5-5.29 5-10.5zm-4.5-4a8.31 8.31 0 0 1 1 4c0 5-6 6-4 13C9.833 20.84 9 19.173 9 17c0-3.325 5.5-6 5.5-12zM10 1c.667 1.333 1 2.833 1 4.5 0 6-9 7.5-3 16.5-2.5-.5-4.5-3-4.5-6C3.5 9.5 10 8.5 10 1z\"}}]}]})(props);\n};\nexport function RiCelsiusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 10a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM22 10h-2a4 4 0 1 0-8 0v5a4 4 0 1 0 8 0h2a6 6 0 1 1-12 0v-5a6 6 0 1 1 12 0z\"}}]}]})(props);\n};\nexport function RiCelsiusLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 10a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM22 10h-2a4 4 0 1 0-8 0v5a4 4 0 1 0 8 0h2a6 6 0 1 1-12 0v-5a6 6 0 1 1 12 0z\"}}]}]})(props);\n};\nexport function RiCloudWindyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18v-3.993H2.074a8 8 0 0 1 14.383-6.908A5.5 5.5 0 1 1 17.5 18h-3.499zm-8 2h10v2H6v-2zm-4-4h10v2H2v-2z\"}}]}]})(props);\n};\nexport function RiCloudWindyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18v-2h3.5a3.5 3.5 0 1 0-2.5-5.95V10a6 6 0 1 0-12 0v.007H1V10a8 8 0 0 1 15.458-2.901A5.5 5.5 0 1 1 17.5 18H14zm-8 2h10v2H6v-2zm0-8h8v2H6v-2zm-4 4h10v2H2v-2z\"}}]}]})(props);\n};\nexport function RiCloudy2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 21H7A6 6 0 0 1 5.008 9.339a7 7 0 1 1 13.984 0A6 6 0 0 1 17 21z\"}}]}]})(props);\n};\nexport function RiCloudy2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 21H7A6 6 0 0 1 5.008 9.339a7 7 0 1 1 13.984 0A6 6 0 0 1 17 21zM7 19h10a4 4 0 1 0-.426-7.978 5 5 0 1 0-9.148 0A4 4 0 1 0 7 19z\"}}]}]})(props);\n};\nexport function RiCloudyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 20.986a8.5 8.5 0 1 1 7.715-12.983A6.5 6.5 0 0 1 17 20.981V21H9v-.014z\"}}]}]})(props);\n};\nexport function RiCloudyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 6a6.5 6.5 0 0 0 0 13h7a4.5 4.5 0 1 0-.957-8.898A6.502 6.502 0 0 0 9.5 6zm7 15h-7a8.5 8.5 0 1 1 7.215-12.997A6.5 6.5 0 0 1 16.5 21z\"}}]}]})(props);\n};\nexport function RiDrizzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 18v3H9v-3a8 8 0 1 1 7.458-10.901A5.5 5.5 0 1 1 17.5 18H11zm2 2h2v3h-2v-3z\"}}]}]})(props);\n};\nexport function RiDrizzleLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18v-2h.5a3.5 3.5 0 1 0-2.5-5.95V10a6 6 0 1 0-8 5.659v2.089a8 8 0 1 1 9.458-10.65A5.5 5.5 0 1 1 17.5 18l-.5.001zm-8-2h2v4H9v-4zm4 3h2v4h-2v-4z\"}}]}]})(props);\n};\nexport function RiEarthquakeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.327 1.612a1 1 0 0 1 1.246-.08l.1.08L23 11h-3v9a1 1 0 0 1-.883.993L19 21h-6.5l2.5-4-3.5-3 4-3L13 9l.5-3-3 3 2.5 2-5 3 3.75 3.5L8.5 21H5a1 1 0 0 1-.993-.883L4 20v-9H1l10.327-9.388z\"}}]}]})(props);\n};\nexport function RiEarthquakeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M5 21a1 1 0 0 1-.993-.883L4 20v-9H1l10.327-9.388a1 1 0 0 1 1.246-.08l.1.08L23 11h-3v9a1 1 0 0 1-.883.993L19 21H5zm7-17.298L6 9.156V19h4.357l1.393-1.5L8 14l5-3-2.5-2 3-3-.5 3 2.5 2-4 3 3.5 3-1.25 2H18V9.157l-6-5.455z\"}}]}]})(props);\n};\nexport function RiFahrenheitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h7v2h-7v7h-2V8a4 4 0 0 1 4-4h7v2h-7a2 2 0 0 0-2 2v4zm-7.5-2a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiFahrenheitLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12h7v2h-7v7h-2V8a4 4 0 0 1 4-4h7v2h-7a2 2 0 0 0-2 2v4zm-7.5-2a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7zm0-2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]}]})(props);\n};\nexport function RiFireFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 23a7.5 7.5 0 0 1-5.138-12.963C8.204 8.774 11.5 6.5 11 1.5c6 4 9 8 3 14 1 0 2.5 0 5-2.47.27.773.5 1.604.5 2.47A7.5 7.5 0 0 1 12 23z\"}}]}]})(props);\n};\nexport function RiFireLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 23a7.5 7.5 0 0 0 7.5-7.5c0-.866-.23-1.697-.5-2.47-1.667 1.647-2.933 2.47-3.8 2.47 3.995-7 1.8-10-4.2-14 .5 5-2.796 7.274-4.138 8.537A7.5 7.5 0 0 0 12 23zm.71-17.765c3.241 2.75 3.257 4.887.753 9.274-.761 1.333.202 2.991 1.737 2.991.688 0 1.384-.2 2.119-.595a5.5 5.5 0 1 1-9.087-5.412c.126-.118.765-.685.793-.71.424-.38.773-.717 1.118-1.086 1.23-1.318 2.114-2.78 2.566-4.462z\"}}]}]})(props);\n};\nexport function RiFlashlightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10h7l-9 13v-9H4l9-13z\"}}]}]})(props);\n};\nexport function RiFlashlightLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M13 9h8L11 24v-9H4l9-15v9zm-2 2V7.22L7.532 13H13v4.394L17.263 11H11z\"}}]}]})(props);\n};\nexport function RiFloodFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17.472A5.978 5.978 0 0 0 20 19h2v2h-2a7.963 7.963 0 0 1-4-1.07A7.96 7.96 0 0 1 12 21a7.963 7.963 0 0 1-4-1.07A7.96 7.96 0 0 1 4 21H2v-2h2c1.537 0 2.94-.578 4-1.528A5.978 5.978 0 0 0 12 19c1.537 0 2.94-.578 4-1.528zm-3.427-15.94l.1.08L23 11h-3v6a4.992 4.992 0 0 1-4-2 4.99 4.99 0 0 1-4 2 4.992 4.992 0 0 1-4-2 4.99 4.99 0 0 1-4 2l-.001-6H1l10.327-9.388a1 1 0 0 1 1.14-.145l.106.065z\"}}]}]})(props);\n};\nexport function RiFloodLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16 17.472A5.978 5.978 0 0 0 20 19h2v2h-2a7.963 7.963 0 0 1-4-1.07A7.96 7.96 0 0 1 12 21a7.963 7.963 0 0 1-4-1.07A7.96 7.96 0 0 1 4 21H2v-2h2c1.537 0 2.94-.578 4-1.528A5.978 5.978 0 0 0 12 19c1.537 0 2.94-.578 4-1.528zm-3.427-15.94l.1.08L23 11h-3v6a5.99 5.99 0 0 1-2-.341V9.157l-6-5.455-6 5.454.001 7.502a5.978 5.978 0 0 1-1.702.335L4 17v-6H1l10.327-9.388a1 1 0 0 1 1.246-.08z\"}}]}]})(props);\n};\nexport function RiFoggyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.584 13.007a8 8 0 0 1 14.873-5.908 5.5 5.5 0 0 1 6.52 5.908H1.584zM4 19h17v2H4v-2zm-2-4h21v2H2v-2z\"}}]}]})(props);\n};\nexport function RiFoggyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.584 13.007a8 8 0 0 1 14.873-5.908 5.5 5.5 0 0 1 6.52 5.908h-2.013A3.5 3.5 0 0 0 15 10.05V10a6 6 0 1 0-11.193 3.007H1.584zM4 19h17v2H4v-2zm-2-4h21v2H2v-2z\"}}]}]})(props);\n};\nexport function RiHailFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.995 17.794a4 4 0 0 0-5.085-3.644A4.001 4.001 0 0 0 6 15c0 1.08.428 2.059 1.122 2.778a8 8 0 1 1 9.335-10.68 5.5 5.5 0 0 1 2.537 10.696zM10 17a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5 3a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-5 3a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiHailLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 17.418A8.003 8.003 0 0 1 9 2a8.003 8.003 0 0 1 7.458 5.099A5.5 5.5 0 0 1 19 17.793v-2.13a3.5 3.5 0 1 0-4-5.612V10a6 6 0 1 0-9 5.197v2.221zM10 17a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm5 3a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm-5 3a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]}]})(props);\n};\nexport function RiHaze2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm7.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-15 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM17 7a5 5 0 0 1 0 10c-1.844 0-3.51-1.04-5-3.122C10.51 15.96 8.844 17 7 17A5 5 0 0 1 7 7c1.844 0 3.51 1.04 5 3.122C13.49 8.04 15.156 7 17 7zm-5-5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM4.5 2a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm15 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z\"}}]}]})(props);\n};\nexport function RiHaze2Line (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 19a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm7.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-15 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM17 7a5 5 0 0 1 0 10c-1.844 0-3.51-1.04-5-3.122C10.51 15.96 8.844 17 7 17A5 5 0 0 1 7 7c1.844 0 3.51 1.04 5 3.122C13.49 8.04 15.156 7 17 7zM7 9a3 3 0 0 0 0 6c1.254 0 2.51-.875 3.759-2.854l.089-.147-.09-.145c-1.197-1.896-2.4-2.78-3.601-2.85L7 9zm10 0c-1.254 0-2.51.875-3.759 2.854l-.09.146.09.146c1.198 1.896 2.4 2.78 3.602 2.85L17 15a3 3 0 0 0 0-6zm-5-7a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zM4.5 2a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm15 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z\"}}]}]})(props);\n};\nexport function RiHazeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.083 13a6 6 0 1 1 11.834 0H6.083zM2 15h10v2H2v-2zm12 0h8v2h-8v-2zm2 4h4v2h-4v-2zM4 19h10v2H4v-2zm7-18h2v3h-2V1zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM19.07 3.515l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z\"}}]}]})(props);\n};\nexport function RiHazeLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.083 13a6 6 0 1 1 11.834 0h-2.043a4 4 0 1 0-7.748 0H6.083zM2 15h10v2H2v-2zm12 0h8v2h-8v-2zm2 4h4v2h-4v-2zM4 19h10v2H4v-2zm7-18h2v3h-2V1zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM19.07 3.515l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z\"}}]}]})(props);\n};\nexport function RiHeavyShowersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 18v5h-2v-5H9v3H7v-3.252a8 8 0 1 1 9.458-10.65A5.5 5.5 0 1 1 17.5 18l-.5.001v3h-2v-3h-2z\"}}]}]})(props);\n};\nexport function RiHeavyShowersLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16.93a8 8 0 1 1 11.458-9.831A5.5 5.5 0 0 1 19 17.793v-2.13a3.5 3.5 0 1 0-4-5.612V10a6 6 0 1 0-10 4.472v2.458zM7 14h2v6H7v-6zm8 0h2v6h-2v-6zm-4 3h2v6h-2v-6z\"}}]}]})(props);\n};\nexport function RiMeteorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 1v12A9 9 0 1 1 7.375 5.278L14 1.453v2.77L21 1zm-9 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10z\"}}]}]})(props);\n};\nexport function RiMeteorLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M21 1v12A9 9 0 1 1 7.375 5.278L14 1.453v2.77L21 1zm-2 3.122l-7 3.224v-2.43L8.597 6.881a6.997 6.997 0 0 0-3.592 5.845L5 13a7 7 0 0 0 13.996.24L19 13V4.122zM12 8a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z\"}}]}]})(props);\n};\nexport function RiMistFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4h4v2H4V4zm12 15h4v2h-4v-2zM2 9h10v2H2V9zm12 0h6v2h-6V9zM4 14h6v2H4v-2zm8 0h10v2H12v-2zM10 4h12v2H10V4zM2 19h12v2H2v-2z\"}}]}]})(props);\n};\nexport function RiMistLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4h4v2H4V4zm12 15h4v2h-4v-2zM2 9h5v2H2V9zm7 0h3v2H9V9zm5 0h6v2h-6V9zM4 14h6v2H4v-2zm8 0h3v2h-3v-2zm5 0h5v2h-5v-2zM10 4h12v2H10V4zM2 19h12v2H2v-2z\"}}]}]})(props);\n};\nexport function RiMoonClearFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.822 2.238a9 9 0 0 0 11.94 11.94C20.768 18.654 16.775 22 12 22 6.477 22 2 17.523 2 12c0-4.775 3.346-8.768 7.822-9.762zm8.342.053L19 2.5v1l-.836.209a2 2 0 0 0-1.455 1.455L16.5 6h-1l-.209-.836a2 2 0 0 0-1.455-1.455L13 3.5v-1l.836-.209A2 2 0 0 0 15.29.836L15.5 0h1l.209.836a2 2 0 0 0 1.455 1.455zm5 5L24 7.5v1l-.836.209a2 2 0 0 0-1.455 1.455L21.5 11h-1l-.209-.836a2 2 0 0 0-1.455-1.455L18 8.5v-1l.836-.209a2 2 0 0 0 1.455-1.455L20.5 5h1l.209.836a2 2 0 0 0 1.455 1.455z\"}}]}]})(props);\n};\nexport function RiMoonClearLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10 6a8 8 0 0 0 11.955 6.956C21.474 18.03 17.2 22 12 22 6.477 22 2 17.523 2 12c0-5.2 3.97-9.474 9.044-9.955A7.963 7.963 0 0 0 10 6zm-6 6a8 8 0 0 0 8 8 8.006 8.006 0 0 0 6.957-4.045c-.316.03-.636.045-.957.045-5.523 0-10-4.477-10-10 0-.321.015-.64.045-.957A8.006 8.006 0 0 0 4 12zm14.164-9.709L19 2.5v1l-.836.209a2 2 0 0 0-1.455 1.455L16.5 6h-1l-.209-.836a2 2 0 0 0-1.455-1.455L13 3.5v-1l.836-.209A2 2 0 0 0 15.29.836L15.5 0h1l.209.836a2 2 0 0 0 1.455 1.455zm5 5L24 7.5v1l-.836.209a2 2 0 0 0-1.455 1.455L21.5 11h-1l-.209-.836a2 2 0 0 0-1.455-1.455L18 8.5v-1l.836-.209a2 2 0 0 0 1.455-1.455L20.5 5h1l.209.836a2 2 0 0 0 1.455 1.455z\"}}]}]})(props);\n};\nexport function RiMoonCloudyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.67 5.007a7 7 0 0 1 7.55-3.901 4.5 4.5 0 0 0 5.674 5.674c.07.396.106.804.106 1.22a6.969 6.969 0 0 1-.865 3.373A5.5 5.5 0 0 1 17.5 21H9a8 8 0 0 1-.33-15.993zm2.177.207a8.016 8.016 0 0 1 5.61 4.885 5.529 5.529 0 0 1 2.96.245c.226-.425.393-.885.488-1.37a6.502 6.502 0 0 1-5.878-5.88 5.003 5.003 0 0 0-3.18 2.12z\"}}]}]})(props);\n};\nexport function RiMoonCloudyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.67 5.007a7 7 0 0 1 7.55-3.901 4.5 4.5 0 0 0 5.674 5.674c.07.396.106.804.106 1.22a6.969 6.969 0 0 1-.865 3.373A5.5 5.5 0 0 1 17.5 21H9a8 8 0 0 1-.33-15.993zm2.177.207a8.016 8.016 0 0 1 5.61 4.885 5.529 5.529 0 0 1 2.96.245c.226-.425.393-.885.488-1.37a6.502 6.502 0 0 1-5.878-5.88 5.003 5.003 0 0 0-3.18 2.12zM17.5 19a3.5 3.5 0 1 0-2.5-5.95V13a6 6 0 1 0-6 6h8.5z\"}}]}]})(props);\n};\nexport function RiMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.38 2.019a7.5 7.5 0 1 0 10.6 10.6C21.662 17.854 17.316 22 12.001 22 6.477 22 2 17.523 2 12c0-5.315 4.146-9.661 9.38-9.981z\"}}]}]})(props);\n};\nexport function RiMoonFoggyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16 20.334V18h-2v-4H3.332A9.511 9.511 0 0 1 3 11.5c0-4.56 3.213-8.37 7.5-9.289a8 8 0 0 0 11.49 9.724 9.505 9.505 0 0 1-5.99 8.4zM7 20h7v2H7v-2zm-5-4h10v2H2v-2z\"}}]}]})(props);\n};\nexport function RiMoonFoggyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M16 20.334v-2.199a7.522 7.522 0 0 0 3.623-4.281 9 9 0 0 1-10.622-8.99A7.518 7.518 0 0 0 5.151 10H3.117a9.505 9.505 0 0 1 8.538-7.963 7 7 0 0 0 10.316 8.728A9.503 9.503 0 0 1 16 20.335zM7 20h7v2H7v-2zm-3-8h6v2H4v-2zm-2 4h10v2H2v-2z\"}}]}]})(props);\n};\nexport function RiMoonLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z\"}}]}]})(props);\n};\nexport function RiRainbowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c6.075 0 11 4.925 11 11v5h-3v-5a8 8 0 0 0-7.75-7.996L12 7a8 8 0 0 0-7.996 7.75L4 15v5H1v-5C1 8.925 5.925 4 12 4zm0 4a7 7 0 0 1 7 7v5h-3v-5a4 4 0 0 0-3.8-3.995L12 11a4 4 0 0 0-3.995 3.8L8 15v5H5v-5a7 7 0 0 1 7-7zm0 4a3 3 0 0 1 3 3v5H9v-5a3 3 0 0 1 3-3z\"}}]}]})(props);\n};\nexport function RiRainbowLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4c6.075 0 11 4.925 11 11v5h-2v-5a9 9 0 0 0-8.735-8.996L12 6a9 9 0 0 0-8.996 8.735L3 15v5H1v-5C1 8.925 5.925 4 12 4zm0 4a7 7 0 0 1 7 7v5h-2v-5a5 5 0 0 0-4.783-4.995L12 10a5 5 0 0 0-4.995 4.783L7 15v5H5v-5a7 7 0 0 1 7-7zm0 4a3 3 0 0 1 3 3v5h-2v-5a1 1 0 0 0-.883-.993L12 14a1 1 0 0 0-.993.883L11 15v5H9v-5a3 3 0 0 1 3-3z\"}}]}]})(props);\n};\nexport function RiRainyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.86 18l-3.153-3.153a1 1 0 0 0-1.414 0L8.18 17.96A8.001 8.001 0 1 1 15.98 6.087 6 6 0 1 1 17 18h-1.139zm-5.628.732L12 16.964l1.768 1.768a2.5 2.5 0 1 1-3.536 0z\"}}]}]})(props);\n};\nexport function RiRainyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 18v-2h1a4 4 0 1 0-2.157-7.37A6 6 0 1 0 8 15.917v2.022A8.001 8.001 0 0 1 9 2a7.998 7.998 0 0 1 6.98 4.087A6 6 0 1 1 17 18h-1zm-5.768.732L12 16.964l1.768 1.768a2.5 2.5 0 1 1-3.536 0z\"}}]}]})(props);\n};\nexport function RiShowersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 18H9v3H7v-3.252a8 8 0 1 1 9.458-10.65A5.5 5.5 0 1 1 17.5 18l-.5.001v3h-2v-3zm-4 2h2v3h-2v-3z\"}}]}]})(props);\n};\nexport function RiShowersLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16.93a8 8 0 1 1 11.458-9.831A5.5 5.5 0 0 1 19 17.793v-2.13a3.5 3.5 0 1 0-4-5.612V10a6 6 0 1 0-10 4.472v2.458zM7 16h2v4H7v-4zm8 0h2v4h-2v-4zm-4 3h2v4h-2v-4z\"}}]}]})(props);\n};\nexport function RiSnowyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.027 17.43A8.003 8.003 0 0 1 9 2a8.003 8.003 0 0 1 7.458 5.099A5.5 5.5 0 0 1 18 17.978a6 6 0 0 0-11.973-.549zM13 16.267l1.964-1.134 1 1.732L14 18l1.964 1.134-1 1.732L13 19.732V22h-2v-2.268l-1.964 1.134-1-1.732L10 18l-1.964-1.134 1-1.732L11 16.268V14h2v2.268z\"}}]}]})(props);\n};\nexport function RiSnowyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16.268l1.964-1.134 1 1.732L14 18l1.964 1.134-1 1.732L13 19.732V22h-2v-2.268l-1.964 1.134-1-1.732L10 18l-1.964-1.134 1-1.732L11 16.268V14h2v2.268zM17 18v-2h.5a3.5 3.5 0 1 0-2.5-5.95V10a6 6 0 1 0-8 5.659v2.089a8 8 0 1 1 9.458-10.65A5.5 5.5 0 1 1 17.5 18l-.5.001z\"}}]}]})(props);\n};\nexport function RiSunCloudyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.984 5.06a6.5 6.5 0 1 1 11.286 6.436A5.5 5.5 0 0 1 17.5 21L9 20.999a8 8 0 1 1 .984-15.94zm2.071.544a8.026 8.026 0 0 1 4.403 4.495 5.529 5.529 0 0 1 3.12.307 4.5 4.5 0 0 0-7.522-4.802z\"}}]}]})(props);\n};\nexport function RiSunCloudyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.984 5.06a6.5 6.5 0 1 1 11.286 6.436A5.5 5.5 0 0 1 17.5 21L9 20.999a8 8 0 1 1 .984-15.94zm2.071.544a8.026 8.026 0 0 1 4.403 4.495 5.529 5.529 0 0 1 3.12.307 4.5 4.5 0 0 0-7.522-4.802zM17.5 19a3.5 3.5 0 1 0-2.5-5.95V13a6 6 0 1 0-6 6h8.5z\"}}]}]})(props);\n};\nexport function RiSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z\"}}]}]})(props);\n};\nexport function RiSunFoggyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.341 14A6 6 0 1 1 12 18v-4H6.341zM6 20h9v2H6v-2zm-5-9h3v2H1v-2zm1 5h8v2H2v-2zm9-15h2v3h-2V1zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiSunFoggyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12h2v2H4v-2h2a6 6 0 1 1 6 6v-2a4 4 0 1 0-4-4zm-2 8h9v2H6v-2zm-4-4h8v2H2v-2zm9-15h2v3h-2V1zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3z\"}}]}]})(props);\n};\nexport function RiSunLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z\"}}]}]})(props);\n};\nexport function RiTempColdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10.255V5a4 4 0 1 1 8 0v5.255a7 7 0 1 1-8 0zM8 16a4 4 0 1 0 8 0H8z\"}}]}]})(props);\n};\nexport function RiTempColdLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8 5a4 4 0 1 1 8 0v5.255a7 7 0 1 1-8 0V5zm1.144 6.895a5 5 0 1 0 5.712 0L14 11.298V5a2 2 0 1 0-4 0v6.298l-.856.597zM8 16h8a4 4 0 1 1-8 0z\"}}]}]})(props);\n};\nexport function RiTempHotFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10.255V5a4 4 0 1 1 8 0v5.255a7 7 0 1 1-8 0zm3 1.871A4.002 4.002 0 0 0 12 20a4 4 0 0 0 1-7.874V5h-2v7.126z\"}}]}]})(props);\n};\nexport function RiTempHotLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M8 5a4 4 0 1 1 8 0v5.255a7 7 0 1 1-8 0V5zm1.144 6.895a5 5 0 1 0 5.712 0L14 11.298V5a2 2 0 1 0-4 0v6.298l-.856.597zm1.856.231V5h2v7.126A4.002 4.002 0 0 1 12 20a4 4 0 0 1-1-7.874zM12 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}}]}]})(props);\n};\nexport function RiThunderstormsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.988 18l1.216-1.58a1.5 1.5 0 0 0-1.189-2.415H15v-3.976a1.5 1.5 0 0 0-2.69-.914l-6.365 8.281A8.002 8.002 0 0 1 9 2a8.003 8.003 0 0 1 7.458 5.099A5.5 5.5 0 1 1 17.5 18h-.512zM13 16.005h3l-5 6.5v-4.5H8l5-6.505v4.505z\"}}]}]})(props);\n};\nexport function RiThunderstormsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18v-2h.5a3.5 3.5 0 1 0-2.5-5.95V10a6 6 0 1 0-8 5.659v2.089a8 8 0 1 1 9.458-10.65A5.5 5.5 0 1 1 17.5 18l-.5.001zm-4-1.995h3l-5 6.5v-4.5H8l5-6.505v4.505z\"}}]}]})(props);\n};\nexport function RiTornadoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h20v2H2V3zm2 4h16v2H4V7zm4 4h14v2H8v-2zm2 4h8v2h-8v-2zm-2 4h6v2H8v-2z\"}}]}]})(props);\n};\nexport function RiTornadoLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h20v2H2V3zm2 4h16v2H4V7zm4 4h14v2H8v-2zm2 4h8v2h-8v-2zm-2 4h6v2H8v-2z\"}}]}]})(props);\n};\nexport function RiTyphoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.654 1.7l-2.782 2.533a9.137 9.137 0 0 1 3.49 1.973c3.512 3.2 3.512 8.388 0 11.588-2.592 2.36-6.598 3.862-12.016 4.506l2.782-2.533a9.137 9.137 0 0 1-3.49-1.973c-3.512-3.2-3.533-8.369 0-11.588C8.23 3.846 12.237 2.344 17.655 1.7zM12 8c-2.485 0-4.5 1.79-4.5 4s2.015 4 4.5 4 4.5-1.79 4.5-4-2.015-4-4.5-4z\"}}]}]})(props);\n};\nexport function RiTyphoonLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.654 1.7l-2.782 2.533a9.137 9.137 0 0 1 3.49 1.973c3.512 3.2 3.512 8.388 0 11.588-2.592 2.36-6.598 3.862-12.016 4.506l2.782-2.533a9.137 9.137 0 0 1-3.49-1.973c-3.512-3.2-3.533-8.369 0-11.588C8.23 3.846 12.237 2.344 17.655 1.7zM12 6c-3.866 0-7 2.686-7 6s3.134 6 7 6 7-2.686 7-6-3.134-6-7-6zm0 2.3c2.21 0 4 1.657 4 3.7s-1.79 3.7-4 3.7-4-1.657-4-3.7 1.79-3.7 4-3.7zm0 2c-1.138 0-2 .797-2 1.7 0 .903.862 1.7 2 1.7s2-.797 2-1.7c0-.903-.862-1.7-2-1.7z\"}}]}]})(props);\n};\nexport function RiWindyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 17H4v-2h6.5a3.5 3.5 0 1 1-3.278 4.73l1.873-.703A1.5 1.5 0 1 0 10.5 17zM5 11h13.5a3.5 3.5 0 1 1-3.278 4.73l1.873-.703A1.5 1.5 0 1 0 18.5 13H5a3 3 0 0 1 0-6h8.5a1.5 1.5 0 1 0-1.405-2.027l-1.873-.702A3.501 3.501 0 0 1 17 5.5 3.5 3.5 0 0 1 13.5 9H5a1 1 0 1 0 0 2z\"}}]}]})(props);\n};\nexport function RiWindyLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M0 0h24v24H0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 17H4v-2h6.5a3.5 3.5 0 1 1-3.278 4.73l1.873-.703A1.5 1.5 0 1 0 10.5 17zM5 11h13.5a3.5 3.5 0 1 1-3.278 4.73l1.873-.703A1.5 1.5 0 1 0 18.5 13H5a3 3 0 0 1 0-6h8.5a1.5 1.5 0 1 0-1.405-2.027l-1.873-.702A3.501 3.501 0 0 1 17 5.5 3.5 3.5 0 0 1 13.5 9H5a1 1 0 1 0 0 2z\"}}]}]})(props);\n};\n","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function BsFillAlarmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z\"}}]})(props);\n};\nexport function BsFillArchiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z\"}}]})(props);\n};\nexport function BsFillArrowDownCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsFillArrowDownLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z\"}}]})(props);\n};\nexport function BsFillArrowDownLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z\"}}]})(props);\n};\nexport function BsFillArrowDownRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z\"}}]})(props);\n};\nexport function BsFillArrowDownRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z\"}}]})(props);\n};\nexport function BsFillArrowDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillArrowLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsFillArrowLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12zm-4.5-6.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H11.5a.5.5 0 0 0 0-1z\"}}]})(props);\n};\nexport function BsFillArrowRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsFillArrowRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12zm4.5-6.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillArrowUpCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsFillArrowUpLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsFillArrowUpLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm8.096 10.803L6 6.707v2.768a.5.5 0 0 1-1 0V5.5a.5.5 0 0 1 .5-.5h3.975a.5.5 0 1 1 0 1H6.707l4.096 4.096a.5.5 0 1 1-.707.707z\"}}]})(props);\n};\nexport function BsFillArrowUpRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8zm5.904 2.803a.5.5 0 1 1-.707-.707L9.293 6H6.525a.5.5 0 1 1 0-1H10.5a.5.5 0 0 1 .5.5v3.975a.5.5 0 0 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsFillArrowUpRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM5.904 10.803 10 6.707v2.768a.5.5 0 0 0 1 0V5.5a.5.5 0 0 0-.5-.5H6.525a.5.5 0 1 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 .707.707z\"}}]})(props);\n};\nexport function BsFillArrowUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm6.5-4.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 1 0z\"}}]})(props);\n};\nexport function BsFillAspectRatioFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5v-9A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM2.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1h-3zm11 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0V11h-2.5a.5.5 0 0 0 0 1h3z\"}}]})(props);\n};\nexport function BsFillAwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsFillBackspaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.683 3a2 2 0 0 0-2-2h-7.08a2 2 0 0 0-1.519.698L.241 7.35a1 1 0 0 0 0 1.302l4.843 5.65A2 2 0 0 0 6.603 15h7.08a2 2 0 0 0 2-2V3zM5.829 5.854a.5.5 0 1 1 .707-.708l2.147 2.147 2.146-2.147a.5.5 0 1 1 .707.708L9.39 8l2.146 2.146a.5.5 0 0 1-.707.708L8.683 8.707l-2.147 2.147a.5.5 0 0 1-.707-.708L7.976 8 5.829 5.854z\"}}]})(props);\n};\nexport function BsFillBackspaceReverseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h7.08a2 2 0 0 1 1.519.698l4.843 5.651a1 1 0 0 1 0 1.302L10.6 14.3a2 2 0 0 1-1.52.7H2a2 2 0 0 1-2-2V3zm9.854 2.854a.5.5 0 0 0-.708-.708L7 7.293 4.854 5.146a.5.5 0 1 0-.708.708L6.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L7 8.707l2.146 2.147a.5.5 0 0 0 .708-.708L7.707 8l2.147-2.146z\"}}]})(props);\n};\nexport function BsFillBadge3DFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914h.663zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126V11z\"}}]})(props);\n};\nexport function BsFillBadge4KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.577 8.9v.03h1.828V5.898h-.062a46.781 46.781 0 0 0-1.766 3.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm2.372 3.715.435-.714h1.71v3.93h.733v.957h-.733V11H5.405V9.888H2.5v-.971c.574-1.077 1.225-2.142 1.872-3.202zm7.73-.714h1.306l-2.14 2.584L13.5 11h-1.428l-1.679-2.624-.615.7V11H8.59V5.001h1.187v2.686h.057L12.102 5z\"}}]})(props);\n};\nexport function BsFillBadge8KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.9 6.605c0 .51.405.866.95.866.545 0 .945-.356.945-.866s-.4-.852-.945-.852c-.545 0-.95.343-.95.852zm-.192 2.668c0 .589.492.984 1.142.984.646 0 1.143-.395 1.143-.984S5.496 8.28 4.85 8.28c-.65 0-1.142.404-1.142.993z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.17 7.348c0 1.041-.927 1.766-2.333 1.766-1.406 0-2.312-.72-2.312-1.762 0-.954.712-1.384 1.257-1.494v-.053c-.51-.154-1.02-.558-1.02-1.331 0-.914.831-1.587 2.088-1.587 1.253 0 2.083.673 2.083 1.587 0 .782-.523 1.182-1.02 1.331v.053c.545.11 1.257.545 1.257 1.49zM12.102 5h1.306l-2.14 2.584 2.232 3.415h-1.428l-1.679-2.624-.615.699v1.925H8.59V5h1.187v2.685h.057L12.102 5z\"}}]})(props);\n};\nexport function BsFillBadgeAdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.35 8.337c0-.699-.42-1.138-1.001-1.138-.584 0-.954.444-.954 1.239v.453c0 .8.374 1.248.972 1.248.588 0 .984-.44.984-1.2v-.602zm-5.413.237-.734-2.426H5.15l-.734 2.426h1.52z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm6.209 6.32c0-1.28.694-2.044 1.753-2.044.655 0 1.156.294 1.336.769h.053v-2.36h1.16V11h-1.138v-.747h-.057c-.145.474-.69.804-1.367.804-1.055 0-1.74-.764-1.74-2.043v-.695zm-4.04 1.138L3.7 11H2.5l2.013-5.999H5.9L7.905 11H6.644l-.47-1.542H4.17z\"}}]})(props);\n};\nexport function BsFillBadgeArFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.031 8.574-.734-2.426h-.052L4.51 8.574h1.52zm3.642-2.641v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm4.265 5.458h2.004L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2l.47-1.542zM8.5 5v6h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeCcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.027 4.002c-.83 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05H7.36v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747C2.5 6.051 3.414 5 5.018 5c1.318 0 2.29.813 2.342 2v.11H6.213c-.048-.638-.505-1.108-1.186-1.108zm6.14 0c-.831 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.318 1.727.69 0 1.139-.435 1.187-1.05H13.5v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.751 2.518-2.751 1.318 0 2.29.813 2.342 2v.11h-1.147c-.048-.638-.505-1.108-1.187-1.108z\"}}]})(props);\n};\nexport function BsFillBadgeHdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.53 5.968h-.843v4.06h.843c1.117 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.396 3.001V11H6.209V8.43H3.687V11H2.5V5.001h1.187v2.44h2.522V5h1.187zM8.5 11V5.001h2.188c1.824 0 2.685 1.09 2.685 2.984C13.373 9.893 12.5 11 10.69 11H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeTmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.295 3.995V11H4.104V5.995h-1.7V5H7v.994H5.295zM8.692 7.01V11H7.633V5.001h1.209l1.71 3.894h.039l1.71-3.894H13.5V11h-1.072V7.01h-.057l-1.42 3.239h-.773L8.75 7.008h-.058z\"}}]})(props);\n};\nexport function BsFillBadgeVoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.296 8.394v-.782c0-1.156-.571-1.736-1.362-1.736-.796 0-1.363.58-1.363 1.736v.782c0 1.156.567 1.732 1.363 1.732.79 0 1.362-.576 1.362-1.732z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm11.5 5.62v.77c0 1.691-.962 2.724-2.566 2.724-1.604 0-2.571-1.033-2.571-2.724v-.77c0-1.704.967-2.733 2.57-2.733 1.605 0 2.567 1.037 2.567 2.734zM5.937 11H4.508L2.5 5.001h1.375L5.22 9.708h.057L6.61 5.001h1.318L5.937 11z\"}}]})(props);\n};\nexport function BsFillBadgeVrFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.673 5.933v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.937 7 1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11h1.429zM8.5 5.001V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsFillBadgeWcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.666 1.89c.682 0 1.139.47 1.187 1.107H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754zm-6.188.926h.044L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005l1.02-4.184z\"}}]})(props);\n};\nexport function BsFillBagCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zm-.646 5.354a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillBagDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6 9.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillBagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5z\"}}]})(props);\n};\nexport function BsFillBagPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM8.5 8a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V12a.5.5 0 0 0 1 0v-1.5H10a.5.5 0 0 0 0-1H8.5V8z\"}}]})(props);\n};\nexport function BsFillBagXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6.854 8.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsFillBarChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsFillBarChartLineFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2z\"}}]})(props);\n};\nexport function BsFillBasketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.071 1.243a.5.5 0 0 1 .858.514L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6h1.717L5.07 1.243zM3.5 10.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3z\"}}]})(props);\n};\nexport function BsFillBasket2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.929 1.757a.5.5 0 1 0-.858-.514L2.217 6H.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h.623l1.844 6.456A.75.75 0 0 0 3.69 15h8.622a.75.75 0 0 0 .722-.544L14.877 8h.623a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1.717L10.93 1.243a.5.5 0 1 0-.858.514L12.617 6H3.383L5.93 1.757zM4 10a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm4-1a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillBasket3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.468 15.426.943 9h14.114l-1.525 6.426a.75.75 0 0 1-.729.574H3.197a.75.75 0 0 1-.73-.574z\"}}]})(props);\n};\nexport function BsFillBellFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z\"}}]})(props);\n};\nexport function BsFillBellSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-1.5-1-2-5.902-2-7 0-.264-.02-.523-.06-.776L5.164 14zm6.288-10.617A4.988 4.988 0 0 0 8.995 2.1a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 7c0 .898-.335 4.342-1.278 6.113l9.73-9.73zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsFillBinocularsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1A1.5 1.5 0 0 0 3 2.5V3h4v-.5A1.5 1.5 0 0 0 5.5 1h-1zM7 4v1h2V4h4v.882a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V13H9v-1.5a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5V13H1V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V4h4zM1 14v.5A1.5 1.5 0 0 0 2.5 16h3A1.5 1.5 0 0 0 7 14.5V14H1zm8 0v.5a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5V14H9zm4-11H9v-.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5V3z\"}}]})(props);\n};\nexport function BsFillBookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsFillBookmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm8.854-9.646a.5.5 0 0 0-.708-.708L7.5 7.793 6.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillBookmarkDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z\"}}]})(props);\n};\nexport function BsFillBookmarkHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13.5zM8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}}]})(props);\n};\nexport function BsFillBookmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm6.5-11a.5.5 0 0 0-1 0V6H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V7H10a.5.5 0 0 0 0-1H8.5V4.5z\"}}]})(props);\n};\nexport function BsFillBookmarkStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM8.16 4.1a.178.178 0 0 0-.32 0l-.634 1.285a.178.178 0 0 1-.134.098l-1.42.206a.178.178 0 0 0-.098.303L6.58 6.993c.042.041.061.1.051.158L6.39 8.565a.178.178 0 0 0 .258.187l1.27-.668a.178.178 0 0 1 .165 0l1.27.668a.178.178 0 0 0 .257-.187L9.368 7.15a.178.178 0 0 1 .05-.158l1.028-1.001a.178.178 0 0 0-.098-.303l-1.42-.206a.178.178 0 0 1-.134-.098L8.16 4.1z\"}}]})(props);\n};\nexport function BsFillBookmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6.854 5.146a.5.5 0 1 0-.708.708L7.293 7 6.146 8.146a.5.5 0 1 0 .708.708L8 7.707l1.146 1.147a.5.5 0 1 0 .708-.708L8.707 7l1.147-1.146a.5.5 0 0 0-.708-.708L8 6.293 6.854 5.146z\"}}]})(props);\n};\nexport function BsFillBookmarksFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1A2 2 0 0 1 6 0h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L13 13.768V2a1 1 0 0 0-1-1H4.268z\"}}]})(props);\n};\nexport function BsFillBootstrapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.375 7.125V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H6.375v2.725z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.002 0a4 4 0 0 0-4 4v8a4 4 0 0 0 4 4h8a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4h-8zm1.06 12V3.545h3.399c1.587 0 2.543.809 2.543 2.11 0 .884-.65 1.675-1.483 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396H5.062z\"}}]})(props);\n};\nexport function BsFillBriefcaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85L8.129 8.947a.5.5 0 0 1-.258 0L0 6.85v5.65z\"}}]})(props);\n};\nexport function BsFillBrightnessAltHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsFillBrightnessAltLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsFillBrightnessHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsFillBrightnessLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsFillBrushFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04z\"}}]})(props);\n};\nexport function BsFillBucketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527z\"}}]})(props);\n};\nexport function BsFillBugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.978.855a.5.5 0 1 0-.956.29l.41 1.352A4.985 4.985 0 0 0 3 6h10a4.985 4.985 0 0 0-1.432-3.503l.41-1.352a.5.5 0 1 0-.956-.29l-.291.956A4.978 4.978 0 0 0 8 1a4.979 4.979 0 0 0-2.731.811l-.29-.956z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6v1H8.5v8.975A5 5 0 0 0 13 11h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 1 0 1 0v-.5a1.5 1.5 0 0 0-1.5-1.5H13V9h1.5a.5.5 0 0 0 0-1H13V7h.5A1.5 1.5 0 0 0 15 5.5V5a.5.5 0 0 0-1 0v.5a.5.5 0 0 1-.5.5H13zm-5.5 9.975V7H3V6h-.5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 0-1 0v.5A1.5 1.5 0 0 0 2.5 7H3v1H1.5a.5.5 0 0 0 0 1H3v1h-.5A1.5 1.5 0 0 0 1 11.5v.5a.5.5 0 1 0 1 0v-.5a.5.5 0 0 1 .5-.5H3a5 5 0 0 0 4.5 4.975z\"}}]})(props);\n};\nexport function BsFillCalculatorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 .5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM4 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM7.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM7 9.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM10 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendarCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-5.146-5.146-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCalendarDateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm5.402 9.746c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-6.664-1.21c-1.11 0-1.656-.767-1.703-1.407h.683c.043.37.387.82 1.051.82.844 0 1.301-.848 1.305-2.164h-.027c-.153.414-.637.79-1.383.79-.852 0-1.676-.61-1.676-1.77 0-1.137.871-1.809 1.797-1.809 1.172 0 1.953.734 1.953 2.668 0 1.805-.742 2.871-2 2.871zm-2.89-5.435v5.332H5.77V8.079h-.012c-.29.156-.883.52-1.258.777V8.16a12.6 12.6 0 0 1 1.313-.805h.632z\"}}]})(props);\n};\nexport function BsFillCalendarDayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zm-4.785-6.145a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43c0 .238.192.425.43.425zm.336.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsFillCalendarEventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16V4H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCalendarMonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm.104 7.305L4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM2.56 12.332h-.71L3.748 7h.696l1.898 5.332h-.719l-.539-1.602H3.1l-.54 1.602zm7.29-4.105v4.105h-.668v-.539h-.027c-.145.324-.532.605-1.188.605-.847 0-1.453-.484-1.453-1.425V8.227h.676v2.554c0 .766.441 1.012.98 1.012.59 0 1.004-.371 1.004-1.023V8.227h.676zm1.273 4.41c.075.332.422.636.985.636.648 0 1.07-.378 1.07-1.023v-.605h-.02c-.163.355-.613.648-1.171.648-.957 0-1.64-.672-1.64-1.902v-.34c0-1.207.675-1.887 1.64-1.887.558 0 1.004.293 1.195.64h.02v-.577h.648v4.03c0 1.052-.816 1.579-1.746 1.579-1.043 0-1.574-.516-1.668-1.2h.687z\"}}]})(props);\n};\nexport function BsFillCalendarPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM8.5 8.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCalendarRangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 7V5H0v5h5a1 1 0 1 1 0 2H0v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9h-6a1 1 0 1 1 0-2h6z\"}}]})(props);\n};\nexport function BsFillCalendarWeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zM2 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillCalendarXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6.854 8.146 8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillCalendar2CheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.6 5.854a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsFillCalendar2DateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.402 10.246c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-4.118 9.79c1.258 0 2-1.067 2-2.872 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684c.047.64.594 1.406 1.703 1.406zm-2.89-5.435h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675V7.354z\"}}]})(props);\n};\nexport function BsFillCalendar2DayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.24 4.855a.428.428 0 1 0 0-.855.426.426 0 0 0-.429.43c0 .238.192.425.43.425zm.337.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsFillCalendar2EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendar2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM2.545 3h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5v-1c0-.276.244-.5.545-.5z\"}}]})(props);\n};\nexport function BsFillCalendar2MinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM6 10a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsFillCalendar2MonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.104 7.805 4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM2.561 12.332 3.1 10.73h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zM9.85 8.227h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm1.273 4.41h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023-.563 0-.91-.304-.985-.636z\"}}]})(props);\n};\nexport function BsFillCalendar2PlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 3.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5H2.545c-.3 0-.545.224-.545.5zm6.5 5a.5.5 0 0 0-1 0V10H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V11H10a.5.5 0 0 0 0-1H8.5V8.5z\"}}]})(props);\n};\nexport function BsFillCalendar2RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM10 7a1 1 0 0 0 0 2h5V7h-5zm-4 4a1 1 0 0 0-1-1H1v2h4a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsFillCalendar2WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM3 10.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsFillCalendar2XFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-6.6 5.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsFillCalendar3EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsFillCalendar3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2H0zm0 1v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3H0z\"}}]})(props);\n};\nexport function BsFillCalendar3RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 8V3h16v2h-6a1 1 0 1 0 0 2h6v7a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-4h6a1 1 0 1 0 0-2H0z\"}}]})(props);\n};\nexport function BsFillCalendar3WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0zM5 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm5-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM2 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsFillCameraFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2zm.5 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9 2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0z\"}}]})(props);\n};\nexport function BsFillCameraReelsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7z\"}}]})(props);\n};\nexport function BsFillCameraVideoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5z\"}}]})(props);\n};\nexport function BsFillCameraVideoOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l6.69 9.365zm-10.114-9A2.001 2.001 0 0 0 0 5v6a2 2 0 0 0 2 2h5.728L.847 3.366zm9.746 11.925-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsFillCapslockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM4.5 13.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsFillCaretDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\"}}]})(props);\n};\nexport function BsFillCaretDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 4a.5.5 0 0 0-.374.832l4 4.5a.5.5 0 0 0 .748 0l4-4.5A.5.5 0 0 0 12 6H4z\"}}]})(props);\n};\nexport function BsFillCaretLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"}}]})(props);\n};\nexport function BsFillCaretLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.5 10V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4A.5.5 0 0 0 10.5 12z\"}}]})(props);\n};\nexport function BsFillCaretRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\"}}]})(props);\n};\nexport function BsFillCaretRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.5 10a.5.5 0 0 0 .832.374l4.5-4a.5.5 0 0 0 0-.748l-4.5-4A.5.5 0 0 0 5.5 4v8z\"}}]})(props);\n};\nexport function BsFillCaretUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\"}}]})(props);\n};\nexport function BsFillCaretUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 9h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5A.5.5 0 0 0 4 11z\"}}]})(props);\n};\nexport function BsFillCartCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-1.646-7.646-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCartDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM6.5 7h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillCartPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM9 5.5V7h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-1 0V8H6.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCartXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7.354 5.646 8.5 6.793l1.146-1.147a.5.5 0 0 1 .708.708L9.207 7.5l1.147 1.146a.5.5 0 0 1-.708.708L8.5 8.207 7.354 9.354a.5.5 0 1 1-.708-.708L7.793 7.5 6.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillChatDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15z\"}}]})(props);\n};\nexport function BsFillChatLeftDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsFillChatLeftQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatLeftTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsFillChatQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM7.194 6.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 6C4.776 6 4 6.746 4 7.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 9.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 6c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatRightDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFillChatRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsFillChatRightQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM7.194 4.766c.087.124.163.26.227.401.428.948.393 2.377-.942 3.706a.446.446 0 0 1-.612.01.405.405 0 0 1-.011-.59c.419-.416.672-.831.809-1.22-.269.165-.588.26-.93.26C4.775 7.333 4 6.587 4 5.667 4 4.747 4.776 4 5.734 4c.271 0 .528.06.756.166l.008.004c.169.07.327.182.469.324.085.083.161.174.227.272zM11 7.073c-.269.165-.588.26-.93.26-.958 0-1.735-.746-1.735-1.666 0-.92.777-1.667 1.734-1.667.271 0 .528.06.756.166l.008.004c.17.07.327.182.469.324.085.083.161.174.227.272.087.124.164.26.228.401.428.948.392 2.377-.942 3.706a.446.446 0 0 1-.613.01.405.405 0 0 1-.011-.59c.42-.416.672-.831.81-1.22z\"}}]})(props);\n};\nexport function BsFillChatRightTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillChatSquareDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillChatSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsFillChatSquareQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsFillChatSquareTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsFillChatTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM4.5 5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}}]})(props);\n};\nexport function BsFillCheckCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z\"}}]})(props);\n};\nexport function BsFillCheckSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\"}}]})(props);\n};\nexport function BsFillCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"8\"}}]})(props);\n};\nexport function BsFillClockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}}]})(props);\n};\nexport function BsFillCloudArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 6.854-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCloudArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 5.146a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2z\"}}]})(props);\n};\nexport function BsFillCloudCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 4.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillCloudDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.5a.5.5 0 0 1 1 0V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.354 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V11h-1v3.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsFillCloudDrizzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}}]})(props);\n};\nexport function BsFillCloudFogFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudFog2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 13h-1.5a.5.5 0 0 0 0-1H1.05a3.51 3.51 0 0 1-.713-1H9.5a.5.5 0 0 0 0-1H.035a3.53 3.53 0 0 1 0-1H7.5a.5.5 0 0 0 0-1H.337a3.5 3.5 0 0 1 3.57-1.977A5.001 5.001 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsFillCloudHailFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm1.247-6.999a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudHazeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudHaze2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 12H3.5A3.5 3.5 0 0 1 .035 9H5.5a.5.5 0 0 0 0-1H.035a3.5 3.5 0 0 1 3.871-2.977A5.001 5.001 0 0 1 8.5 2zm-6 8a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zM0 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillCloudLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudLightningRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.105-1.25A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillCloudMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsFillCloudPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm.5 4v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillCloudRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudRainHeavyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11L3.112 5.112zm11.372 7.372L4.937 2.937A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711zm-.838 1.87-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsFillCloudSleetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm1.181-7.026a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSnowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-.22-7.223a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCloudSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsFillCloudUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.5 14.5V11h1v3.5a.5.5 0 0 1-1 0z\"}}]})(props);\n};\nexport function BsFillCloudsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 9a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 14h8.5a2.5 2.5 0 1 0-.027-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.544 9.772a3.506 3.506 0 0 0-2.225-1.676 5.502 5.502 0 0 0-6.337-4.002 4.002 4.002 0 0 1 7.392.91 2.5 2.5 0 0 1 1.17 4.769z\"}}]})(props);\n};\nexport function BsFillCloudyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 7.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 13H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsFillCollectionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zM2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1z\"}}]})(props);\n};\nexport function BsFillCollectionPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm6.258-6.437a.5.5 0 0 1 .507.013l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 6 12V7a.5.5 0 0 1 .258-.437z\"}}]})(props);\n};\nexport function BsFillCompassFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 8.516a7.5 7.5 0 1 1-9.462-7.24A1 1 0 0 1 7 0h2a1 1 0 0 1 .962 1.276 7.503 7.503 0 0 1 5.538 7.24zm-3.61-3.905L6.94 7.439 4.11 12.39l4.95-2.828 2.828-4.95z\"}}]})(props);\n};\nexport function BsFillCpuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5.5a.5.5 0 0 0-1 0V2A2.5 2.5 0 0 0 2 4.5H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2A2.5 2.5 0 0 0 4.5 14v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14a2.5 2.5 0 0 0 2.5-2.5h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14A2.5 2.5 0 0 0 11.5 2V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5zm1 4.5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3A1.5 1.5 0 0 1 6.5 5z\"}}]})(props);\n};\nexport function BsFillCreditCard2BackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5H0V4zm11.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zM0 11v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1H0z\"}}]})(props);\n};\nexport function BsFillCreditCard2FrontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsFillCreditCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H0V4zm0 3v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7H0zm3 2h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillCupFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h.5A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-.55a2.5 2.5 0 0 1-2.45 2h-8A2.5 2.5 0 0 1 1 12.5V2zm13 10h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H14v8z\"}}]})(props);\n};\nexport function BsFillCursorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103z\"}}]})(props);\n};\nexport function BsFillDashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsFillDashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm2.5 7.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillDiagram2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-3 8A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1z\"}}]})(props);\n};\nexport function BsFillDiagram3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-6 8A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm6 0A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1z\"}}]})(props);\n};\nexport function BsFillDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435z\"}}]})(props);\n};\nexport function BsFillDice1Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm5 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3zm5.5 1a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm6.5 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsFillDice3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDice6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillDiscFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-6 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 8a4 4 0 0 1 4-4 .5.5 0 0 0 0-1 5 5 0 0 0-5 5 .5.5 0 0 0 1 0zm9 0a.5.5 0 1 0-1 0 4 4 0 0 1-4 4 .5.5 0 0 0 0 1 5 5 0 0 0 5-5z\"}}]})(props);\n};\nexport function BsFillDisplayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12c0 .667-.083 1.167-.25 1.5H5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.75c-.167-.333-.25-.833-.25-1.5h4c2 0 2-2 2-2V4c0-2-2-2-2-2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h4z\"}}]})(props);\n};\nexport function BsFillDoorClosedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2a1 1 0 0 1 1-1h8zm-2 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillDoorOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15H1.5zM11 2h.5a.5.5 0 0 1 .5.5V15h-1V2zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}}]})(props);\n};\nexport function BsFillDropletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 16a6 6 0 0 0 6-6c0-1.655-1.122-2.904-2.432-4.362C10.254 4.176 8.75 2.503 8 0c0 0-6 5.686-6 10a6 6 0 0 0 6 6zM6.646 4.646c-.376.377-1.272 1.489-2.093 3.13l.894.448c.78-1.559 1.616-2.58 1.907-2.87l-.708-.708z\"}}]})(props);\n};\nexport function BsFillEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.473.337a.5.5 0 0 0-.946 0L6.954 2H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1.85l-1.323 3.837a.5.5 0 1 0 .946.326L4.908 11H7.5v2.5a.5.5 0 0 0 1 0V11h2.592l1.435 4.163a.5.5 0 0 0 .946-.326L12.15 11H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H9.046L8.473.337z\"}}]})(props);\n};\nexport function BsFillEggFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a6 6 0 0 1-12 0C2 5.686 5 0 8 0s6 5.686 6 10z\"}}]})(props);\n};\nexport function BsFillEjectFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsFillEmojiAngryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.053 4.276a.5.5 0 0 1 .67-.223l2 1a.5.5 0 0 1 .166.76c.071.206.111.44.111.687C7 7.328 6.552 8 6 8s-1-.672-1-1.5c0-.408.109-.778.285-1.049l-1.009-.504a.5.5 0 0 1-.223-.67zm.232 8.157a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 1 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5 0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5z\"}}]})(props);\n};\nexport function BsFillEmojiDizzyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM8 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]})(props);\n};\nexport function BsFillEmojiExpressionlessFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm5 0h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm-5 4h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillEmojiFrownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-2.715 5.933a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 0 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiHeartEyesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.559 5.448a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zm-.07-5.448c1.397-.864 3.543 1.838-.953 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsFillEmojiLaughingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5c0 .501-.164.396-.415.235C6.42 6.629 6.218 6.5 6 6.5c-.218 0-.42.13-.585.235C5.164 6.896 5 7 5 6.5 5 5.672 5.448 5 6 5s1 .672 1 1.5zm5.331 3a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zm-1.746-2.765C10.42 6.629 10.218 6.5 10 6.5c-.218 0-.42.13-.585.235C9.164 6.896 9 7 9 6.5c0-.828.448-1.5 1-1.5s1 .672 1 1.5c0 .501-.164.396-.415.235z\"}}]})(props);\n};\nexport function BsFillEmojiNeutralFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-3 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zM4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSmileUpsideDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zM4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM10 8c-.552 0-1 .672-1 1.5s.448 1.5 1 1.5 1-.672 1-1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsFillEmojiSunglassesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM2.31 5.243A1 1 0 0 1 3.28 4H6a1 1 0 0 1 1 1v.116A4.22 4.22 0 0 1 8 5c.35 0 .69.04 1 .116V5a1 1 0 0 1 1-1h2.72a1 1 0 0 1 .97 1.243l-.311 1.242A2 2 0 0 1 11.439 8H11a2 2 0 0 1-1.994-1.839A2.99 2.99 0 0 0 8 6c-.393 0-.74.064-1.006.161A2 2 0 0 1 5 8h-.438a2 2 0 0 1-1.94-1.515L2.31 5.243zM4.969 9.75A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .866-.5z\"}}]})(props);\n};\nexport function BsFillEmojiWinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zM4.285 9.567a.5.5 0 0 0-.183.683A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75.5.5 0 0 0-.683-.183zm5.152-3.31a.5.5 0 0 0-.874.486c.33.595.958 1.007 1.687 1.007.73 0 1.356-.412 1.687-1.007a.5.5 0 0 0-.874-.486.934.934 0 0 1-.813.493.934.934 0 0 1-.813-.493z\"}}]})(props);\n};\nexport function BsFillEnvelopeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555zM0 4.697v7.104l5.803-3.558L0 4.697zM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757zm3.436-.586L16 11.801V4.697l-5.803 3.546z\"}}]})(props);\n};\nexport function BsFillEnvelopeOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.313l6.709 3.933L8 8.928l1.291.717L16 5.715V5.4a2 2 0 0 0-1.059-1.765l-6-3.2zM16 6.873l-5.693 3.337L16 13.372v-6.5zm-.059 7.611L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516zM0 13.373l5.693-3.163L0 6.873v6.5z\"}}]})(props);\n};\nexport function BsFillEraserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsFillExclamationCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillExclamationTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillEyeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsFillEyeSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsFillFileArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFillFileArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.5 6.707 6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707z\"}}]})(props);\n};\nexport function BsFillFileBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 11.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFillFileBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 9.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.56-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.05 10.885c0 1.415-.548 2.206-1.524 2.206C4.548 13.09 4 12.3 4 10.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V13h-3v-.595h1.181V9.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFillFileBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v7H2V2a2 2 0 0 1 2-2zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFillFileCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1.146 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillFileCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5a.5.5 0 0 1 1 0zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-1 4v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 11.293V7.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.354 9.854a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 8.707V12.5a.5.5 0 0 1-1 0V8.707L6.354 9.854z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm.5 10v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 10.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-2.45 8.385c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFillFileEarmarkBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V9H2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm1.354 4.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.646 7.646a.5.5 0 1 1 .708.708L5.707 10l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 10 8.646 8.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8 6a.5.5 0 0 1 .5.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5A.5.5 0 0 1 8 6zm-2.5 6.5A.5.5 0 0 1 6 12h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 6h2A1.5 1.5 0 0 1 12 7.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 11H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 11H5.5A1.5 1.5 0 0 1 4 9.5v-2A1.5 1.5 0 0 1 5.5 6h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.884 6.68 8 9.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 10l2.233 2.68a.5.5 0 0 1-.768.64L8 10.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 10 5.116 7.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFillFileEarmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3z\"}}]})(props);\n};\nexport function BsFillFileEarmarkFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.057 6h5.886L11 8h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v5.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V6.755l-.293.01C5.856 6.808 5.68 6.905 5.5 8H5l.057-2z\"}}]})(props);\n};\nexport function BsFillFileEarmarkImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707v5.586l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zm-1.498 4a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFillFileEarmarkLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7zM6 9.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 9h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 12h-3a.637.637 0 0 1-.395-.125C6.02 11.807 6 11.742 6 11.7V9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-3 2v.634l.549-.317a.5.5 0 1 1 .5.866L7 7l.549.317a.5.5 0 1 1-.5.866L6.5 7.866V8.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L5 7l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V5.5a.5.5 0 1 1 1 0zm-2 4.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 8.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 6.64v1.75l-2 .5v3.61c0 .495-.301.883-.662 1.123C7.974 13.866 7.499 14 7 14c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 11.134 6.501 11 7 11c.356 0 .7.068 1 .196V6.89a1 1 0 0 1 .757-.97l1-.25A1 1 0 0 1 11 6.64z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 12.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.148 21.148 0 0 0 .5-1.05 12.045 12.045 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.881 3.881 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 6.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM4.165 13.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.651 11.651 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.697 19.697 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm2 5.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.245S4 12 8 12s5 1.755 5 1.755z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 6.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V6.884z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 7v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1 0-1zm0 3h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillFileEarmarkPptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFillFileEarmarkRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM7 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V9.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V9s1.54-1.274 1.639-1.208zM5 11h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileEarmarkRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1H6v2h7v1H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFillFileEarmarkSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5 6h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 11h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V11h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 6z\"}}]})(props);\n};\nexport function BsFillFileEarmarkSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v-2h3v2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1h-3v2h3v1h-3v2H9v-2H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFillFileEarmarkTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM4.5 9a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4z\"}}]})(props);\n};\nexport function BsFillFileEarmarkWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.485 6.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 9.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFillFileEarmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.854 7.146 8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileEarmarkZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.438V8.5h1v.938a1 1 0 0 0 .03.243l.4 1.598-.93.62-.93-.62.4-1.598a1 1 0 0 0 .03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-4-.5V2h-1V1H6v1h1v1H6v1h1v1H6v1h1v1H5.5V6h-1V5h1V4h-1V3h1zm0 4.5h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V8.5a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillFileEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 5h2A1.5 1.5 0 0 1 12 6.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 10H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 10H5.5A1.5 1.5 0 0 1 4 8.5v-2A1.5 1.5 0 0 1 5.5 5h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFileExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.884 4.68 8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFillFileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z\"}}]})(props);\n};\nexport function BsFillFileFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.057 4h5.886L11 6h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v6.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V4.755l-.293.01C5.856 4.808 5.68 4.905 5.5 6H5l.057-2z\"}}]})(props);\n};\nexport function BsFillFileImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v8.293l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm4.002 5.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFillFileLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6zM6 8.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFillFileMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5a.5.5 0 1 1 1 0zM5.5 9h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-.5 4.11v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3a1 1 0 0 1 1.196.98z\"}}]})(props);\n};\nexport function BsFillFilePdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 10.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.035 21.035 0 0 0 .5-1.05 11.96 11.96 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.888 3.888 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 4.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm.165 11.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.64 11.64 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.707 19.707 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFillFilePersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 4c2.623 0 4.146.826 5 1.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.245C3.854 11.825 5.377 11 8 11z\"}}]})(props);\n};\nexport function BsFillFilePlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V5.884z\"}}]})(props);\n};\nexport function BsFillFilePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillFilePostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM4.5 3h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillFilePptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 8.5H7V5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm3 4a1 1 0 0 0-1 1v6.5a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFillFileRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7H6v2h8V7zm0 3H6v2h8v-2zm0 3H6v3h6a2 2 0 0 0 2-2v-1zm-9 3v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2z\"}}]})(props);\n};\nexport function BsFillFileSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 9h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V9h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 4z\"}}]})(props);\n};\nexport function BsFillFileSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7h-4v2h4V7zm0 3h-4v2h4v-2zm0 3h-4v3h2a2 2 0 0 0 2-2v-1zm-5 3v-3H6v3h3zm-4 0v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2zm4 0V7h3v2H6zm0 1h3v2H6v-2z\"}}]})(props);\n};\nexport function BsFillFileTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillFileWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.485 4.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFillFileXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.854 6.146 8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillFileZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 9.438V8.5h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm2.5 8.5v.938l-.4 1.599a1 1 0 0 0 .416 1.074l.93.62a1 1 0 0 0 1.109 0l.93-.62a1 1 0 0 0 .415-1.074l-.4-1.599V8.5a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm1-5.5h-1v1h1v1h-1v1h1v1H9V6H8V5h1V4H8V3h1V2H8V1H6.5v1h1v1z\"}}]})(props);\n};\nexport function BsFillFilterCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM3.5 5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zM5 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFilterSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm.5 5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1zM4 8.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillFlagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001\"}}]})(props);\n};\nexport function BsFillFolderFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3zm-8.322.12C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139z\"}}]})(props);\n};\nexport function BsFillFolderSymlinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2l.04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3zM2.19 3c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293L7.586 3H2.19zm9.608 5.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}}]})(props);\n};\nexport function BsFillForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.77 12.11 4.012-2.953a.647.647 0 0 0 0-1.114L9.771 5.09a.644.644 0 0 0-.971.557V6.65H2v3.9h6.8v1.003c0 .505.545.808.97.557z\"}}]})(props);\n};\nexport function BsFillFunnelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2z\"}}]})(props);\n};\nexport function BsFillGearFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\"}}]})(props);\n};\nexport function BsFillGeoAltFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillGeoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsFillGiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zm6 4v7.5a1.5 1.5 0 0 1-1.5 1.5H9V7h6zM2.5 16A1.5 1.5 0 0 1 1 14.5V7h6v9H2.5z\"}}]})(props);\n};\nexport function BsFillGrid1X2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm0 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-5z\"}}]})(props);\n};\nexport function BsFillGrid3X2GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zM1 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V9z\"}}]})(props);\n};\nexport function BsFillGrid3X3GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2z\"}}]})(props);\n};\nexport function BsFillGridFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z\"}}]})(props);\n};\nexport function BsFillHandIndexFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002z\"}}]})(props);\n};\nexport function BsFillHandIndexThumbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.75v2.716l.047-.002c.312-.012.742-.016 1.051.046.28.056.543.18.738.288.273.152.456.385.56.642l.132-.012c.312-.024.794-.038 1.158.108.37.148.689.487.88.716.075.09.141.175.195.248h.582a2 2 0 0 1 1.99 2.199l-.272 2.715a3.5 3.5 0 0 1-.444 1.389l-1.395 2.441A1.5 1.5 0 0 1 12.42 16H6.118a1.5 1.5 0 0 1-1.342-.83l-1.215-2.43L1.07 8.589a1.517 1.517 0 0 1 2.373-1.852L5 8.293V1.75a1.75 1.75 0 0 1 3.5 0z\"}}]})(props);\n};\nexport function BsFillHandThumbsDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 14.534c.065.936.952 1.659 1.908 1.42l.261-.065a1.378 1.378 0 0 0 1.012-.965c.22-.816.533-2.512.062-4.51.136.02.285.037.443.051.713.065 1.669.071 2.516-.211.518-.173.994-.68 1.2-1.272a1.896 1.896 0 0 0-.234-1.734c.058-.118.103-.242.138-.362.077-.27.113-.568.113-.856 0-.29-.036-.586-.113-.857a2.094 2.094 0 0 0-.16-.403c.169-.387.107-.82-.003-1.149a3.162 3.162 0 0 0-.488-.9c.054-.153.076-.313.076-.465a1.86 1.86 0 0 0-.253-.912C13.1.757 12.437.28 11.5.28H8c-.605 0-1.07.08-1.466.217a4.823 4.823 0 0 0-.97.485l-.048.029c-.504.308-.999.61-2.068.723C2.682 1.815 2 2.434 2 3.279v4c0 .851.685 1.433 1.357 1.616.849.232 1.574.787 2.132 1.41.56.626.914 1.28 1.039 1.638.199.575.356 1.54.428 2.591z\"}}]})(props);\n};\nexport function BsFillHandThumbsUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 1.745C7.021.81 7.908.087 8.864.325l.261.066c.463.116.874.456 1.012.965.22.816.533 2.511.062 4.51a9.84 9.84 0 0 1 .443-.051c.713-.065 1.669-.072 2.516.21.518.173.994.681 1.2 1.273.184.532.16 1.162-.234 1.733.058.119.103.242.138.363.077.27.113.567.113.856 0 .289-.036.586-.113.856-.039.135-.09.273-.16.404.169.387.107.819-.003 1.148a3.163 3.163 0 0 1-.488.901c.054.152.076.312.076.465 0 .305-.089.625-.253.912C13.1 15.522 12.437 16 11.5 16H8c-.605 0-1.07-.081-1.466-.218a4.82 4.82 0 0 1-.97-.484l-.048-.03c-.504-.307-.999-.609-2.068-.722C2.682 14.464 2 13.846 2 13V9c0-.85.685-1.432 1.357-1.615.849-.232 1.574-.787 2.132-1.41.56-.627.914-1.28 1.039-1.639.199-.575.356-1.539.428-2.59z\"}}]})(props);\n};\nexport function BsFillHandbagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 0-2 2v2H5V3a3 3 0 1 1 6 0v2h-1V3a2 2 0 0 0-2-2zM5 5H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11v1.5a.5.5 0 0 1-1 0V5H6v1.5a.5.5 0 0 1-1 0V5z\"}}]})(props);\n};\nexport function BsFillHddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-1zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM.91 7.204A2.993 2.993 0 0 1 2 7h12c.384 0 .752.072 1.09.204l-1.867-3.422A1.5 1.5 0 0 0 11.906 3H4.094a1.5 1.5 0 0 0-1.317.782L.91 7.204z\"}}]})(props);\n};\nexport function BsFillHddNetworkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h5.5v3A1.5 1.5 0 0 0 6 11.5H.5a.5.5 0 0 0 0 1H6A1.5 1.5 0 0 0 7.5 14h1a1.5 1.5 0 0 0 1.5-1.5h5.5a.5.5 0 0 0 0-1H10A1.5 1.5 0 0 0 8.5 10V7H14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsFillHddRackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-2 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM12 7v2H4V7h8z\"}}]})(props);\n};\nexport function BsFillHddStackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsFillHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z\"}}]})(props);\n};\nexport function BsFillHeptagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053z\"}}]})(props);\n};\nexport function BsFillHexagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsFillHouseDoorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5z\"}}]})(props);\n};\nexport function BsFillHouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m8 3.293 6 6V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V9.293l6-6zm5-.793V6l-2-2V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0l6.647 6.646a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5z\"}}]})(props);\n};\nexport function BsFillImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsFillInboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm-1.17-.437A1.5 1.5 0 0 1 4.98 3h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsFillInboxesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zM3.81.563A1.5 1.5 0 0 1 4.98 0h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393z\"}}]})(props);\n};\nexport function BsFillInfoCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFillInfoSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.93 4.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM8 5.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillJournalBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsFillKanbanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11zm5 2h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm-5 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm9-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFillKeyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1-1-1 1H6.663a3.5 3.5 0 0 1-3.163 2zM2.5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsFillKeyboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\"}}]})(props);\n};\nexport function BsFillLampFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3zm5.5-2 .276-.553a.25.25 0 0 1 .448 0L8.5 1h-1zm-.615 8h2.23C9.968 10.595 11 12.69 11 13.5c0 1.38-1.343 2.5-3 2.5s-3-1.12-3-2.5c0-.81 1.032-2.905 1.885-4.5z\"}}]})(props);\n};\nexport function BsFillLaptopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 2A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsFillLayersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.765 1.559a.5.5 0 0 1 .47 0l7.5 4a.5.5 0 0 1 0 .882l-7.5 4a.5.5 0 0 1-.47 0l-7.5-4a.5.5 0 0 1 0-.882l7.5-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.125 8.567-1.86.992a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882l-1.86-.992-5.17 2.756a1.5 1.5 0 0 1-1.41 0l-5.17-2.756z\"}}]})(props);\n};\nexport function BsFillLightbulbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm3 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillLightbulbOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.572.08-1.125.23-1.65l8.558 8.559A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm10.303 4.181L3.818 1.697a6 6 0 0 1 8.484 8.484zM5 14.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5zM2.354 1.646a.5.5 0 1 0-.708.708l12 12a.5.5 0 0 0 .708-.708l-12-12z\"}}]})(props);\n};\nexport function BsFillLightningChargeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z\"}}]})(props);\n};\nexport function BsFillLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5z\"}}]})(props);\n};\nexport function BsFillLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsFillMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.598-.49L10.5.99 5.598.01a.5.5 0 0 0-.196 0l-5 1A.5.5 0 0 0 0 1.5v14a.5.5 0 0 0 .598.49l4.902-.98 4.902.98a.502.502 0 0 0 .196 0l5-1A.5.5 0 0 0 16 14.5V.5zM5 14.09V1.11l.5-.1.5.1v12.98l-.402-.08a.498.498 0 0 0-.196 0L5 14.09zm5 .8V1.91l.402.08a.5.5 0 0 0 .196 0L11 1.91v12.98l-.5.1-.5-.1z\"}}]})(props);\n};\nexport function BsFillMarkdownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.5 1a.5.5 0 0 0-.5.5v3.793L9.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L12 9.293V5.5a.5.5 0 0 0-.5-.5zM3.56 7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06V7.01z\"}}]})(props);\n};\nexport function BsFillMegaphoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-11zm-1 .724c-2.067.95-4.539 1.481-7 1.656v6.237a25.222 25.222 0 0 1 1.088.085c2.053.204 4.038.668 5.912 1.56V3.224zm-8 7.841V4.934c-.68.027-1.399.043-2.008.053A2.02 2.02 0 0 0 0 7v2c0 1.106.896 1.996 1.994 2.009a68.14 68.14 0 0 1 .496.008 64 64 0 0 1 1.51.048zm1.39 1.081c.285.021.569.047.85.078l.253 1.69a1 1 0 0 1-.983 1.187h-.548a1 1 0 0 1-.916-.599l-1.314-2.48a65.81 65.81 0 0 1 1.692.064c.327.017.65.037.966.06z\"}}]})(props);\n};\nexport function BsFillMenuAppFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMenuButtonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h8A1.5 1.5 0 0 0 11 3.5v-2A1.5 1.5 0 0 0 9.5 0h-8zm5.927 2.427A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMenuButtonWideFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillMicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a3 3 0 0 1 6 0v5a3 3 0 0 1-6 0V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillMicMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879L5.158 2.037A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.486 10.607 5 6.12V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsFillMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}}]})(props);\n};\nexport function BsFillMoonStarsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsFillMouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a5 5 0 0 1 10 0v6a5 5 0 0 1-10 0V5zm5.5-1.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2z\"}}]})(props);\n};\nexport function BsFillMouse2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5.026C4.958.286 3 2.515 3 5.188V5.5h4.5V.026zm1 0V5.5H13v-.312C13 2.515 11.042.286 8.5.026zM13 6.5H3v4.313C3 13.658 5.22 16 8 16s5-2.342 5-5.188V6.5z\"}}]})(props);\n};\nexport function BsFillMouse3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5.069A15.328 15.328 0 0 0 7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208-.386.873-.522 2.01-.54 3.206l4.497 1V.069zM3.71 5.836 3.381 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V8.123l-9-2v.003l.008.353c.007.3.023.715.053 1.175.063.937.186 2.005.413 2.688a.5.5 0 1 1-.948.316c-.273-.817-.4-2-.462-2.937A30.16 30.16 0 0 1 4 6.003c0-.034.003-.067.01-.1l-.3-.067zM14 7.1V5.187c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59A7.495 7.495 0 0 0 9.5.212v5.887l4.5 1z\"}}]})(props);\n};\nexport function BsFillMusicPlayerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm1 2h6a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillNodeMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a5 5 0 0 1-9.975.5H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025A5 5 0 0 1 16 8zm-2 0a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5A.5.5 0 0 0 14 8z\"}}]})(props);\n};\nexport function BsFillNodePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13a5 5 0 1 0-4.975-5.5H4A1.5 1.5 0 0 0 2.5 6h-1A1.5 1.5 0 0 0 0 7.5v1A1.5 1.5 0 0 0 1.5 10h1A1.5 1.5 0 0 0 4 8.5h2.025A5 5 0 0 0 11 13zm.5-7.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillNutFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58zm5.018 9.696a3 3 0 1 1-3-5.196 3 3 0 0 1 3 5.196z\"}}]})(props);\n};\nexport function BsFillOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.107 0a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146A.5.5 0 0 1 4.893 0h6.214z\"}}]})(props);\n};\nexport function BsFillPaletteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.433 10.07C14.133 10.585 16 11.15 16 8a8 8 0 1 0-8 8c1.996 0 1.826-1.504 1.649-3.08-.124-1.101-.252-2.237.351-2.92.465-.527 1.42-.237 2.433.07zM8 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillPatchCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillPatchExclamationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsFillPatchMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFillPatchPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillPatchQuestionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.933.87a2.89 2.89 0 0 1 4.134 0l.622.638.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636zM7.002 11a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm1.602-2.027c.04-.534.198-.815.846-1.26.674-.475 1.05-1.09 1.05-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745.336 0 .504-.24.554-.627z\"}}]})(props);\n};\nexport function BsFillPauseBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.25-7C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsFillPauseCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsFillPauseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"}}]})(props);\n};\nexport function BsFillPeaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 8.5.015v7.778l5.5 5.5zm-.708.708L8.5 9.206v6.778a7.967 7.967 0 0 0 4.792-1.986zM7.5 15.985V9.207L2.708 14A7.967 7.967 0 0 0 7.5 15.985zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5z\"}}]})(props);\n};\nexport function BsFillPenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001z\"}}]})(props);\n};\nexport function BsFillPencilFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z\"}}]})(props);\n};\nexport function BsFillPentagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 8 6.5-3 9.5H3L0 6.5 8 0z\"}}]})(props);\n};\nexport function BsFillPeopleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]})(props);\n};\nexport function BsFillPersonBadgeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm4.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm5 2.755C12.146 12.825 10.623 12 8 12s-4.146.826-5 1.755V14a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.245z\"}}]})(props);\n};\nexport function BsFillPersonCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillPersonLinesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5 6s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zM11 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4zm2 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2zm0 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2z\"}}]})(props);\n};\nexport function BsFillPersonPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillPersonXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm6.146-2.854a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillPhoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V2zm6 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsFillPhoneLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.5a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2zm11-6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillPhoneVibrateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4zm5 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0zM1.807 4.734a.5.5 0 1 0-.884-.468A7.967 7.967 0 0 0 0 8c0 1.347.334 2.618.923 3.734a.5.5 0 1 0 .884-.468A6.967 6.967 0 0 1 1 8c0-1.18.292-2.292.807-3.266zm13.27-.468a.5.5 0 0 0-.884.468C14.708 5.708 15 6.819 15 8c0 1.18-.292 2.292-.807 3.266a.5.5 0 0 0 .884.468A7.967 7.967 0 0 0 16 8a7.967 7.967 0 0 0-.923-3.734zM3.34 6.182a.5.5 0 1 0-.93-.364A5.986 5.986 0 0 0 2 8c0 .769.145 1.505.41 2.182a.5.5 0 1 0 .93-.364A4.986 4.986 0 0 1 3 8c0-.642.12-1.255.34-1.818zm10.25-.364a.5.5 0 0 0-.93.364c.22.563.34 1.176.34 1.818 0 .642-.12 1.255-.34 1.818a.5.5 0 0 0 .93.364C13.856 9.505 14 8.769 14 8c0-.769-.145-1.505-.41-2.182z\"}}]})(props);\n};\nexport function BsFillPieChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.985 8.5H8.207l-5.5 5.5a8 8 0 0 0 13.277-5.5zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5zM8.5.015V7.5h7.485A8.001 8.001 0 0 0 8.5.015z\"}}]})(props);\n};\nexport function BsFillPiggyBankFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595zm7.173 3.876a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199zm-8.999-.65A6.613 6.613 0 0 1 7.964 4.5c.666 0 1.303.097 1.893.273a.5.5 0 1 0 .286-.958A7.601 7.601 0 0 0 7.964 3.5c-.734 0-1.441.103-2.102.292a.5.5 0 1 0 .276.962zM5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0z\"}}]})(props);\n};\nexport function BsFillPinAngleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z\"}}]})(props);\n};\nexport function BsFillPinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354z\"}}]})(props);\n};\nexport function BsFillPinMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsFillPipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm7 6h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillPlayBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsFillPlayCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsFillPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"}}]})(props);\n};\nexport function BsFillPlugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsFillPlusCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsFillPlusSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillPrinterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}}]})(props);\n};\nexport function BsFillPuzzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .036-.054l.003-.01v-.008a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003l-.003-.01a.214.214 0 0 0-.036-.053.859.859 0 0 0-.27-.194C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.036.054l-.003.01v.002l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855z\"}}]})(props);\n};\nexport function BsFillQuestionCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z\"}}]})(props);\n};\nexport function BsFillQuestionDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM5.495 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillQuestionOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM5.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillQuestionSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsFillRecordBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillRecordCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFillRecordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsFillRecord2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsFillReplyAllFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.021 11.9 3.453 8.62a.719.719 0 0 1 0-1.238L8.021 4.1a.716.716 0 0 1 1.079.619V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 1-.106.7L1.114 7.945a.5.5 0 0 1-.042.028.147.147 0 0 0 0 .252.503.503 0 0 1 .042.028l4.012 2.954a.5.5 0 1 1-.593.805L.539 9.073a1.147 1.147 0 0 1 0-1.946l3.994-2.94a.5.5 0 0 1 .699.106z\"}}]})(props);\n};\nexport function BsFillReplyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.921 11.9 1.353 8.62a.719.719 0 0 1 0-1.238L5.921 4.1A.716.716 0 0 1 7 4.719V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}}]})(props);\n};\nexport function BsFillRssFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2zm0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2zm.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillSafeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.778 9.414A2 2 0 1 1 6.95 6.586a2 2 0 0 1 2.828 2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A1.5 1.5 0 0 0 1 1.5V3H.5a.5.5 0 0 0 0 1H1v3.5H.5a.5.5 0 0 0 0 1H1V12H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 14.5 0h-12zm3.036 4.464 1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 1 1 .708-.708zM14 6.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillSafe2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.563 8H5.035a3.482 3.482 0 0 1 .662-1.596l1.08 1.08c-.094.16-.167.332-.214.516zm.921-1.223-1.08-1.08A3.482 3.482 0 0 1 8 5.035v1.528c-.184.047-.357.12-.516.214zM9 6.563V5.035a3.482 3.482 0 0 1 1.596.662l-1.08 1.08A1.988 1.988 0 0 0 9 6.563zm1.223.921 1.08-1.08c.343.458.577 1.003.662 1.596h-1.528a1.989 1.989 0 0 0-.214-.516zM10.437 9h1.528a3.483 3.483 0 0 1-.662 1.596l-1.08-1.08c.094-.16.167-.332.214-.516zm-.921 1.223 1.08 1.08A3.483 3.483 0 0 1 9 11.965v-1.528c.184-.047.357-.12.516-.214zM8 10.437v1.528a3.483 3.483 0 0 1-1.596-.662l1.08-1.08c.16.094.332.167.516.214zm-1.223-.921-1.08 1.08A3.482 3.482 0 0 1 5.035 9h1.528c.047.184.12.357.214.516zM7.5 8.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 14.5 1h-12zm6 3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9z\"}}]})(props);\n};\nexport function BsFillSaveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v7.793L4.854 6.646a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5a.5.5 0 0 0-.708-.708L8.5 9.293V1.5z\"}}]})(props);\n};\nexport function BsFillSave2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v6h-2a.5.5 0 0 0-.354.854l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5A.5.5 0 0 0 10.5 7.5h-2v-6z\"}}]})(props);\n};\nexport function BsFillSdCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 0H5.914a1.5 1.5 0 0 0-1.06.44L2.439 2.853A1.5 1.5 0 0 0 2 3.914V14.5A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0zm-7 2.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2.75.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm1.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75z\"}}]})(props);\n};\nexport function BsFillShareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5z\"}}]})(props);\n};\nexport function BsFillShieldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsFillShieldLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFillShieldSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525L1.093 3.093zm12.215 8.215L3.128 1.128A61.369 61.369 0 0 1 5.073.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616zm.338 3.046-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsFillShiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047z\"}}]})(props);\n};\nexport function BsFillSignpost2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsFillSignpostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsFillSignpostSplitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h2V6h5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.8 2.4A1 1 0 0 0 14 2H9v-.586a1 1 0 0 0-2 0V7H2a1 1 0 0 0-.8.4L.225 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4h5v5z\"}}]})(props);\n};\nexport function BsFillSimFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5zM8.5 6V4h2a.5.5 0 0 1 .5.5V6H8.5zM5 7h6v2H5V7zm3.5 3H11v1.5a.5.5 0 0 1-.5.5h-2v-2zm-1 0v2h-2a.5.5 0 0 1-.5-.5V10h2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5V3.414a1.5 1.5 0 0 0-.44-1.06L11.647.439A1.5 1.5 0 0 0 10.586 0H3.5zm2 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7A1.5 1.5 0 0 1 5.5 3z\"}}]})(props);\n};\nexport function BsFillSkipBackwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm11.21-6.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipBackwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.79-2.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipBackwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 0 0 4v8a.5.5 0 0 0 1 0V8.753l6.267 3.636c.54.313 1.233-.066 1.233-.697v-2.94l6.267 3.636c.54.314 1.233-.065 1.233-.696V4.308c0-.63-.693-1.01-1.233-.696L8.5 7.248v-2.94c0-.63-.692-1.01-1.233-.696L1 7.248V4a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsFillSkipEndBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipEndCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipEndFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.693 3.3 4 3.678 4 4.308v7.384c0 .63.692 1.01 1.233.697L11.5 8.753V12a.5.5 0 0 0 1 0V4z\"}}]})(props);\n};\nexport function BsFillSkipForwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm4.79-6.907A.5.5 0 0 0 4 3.5v5a.5.5 0 0 0 .79.407L7.5 6.972V8.5a.5.5 0 0 0 .79.407L11 6.972V8.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 3.093a.5.5 0 0 0-.79.407v1.528L4.79 3.093z\"}}]})(props);\n};\nexport function BsFillSkipForwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}}]})(props);\n};\nexport function BsFillSkipForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.753l-6.267 3.636c-.54.313-1.233-.066-1.233-.697v-2.94l-6.267 3.636C.693 12.703 0 12.324 0 11.693V4.308c0-.63.693-1.01 1.233-.696L7.5 7.248v-2.94c0-.63.693-1.01 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillSkipStartBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm9.71-6.907L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipStartCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM9.71 5.093 7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsFillSkipStartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.54-.313 1.232.066 1.232.696v7.384c0 .63-.692 1.01-1.232.697L5 8.753V12a.5.5 0 0 1-1 0V4z\"}}]})(props);\n};\nexport function BsFillSlashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.646-2.646a.5.5 0 0 0-.708-.708l-6 6a.5.5 0 0 0 .708.708l6-6z\"}}]})(props);\n};\nexport function BsFillSlashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm9.354 5.354-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFillSpeakerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-2.5 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm6 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 7a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7z\"}}]})(props);\n};\nexport function BsFillSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsFillStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"}}]})(props);\n};\nexport function BsFillStickiesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5A1.5 1.5 0 0 0 0 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V10.5z\"}}]})(props);\n};\nexport function BsFillStickyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V9.5z\"}}]})(props);\n};\nexport function BsFillStopBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.5-7A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsFillStopCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsFillStopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5A1.5 1.5 0 0 1 5 3.5z\"}}]})(props);\n};\nexport function BsFillStoplightsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 0a2 2 0 0 0-2 2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-1c1.2-.4 1.833-1.5 2-2h-2V8c1.2-.4 1.833-1.5 2-2h-2V4c1.2-.4 1.833-1.5 2-2h-2a2 2 0 0 0-2-2H6zm3.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 13a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsFillStopwatchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07A7.001 7.001 0 0 0 8 16a7 7 0 0 0 5.29-11.584.531.531 0 0 0 .013-.012l.354-.354.353.354a.5.5 0 1 0 .707-.707l-1.414-1.415a.5.5 0 1 0-.707.707l.354.354-.354.354a.717.717 0 0 0-.012.012A6.973 6.973 0 0 0 9 2.071V1h.5a.5.5 0 0 0 0-1h-3zm2 5.6V9a.5.5 0 0 1-.5.5H4.5a.5.5 0 0 1 0-1h3V5.6a.5.5 0 1 1 1 0z\"}}]})(props);\n};\nexport function BsFillSuitClubFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 12.5a3.493 3.493 0 0 1-2.684-1.254 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907 3.5 3.5 0 1 1-2.538-5.743 3.5 3.5 0 1 1 6.708 0A3.5 3.5 0 1 1 11.5 12.5z\"}}]})(props);\n};\nexport function BsFillSuitDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.45 7.4 7.2 1.067a1 1 0 0 1 1.6 0L13.55 7.4a1 1 0 0 1 0 1.2L8.8 14.933a1 1 0 0 1-1.6 0L2.45 8.6a1 1 0 0 1 0-1.2z\"}}]})(props);\n};\nexport function BsFillSuitHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1z\"}}]})(props);\n};\nexport function BsFillSuitSpadeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z\"}}]})(props);\n};\nexport function BsFillSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsFillSunriseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillSunsetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTabletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm7 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsFillTabletLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2zm11-7a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsFillTagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 6.586 1H2zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsFillTagsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 7.793A1 1 0 0 1 1 7.086V2a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l.043-.043-7.457-7.457z\"}}]})(props);\n};\nexport function BsFillTelephoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsFillTelephoneForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.761.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillTelephoneInboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFillTelephoneMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTelephoneOutboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFillTelephonePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFillTelephoneXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm9.261 1.135a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsFillTerminalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm9.5 5.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zm-6.354-.354a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146z\"}}]})(props);\n};\nexport function BsFillTrashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1H3v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V4h.5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H2.5zm3 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zM8 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5zm3 .5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFillTrash2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225zm9.89-.69C10.966 2.214 9.578 2 8 2c-1.58 0-2.968.215-3.926.534-.477.16-.795.327-.975.466.18.14.498.307.975.466C5.032 3.786 6.42 4 8 4s2.967-.215 3.926-.534c.477-.16.795-.327.975-.466-.18-.14-.498-.307-.975-.466z\"}}]})(props);\n};\nexport function BsFillTreeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5z\"}}]})(props);\n};\nexport function BsFillTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.022 1.566a1.13 1.13 0 0 1 1.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H1.144c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsFillTrophyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935z\"}}]})(props);\n};\nexport function BsFillTvFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM2 2h12s2 0 2 2v6s0 2-2 2H2s-2 0-2-2V4s0-2 2-2z\"}}]})(props);\n};\nexport function BsFillUmbrellaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsFillUnlockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsFillVinylFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0z\"}}]})(props);\n};\nexport function BsFillVolumeDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zm3.025 4a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsFillVolumeMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zm7.137 2.096a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFillVolumeOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsFillVolumeUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 11.182A4.486 4.486 0 0 0 10.025 8a4.486 4.486 0 0 0-1.318-3.182L8 5.525A3.489 3.489 0 0 1 9.025 8 3.49 3.49 0 0 1 8 10.475l.707.707zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsFillWalletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v2h6a.5.5 0 0 1 .5.5c0 .253.08.644.306.958.207.288.557.542 1.194.542.637 0 .987-.254 1.194-.542.226-.314.306-.705.306-.958a.5.5 0 0 1 .5-.5h6v-2A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6.5h-5.551a2.678 2.678 0 0 1-.443 1.042C9.613 8.088 8.963 8.5 8 8.5c-.963 0-1.613-.412-2.006-.958A2.679 2.679 0 0 1 5.551 6.5H0v6A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-6z\"}}]})(props);\n};\nexport function BsFillXCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"}}]})(props);\n};\nexport function BsFillXDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.047 3.339 8 7.293l3.954-3.954L9.049.435zm3.61 3.611L8.708 8l3.954 3.954 2.904-2.905c.58-.58.58-1.519 0-2.098l-2.904-2.905zm-.706 8.614L8 8.708l-3.954 3.954 2.905 2.904c.58.58 1.519.58 2.098 0l2.905-2.904zm-8.614-.706L7.292 8 3.339 4.046.435 6.951c-.58.58-.58 1.519 0 2.098l2.904 2.905z\"}}]})(props);\n};\nexport function BsFillXOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zm-6.106 4.5L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFillXSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsReverseBackspaceReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.854 5.146a.5.5 0 0 1 0 .708L7.707 8l2.147 2.146a.5.5 0 0 1-.708.708L7 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L6.293 8 4.146 5.854a.5.5 0 1 1 .708-.708L7 7.293l2.146-2.147a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7.08a2 2 0 0 0 1.519-.698l4.843-5.651a1 1 0 0 0 0-1.302L10.6 1.7A2 2 0 0 0 9.08 1H2zm7.08 1a1 1 0 0 1 .76.35L14.682 8l-4.844 5.65a1 1 0 0 1-.759.35H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h7.08z\"}}]})(props);\n};\nexport function BsReverseLayoutSidebarInsetReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsReverseLayoutSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3zm-5-1v12H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h9zm1 0h2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2V2z\"}}]})(props);\n};\nexport function BsReverseLayoutTextSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm0 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm.5 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2zM4 1v14H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h2zm1 0h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5V1z\"}}]})(props);\n};\nexport function BsReverseLayoutTextWindowReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm0 3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM2 1a1 1 0 0 0-1 1v1h14V2a1 1 0 0 0-1-1H2zM1 4v10a1 1 0 0 0 1 1h2V4H1zm4 0v11h9a1 1 0 0 0 1-1V4H5z\"}}]})(props);\n};\nexport function BsAlarmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z\"}}]})(props);\n};\nexport function BsAlarm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z\"}}]})(props);\n};\nexport function BsAlignBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"x\":\"6\",\"y\":\"1\",\"rx\":\"1\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 14a.5.5 0 0 0 0 1v-1zm13 1a.5.5 0 0 0 0-1v1zm-13 0h13v-1h-13v1z\"}}]})(props);\n};\nexport function BsAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a.5.5 0 0 1 .5.5V6h-1V1.5A.5.5 0 0 1 8 1zm0 14a.5.5 0 0 1-.5-.5V10h1v4.5a.5.5 0 0 1-.5.5zM2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsAlignEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z\"}}]})(props);\n};\nexport function BsAlignMiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10zM1 8a.5.5 0 0 0 .5.5H6v-1H1.5A.5.5 0 0 0 1 8zm14 0a.5.5 0 0 1-.5.5H10v-1h4.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsAlignStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsAlignTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"4\",\"height\":\"12\",\"rx\":\"1\",\"transform\":\"matrix(1 0 0 -1 6 15)\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2a.5.5 0 0 1 0-1v1zm13-1a.5.5 0 0 1 0 1V1zm-13 0h13v1h-13V1z\"}}]})(props);\n};\nexport function BsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 13.5a.5.5 0 0 0 .5.5h3.797a.5.5 0 0 0 .439-.26L11 3h3.5a.5.5 0 0 0 0-1h-3.797a.5.5 0 0 0-.439.26L5 13H1.5a.5.5 0 0 0-.5.5zm10 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsAppIndicator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2A3.5 3.5 0 0 0 2 5.5v5A3.5 3.5 0 0 0 5.5 14h5a3.5 3.5 0 0 0 3.5-3.5V8a.5.5 0 0 1 1 0v2.5a4.5 4.5 0 0 1-4.5 4.5h-5A4.5 4.5 0 0 1 1 10.5v-5A4.5 4.5 0 0 1 5.5 1H8a.5.5 0 0 1 0 1H5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsApp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h6zM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5z\"}}]})(props);\n};\nexport function BsApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z\"}}]})(props);\n};\nexport function BsArchiveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z\"}}]})(props);\n};\nexport function BsArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5V5a1 1 0 0 1-1-1V2zm2 3v7.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V5H2zm13-3H1v2h14V2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsArrow90DegDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.854 14.854a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V3.5A2.5 2.5 0 0 1 6.5 1h8a.5.5 0 0 1 0 1h-8A1.5 1.5 0 0 0 5 3.5v9.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4z\"}}]})(props);\n};\nexport function BsArrow90DegLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.146 4.854a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H12.5A2.5 2.5 0 0 1 15 6.5v8a.5.5 0 0 1-1 0v-8A1.5 1.5 0 0 0 12.5 5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4z\"}}]})(props);\n};\nexport function BsArrow90DegRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.854 4.854a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 4H3.5A2.5 2.5 0 0 0 1 6.5v8a.5.5 0 0 0 1 0v-8A1.5 1.5 0 0 1 3.5 5h9.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4z\"}}]})(props);\n};\nexport function BsArrow90DegUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.854 1.146a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L4 2.707V12.5A2.5 2.5 0 0 0 6.5 15h8a.5.5 0 0 0 0-1h-8A1.5 1.5 0 0 1 5 12.5V2.707l3.146 3.147a.5.5 0 1 0 .708-.708l-4-4z\"}}]})(props);\n};\nexport function BsArrowBarDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5zM8 6a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 12.293V6.5A.5.5 0 0 1 8 6z\"}}]})(props);\n};\nexport function BsArrowBarLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5zM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowBarRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8zm-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsArrowBarUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 10a.5.5 0 0 0 .5-.5V3.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 3.707V9.5a.5.5 0 0 0 .5.5zm-7 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsArrowClockwise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z\"}}]})(props);\n};\nexport function BsArrowCounterclockwise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z\"}}]})(props);\n};\nexport function BsArrowDownCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z\"}}]})(props);\n};\nexport function BsArrowDownLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904-2.854a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z\"}}]})(props);\n};\nexport function BsArrowDownLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z\"}}]})(props);\n};\nexport function BsArrowDownLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 3.146a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z\"}}]})(props);\n};\nexport function BsArrowDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 13.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1H3.707L13.854 2.854a.5.5 0 0 0-.708-.708L3 12.293V7.5a.5.5 0 0 0-1 0v6z\"}}]})(props);\n};\nexport function BsArrowDownRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z\"}}]})(props);\n};\nexport function BsArrowDownRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 5.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z\"}}]})(props);\n};\nexport function BsArrowDownRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z\"}}]})(props);\n};\nexport function BsArrowDownRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 3.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z\"}}]})(props);\n};\nexport function BsArrowDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 13.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1 0-1h4.793L2.146 2.854a.5.5 0 1 1 .708-.708L13 12.293V7.5a.5.5 0 0 1 1 0v6z\"}}]})(props);\n};\nexport function BsArrowDownShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsArrowDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsArrowDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 2.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z\"}}]})(props);\n};\nexport function BsArrowDownUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z\"}}]})(props);\n};\nexport function BsArrowLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.5-.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeftRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 11.5a.5.5 0 0 0 .5.5h11.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 11H1.5a.5.5 0 0 0-.5.5zm14-7a.5.5 0 0 1-.5.5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H14.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowLeftShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 8a.5.5 0 0 1-.5.5H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsArrowLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12zm-4.5-6.5H5.707l2.147-2.146a.5.5 0 1 0-.708-.708l-3 3a.5.5 0 0 0 0 .708l3 3a.5.5 0 0 0 .708-.708L5.707 8.5H11.5a.5.5 0 0 0 0-1z\"}}]})(props);\n};\nexport function BsArrowLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm11.5 5.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z\"}}]})(props);\n};\nexport function BsArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z\"}}]})(props);\n};\nexport function BsArrowRepeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41zm-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5.002 5.002 0 0 0 8 3zM3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9H3.1z\"}}]})(props);\n};\nexport function BsArrowReturnLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsArrowReturnRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 1.5A.5.5 0 0 0 1 2v4.8a2.5 2.5 0 0 0 2.5 2.5h9.793l-3.347 3.346a.5.5 0 0 0 .708.708l4.2-4.2a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 8.3H3.5A1.5 1.5 0 0 1 2 6.8V2a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsArrowRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRightShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsArrowRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12zm4.5-6.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsArrowRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4.5 5.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z\"}}]})(props);\n};\nexport function BsArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsArrowUpCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-7.5 3.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUpLeftCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904 2.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm8.096 10.803L6 6.707v2.768a.5.5 0 0 1-1 0V5.5a.5.5 0 0 1 .5-.5h3.975a.5.5 0 1 1 0 1H6.707l4.096 4.096a.5.5 0 1 1-.707.707z\"}}]})(props);\n};\nexport function BsArrowUpLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 8.803a.5.5 0 1 0 .707-.707L6.707 6h2.768a.5.5 0 1 0 0-1H5.5a.5.5 0 0 0-.5.5v3.975a.5.5 0 0 0 1 0V6.707l4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H3.707l10.147 10.146a.5.5 0 0 1-.708.708L3 3.707V8.5a.5.5 0 0 1-1 0v-6z\"}}]})(props);\n};\nexport function BsArrowUpRightCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 0 16 0A8 8 0 0 0 0 8zm5.904 2.803a.5.5 0 1 1-.707-.707L9.293 6H6.525a.5.5 0 1 1 0-1H10.5a.5.5 0 0 1 .5.5v3.975a.5.5 0 0 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 10.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM5.904 10.803 10 6.707v2.768a.5.5 0 0 0 1 0V5.5a.5.5 0 0 0-.5-.5H6.525a.5.5 0 1 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 .707.707z\"}}]})(props);\n};\nexport function BsArrowUpRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 8.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707l-4.096 4.096z\"}}]})(props);\n};\nexport function BsArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 2.5a.5.5 0 0 0-.5-.5h-6a.5.5 0 0 0 0 1h4.793L2.146 13.146a.5.5 0 0 0 .708.708L13 3.707V8.5a.5.5 0 0 0 1 0v-6z\"}}]})(props);\n};\nexport function BsArrowUpShort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\"}}]})(props);\n};\nexport function BsArrowUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm6.5-4.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 1 0z\"}}]})(props);\n};\nexport function BsArrowUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.5 9.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11.5z\"}}]})(props);\n};\nexport function BsArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z\"}}]})(props);\n};\nexport function BsArrowsAngleContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.172 15.828a.5.5 0 0 0 .707 0l4.096-4.096V14.5a.5.5 0 1 0 1 0v-3.975a.5.5 0 0 0-.5-.5H1.5a.5.5 0 0 0 0 1h2.768L.172 15.121a.5.5 0 0 0 0 .707zM15.828.172a.5.5 0 0 0-.707 0l-4.096 4.096V1.5a.5.5 0 1 0-1 0v3.975a.5.5 0 0 0 .5.5H14.5a.5.5 0 0 0 0-1h-2.768L15.828.879a.5.5 0 0 0 0-.707z\"}}]})(props);\n};\nexport function BsArrowsAngleExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707z\"}}]})(props);\n};\nexport function BsArrowsCollapse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zm7-8a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 4.293V.5A.5.5 0 0 1 8 0zm-.5 11.707-1.146 1.147a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 11.707V15.5a.5.5 0 0 1-1 0v-3.793z\"}}]})(props);\n};\nexport function BsArrowsExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8zM7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10z\"}}]})(props);\n};\nexport function BsArrowsFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.828 10.172a.5.5 0 0 0-.707 0l-4.096 4.096V11.5a.5.5 0 0 0-1 0v3.975a.5.5 0 0 0 .5.5H4.5a.5.5 0 0 0 0-1H1.732l4.096-4.096a.5.5 0 0 0 0-.707zm4.344 0a.5.5 0 0 1 .707 0l4.096 4.096V11.5a.5.5 0 1 1 1 0v3.975a.5.5 0 0 1-.5.5H11.5a.5.5 0 0 1 0-1h2.768l-4.096-4.096a.5.5 0 0 1 0-.707zm0-4.344a.5.5 0 0 0 .707 0l4.096-4.096V4.5a.5.5 0 1 0 1 0V.525a.5.5 0 0 0-.5-.5H11.5a.5.5 0 0 0 0 1h2.768l-4.096 4.096a.5.5 0 0 0 0 .707zm-4.344 0a.5.5 0 0 1-.707 0L1.025 1.732V4.5a.5.5 0 0 1-1 0V.525a.5.5 0 0 1 .5-.5H4.5a.5.5 0 0 1 0 1H1.732l4.096 4.096a.5.5 0 0 1 0 .707z\"}}]})(props);\n};\nexport function BsArrowsMove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 1.707V5.5a.5.5 0 0 1-1 0V1.707L6.354 2.854a.5.5 0 1 1-.708-.708l2-2zM8 10a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 14.293V10.5A.5.5 0 0 1 8 10zM.146 8.354a.5.5 0 0 1 0-.708l2-2a.5.5 0 1 1 .708.708L1.707 7.5H5.5a.5.5 0 0 1 0 1H1.707l1.147 1.146a.5.5 0 0 1-.708.708l-2-2zM10 8a.5.5 0 0 1 .5-.5h3.793l-1.147-1.146a.5.5 0 0 1 .708-.708l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L14.293 8.5H10.5A.5.5 0 0 1 10 8z\"}}]})(props);\n};\nexport function BsAspectRatioFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5v-9A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5zM2.5 4a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 1 0V5h2.5a.5.5 0 0 0 0-1h-3zm11 8a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-1 0V11h-2.5a.5.5 0 0 0 0 1h3z\"}}]})(props);\n};\nexport function BsAspectRatio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5v-9zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H3v2.5a.5.5 0 0 1-1 0v-3zm12 7a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H13V8.5a.5.5 0 0 1 1 0v3z\"}}]})(props);\n};\nexport function BsAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a1 1 0 0 1 1 1v5.268l4.562-2.634a1 1 0 1 1 1 1.732L10 8l4.562 2.634a1 1 0 1 1-1 1.732L9 9.732V15a1 1 0 1 1-2 0V9.732l-4.562 2.634a1 1 0 1 1-1-1.732L6 8 1.438 5.366a1 1 0 0 1 1-1.732L7 6.268V1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsAt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.106 7.222c0-2.967-2.249-5.032-5.482-5.032-3.35 0-5.646 2.318-5.646 5.702 0 3.493 2.235 5.708 5.762 5.708.862 0 1.689-.123 2.304-.335v-.862c-.43.199-1.354.328-2.29.328-2.926 0-4.813-1.88-4.813-4.798 0-2.844 1.921-4.881 4.594-4.881 2.735 0 4.608 1.688 4.608 4.156 0 1.682-.554 2.769-1.416 2.769-.492 0-.772-.28-.772-.76V5.206H8.923v.834h-.11c-.266-.595-.881-.964-1.6-.964-1.4 0-2.378 1.162-2.378 2.823 0 1.737.957 2.906 2.379 2.906.8 0 1.415-.39 1.709-1.087h.11c.081.67.703 1.148 1.503 1.148 1.572 0 2.57-1.415 2.57-3.643zm-7.177.704c0-1.197.54-1.907 1.456-1.907.93 0 1.524.738 1.524 1.907S8.308 9.84 7.371 9.84c-.895 0-1.442-.725-1.442-1.914z\"}}]})(props);\n};\nexport function BsAwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 1.669.864 1.858.282.842 1.68 1.337 1.32L13.4 6l.306 1.854-1.337 1.32-.842 1.68-1.858.282L8 12l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L2.6 6l-.306-1.854 1.337-1.32.842-1.68L6.331.864 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsAward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.669.864 8 0 6.331.864l-1.858.282-.842 1.68-1.337 1.32L2.6 6l-.306 1.854 1.337 1.32.842 1.68 1.858.282L8 12l1.669-.864 1.858-.282.842-1.68 1.337-1.32L13.4 6l.306-1.854-1.337-1.32-.842-1.68L9.669.864zm1.196 1.193.684 1.365 1.086 1.072L12.387 6l.248 1.506-1.086 1.072-.684 1.365-1.51.229L8 10.874l-1.355-.702-1.51-.229-.684-1.365-1.086-1.072L3.614 6l-.25-1.506 1.087-1.072.684-1.365 1.51-.229L8 1.126l1.356.702 1.509.229z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.794V16l4-1 4 1v-4.206l-2.018.306L8 13.126 6.018 12.1 4 11.794z\"}}]})(props);\n};\nexport function BsBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsBackspaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.683 3a2 2 0 0 0-2-2h-7.08a2 2 0 0 0-1.519.698L.241 7.35a1 1 0 0 0 0 1.302l4.843 5.65A2 2 0 0 0 6.603 15h7.08a2 2 0 0 0 2-2V3zM5.829 5.854a.5.5 0 1 1 .707-.708l2.147 2.147 2.146-2.147a.5.5 0 1 1 .707.708L9.39 8l2.146 2.146a.5.5 0 0 1-.707.708L8.683 8.707l-2.147 2.147a.5.5 0 0 1-.707-.708L7.976 8 5.829 5.854z\"}}]})(props);\n};\nexport function BsBackspaceReverseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h7.08a2 2 0 0 1 1.519.698l4.843 5.651a1 1 0 0 1 0 1.302L10.6 14.3a2 2 0 0 1-1.52.7H2a2 2 0 0 1-2-2V3zm9.854 2.854a.5.5 0 0 0-.708-.708L7 7.293 4.854 5.146a.5.5 0 1 0-.708.708L6.293 8l-2.147 2.146a.5.5 0 0 0 .708.708L7 8.707l2.146 2.147a.5.5 0 0 0 .708-.708L7.707 8l2.147-2.146z\"}}]})(props);\n};\nexport function BsBackspaceReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.854 5.146a.5.5 0 0 1 0 .708L7.707 8l2.147 2.146a.5.5 0 0 1-.708.708L7 8.707l-2.146 2.147a.5.5 0 0 1-.708-.708L6.293 8 4.146 5.854a.5.5 0 1 1 .708-.708L7 7.293l2.146-2.147a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7.08a2 2 0 0 0 1.519-.698l4.843-5.651a1 1 0 0 0 0-1.302L10.6 1.7A2 2 0 0 0 9.08 1H2zm7.08 1a1 1 0 0 1 .76.35L14.682 8l-4.844 5.65a1 1 0 0 1-.759.35H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h7.08z\"}}]})(props);\n};\nexport function BsBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.83 5.146a.5.5 0 0 0 0 .708L7.975 8l-2.147 2.146a.5.5 0 0 0 .707.708l2.147-2.147 2.146 2.147a.5.5 0 0 0 .707-.708L9.39 8l2.146-2.146a.5.5 0 0 0-.707-.708L8.683 7.293 6.536 5.146a.5.5 0 0 0-.707 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.683 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-7.08a2 2 0 0 1-1.519-.698L.241 8.65a1 1 0 0 1 0-1.302L5.084 1.7A2 2 0 0 1 6.603 1h7.08zm-7.08 1a1 1 0 0 0-.76.35L1 8l4.844 5.65a1 1 0 0 0 .759.35h7.08a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1h-7.08z\"}}]})(props);\n};\nexport function BsBadge3DFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914h.663zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126V11z\"}}]})(props);\n};\nexport function BsBadge3D (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.52 8.368h.664c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zm3.606-3.367V11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126zm1.187.967h.844c1.112 0 1.621.686 1.621 2.04 0 1.353-.505 2.02-1.621 2.02h-.844v-4.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadge4KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.577 8.9v.03h1.828V5.898h-.062a46.781 46.781 0 0 0-1.766 3.001z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm2.372 3.715.435-.714h1.71v3.93h.733v.957h-.733V11H5.405V9.888H2.5v-.971c.574-1.077 1.225-2.142 1.872-3.202zm7.73-.714h1.306l-2.14 2.584L13.5 11h-1.428l-1.679-2.624-.615.7V11H8.59V5.001h1.187v2.686h.057L12.102 5z\"}}]})(props);\n};\nexport function BsBadge4K (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.807 5.001C4.021 6.298 3.203 7.6 2.5 8.917v.971h2.905V11h1.112V9.888h.733V8.93h-.733V5.001h-1.71zm-1.23 3.93v-.032a46.781 46.781 0 0 1 1.766-3.001h.062V8.93H3.577zm9.831-3.93h-1.306L9.835 7.687h-.057V5H8.59v6h1.187V9.075l.615-.699L12.072 11H13.5l-2.232-3.415 2.14-2.584z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadge8KFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.9 6.605c0 .51.405.866.95.866.545 0 .945-.356.945-.866s-.4-.852-.945-.852c-.545 0-.95.343-.95.852zm-.192 2.668c0 .589.492.984 1.142.984.646 0 1.143-.395 1.143-.984S5.496 8.28 4.85 8.28c-.65 0-1.142.404-1.142.993z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.17 7.348c0 1.041-.927 1.766-2.333 1.766-1.406 0-2.312-.72-2.312-1.762 0-.954.712-1.384 1.257-1.494v-.053c-.51-.154-1.02-.558-1.02-1.331 0-.914.831-1.587 2.088-1.587 1.253 0 2.083.673 2.083 1.587 0 .782-.523 1.182-1.02 1.331v.053c.545.11 1.257.545 1.257 1.49zM12.102 5h1.306l-2.14 2.584 2.232 3.415h-1.428l-1.679-2.624-.615.699v1.925H8.59V5h1.187v2.685h.057L12.102 5z\"}}]})(props);\n};\nexport function BsBadge8K (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.837 11.114c1.406 0 2.333-.725 2.333-1.766 0-.945-.712-1.38-1.256-1.49v-.053c.496-.15 1.02-.55 1.02-1.331 0-.914-.831-1.587-2.084-1.587-1.257 0-2.087.673-2.087 1.587 0 .773.51 1.177 1.02 1.331v.053c-.546.11-1.258.54-1.258 1.494 0 1.042.906 1.762 2.312 1.762zm.013-3.643c-.545 0-.95-.356-.95-.866s.405-.852.95-.852c.545 0 .945.343.945.852 0 .51-.4.866-.945.866zm0 2.786c-.65 0-1.142-.395-1.142-.984S4.2 8.28 4.85 8.28c.646 0 1.143.404 1.143.993s-.497.984-1.143.984zM13.408 5h-1.306L9.835 7.685h-.057V5H8.59v5.998h1.187V9.075l.615-.699 1.679 2.623H13.5l-2.232-3.414L13.408 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeAdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.35 8.337c0-.699-.42-1.138-1.001-1.138-.584 0-.954.444-.954 1.239v.453c0 .8.374 1.248.972 1.248.588 0 .984-.44.984-1.2v-.602zm-5.413.237-.734-2.426H5.15l-.734 2.426h1.52z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm6.209 6.32c0-1.28.694-2.044 1.753-2.044.655 0 1.156.294 1.336.769h.053v-2.36h1.16V11h-1.138v-.747h-.057c-.145.474-.69.804-1.367.804-1.055 0-1.74-.764-1.74-2.043v-.695zm-4.04 1.138L3.7 11H2.5l2.013-5.999H5.9L7.905 11H6.644l-.47-1.542H4.17z\"}}]})(props);\n};\nexport function BsBadgeAd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.7 11 .47-1.542h2.004L6.644 11h1.261L5.901 5.001H4.513L2.5 11h1.2zm1.503-4.852.734 2.426H4.416l.734-2.426h.053zm4.759.128c-1.059 0-1.753.765-1.753 2.043v.695c0 1.279.685 2.043 1.74 2.043.677 0 1.222-.33 1.367-.804h.057V11h1.138V4.685h-1.16v2.36h-.053c-.18-.475-.68-.77-1.336-.77zm.387.923c.58 0 1.002.44 1.002 1.138v.602c0 .76-.396 1.2-.984 1.2-.598 0-.972-.449-.972-1.248v-.453c0-.795.37-1.24.954-1.24z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeArFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.031 8.574-.734-2.426h-.052L4.51 8.574h1.52zm3.642-2.641v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm4.265 5.458h2.004L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2l.47-1.542zM8.5 5v6h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsBadgeAr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.794 11 .47-1.542H6.27L6.739 11H8L5.996 5.001H4.607L2.595 11h1.2zm1.503-4.852.734 2.426h-1.52l.734-2.426h.052zm5.598-1.147H8.5V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9zm-1.222 2.87V5.933h1.05c.63 0 1.05.347 1.05.989 0 .633-.408.95-1.067.95H9.673z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeCcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.027 4.002c-.83 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.319 1.727.69 0 1.138-.435 1.186-1.05H7.36v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747C2.5 6.051 3.414 5 5.018 5c1.318 0 2.29.813 2.342 2v.11H6.213c-.048-.638-.505-1.108-1.186-1.108zm6.14 0c-.831 0-1.319.642-1.319 1.753v.743c0 1.107.48 1.727 1.318 1.727.69 0 1.139-.435 1.187-1.05H13.5v.114c-.057 1.147-1.028 1.938-2.342 1.938-1.613 0-2.518-1.028-2.518-2.729v-.747c0-1.7.914-2.751 2.518-2.751 1.318 0 2.29.813 2.342 2v.11h-1.147c-.048-.638-.505-1.108-1.187-1.108z\"}}]})(props);\n};\nexport function BsBadgeCc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.708 7.755c0-1.111.488-1.753 1.319-1.753.681 0 1.138.47 1.186 1.107H7.36V7c-.052-1.186-1.024-2-2.342-2C3.414 5 2.5 6.05 2.5 7.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114H6.213c-.048.615-.496 1.05-1.186 1.05-.84 0-1.319-.62-1.319-1.727v-.743zm6.14 0c0-1.111.488-1.753 1.318-1.753.682 0 1.139.47 1.187 1.107H13.5V7c-.053-1.186-1.024-2-2.342-2C9.554 5 8.64 6.05 8.64 7.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.743z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeHdFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.53 5.968h-.843v4.06h.843c1.117 0 1.622-.667 1.622-2.02 0-1.354-.51-2.04-1.622-2.04z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm5.396 3.001V11H6.209V8.43H3.687V11H2.5V5.001h1.187v2.44h2.522V5h1.187zM8.5 11V5.001h2.188c1.824 0 2.685 1.09 2.685 2.984C13.373 9.893 12.5 11 10.69 11H8.5z\"}}]})(props);\n};\nexport function BsBadgeHd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.396 11V5.001H6.209v2.44H3.687V5H2.5v6h1.187V8.43h2.522V11h1.187zM8.5 5.001V11h2.188c1.811 0 2.685-1.107 2.685-3.015 0-1.894-.86-2.984-2.684-2.984H8.5zm1.187.967h.843c1.112 0 1.622.686 1.622 2.04 0 1.353-.505 2.02-1.622 2.02h-.843v-4.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeTmFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm3.295 3.995V11H4.104V5.995h-1.7V5H7v.994H5.295zM8.692 7.01V11H7.633V5.001h1.209l1.71 3.894h.039l1.71-3.894H13.5V11h-1.072V7.01h-.057l-1.42 3.239h-.773L8.75 7.008h-.058z\"}}]})(props);\n};\nexport function BsBadgeTm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.295 11V5.995H7V5H2.403v.994h1.701V11h1.19zm3.397 0V7.01h.058l1.428 3.239h.773l1.42-3.24h.057V11H13.5V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H7.634V11h1.06z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeVoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.296 8.394v-.782c0-1.156-.571-1.736-1.362-1.736-.796 0-1.363.58-1.363 1.736v.782c0 1.156.567 1.732 1.363 1.732.79 0 1.362-.576 1.362-1.732z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm11.5 5.62v.77c0 1.691-.962 2.724-2.566 2.724-1.604 0-2.571-1.033-2.571-2.724v-.77c0-1.704.967-2.733 2.57-2.733 1.605 0 2.567 1.037 2.567 2.734zM5.937 11H4.508L2.5 5.001h1.375L5.22 9.708h.057L6.61 5.001h1.318L5.937 11z\"}}]})(props);\n};\nexport function BsBadgeVo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.508 11h1.429l1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11zM13.5 8.39v-.77c0-1.696-.962-2.733-2.566-2.733-1.604 0-2.571 1.029-2.571 2.734v.769c0 1.691.967 2.724 2.57 2.724 1.605 0 2.567-1.033 2.567-2.724zm-1.204-.778v.782c0 1.156-.571 1.732-1.362 1.732-.796 0-1.363-.576-1.363-1.732v-.782c0-1.156.567-1.736 1.363-1.736.79 0 1.362.58 1.362 1.736z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBadgeVrFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.673 5.933v1.938h1.033c.66 0 1.068-.316 1.068-.95 0-.64-.422-.988-1.05-.988h-1.05z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm5.937 7 1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11h1.429zM8.5 5.001V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9H8.5z\"}}]})(props);\n};\nexport function BsBadgeVr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.508 11h1.429l1.99-5.999H6.61L5.277 9.708H5.22L3.875 5.001H2.5L4.508 11zm6.387-5.999H8.5V11h1.173V8.763h1.064L11.787 11h1.327L11.91 8.583C12.455 8.373 13 7.779 13 6.9c0-1.147-.773-1.9-2.105-1.9zm-1.222 2.87V5.933h1.05c.63 0 1.05.347 1.05.989 0 .633-.408.95-1.067.95H9.673z\"}}]})(props);\n};\nexport function BsBadgeWcFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.666 1.89c.682 0 1.139.47 1.187 1.107H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742c0-1.112.488-1.754 1.318-1.754zm-6.188.926h.044L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005l1.02-4.184z\"}}]})(props);\n};\nexport function BsBadgeWc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.348 7.643c0-1.112.488-1.754 1.318-1.754.682 0 1.139.47 1.187 1.108H14v-.11c-.053-1.187-1.024-2-2.342-2-1.604 0-2.518 1.05-2.518 2.751v.747c0 1.7.905 2.73 2.518 2.73 1.314 0 2.285-.792 2.342-1.939v-.114h-1.147c-.048.615-.497 1.05-1.187 1.05-.839 0-1.318-.62-1.318-1.727v-.742zM4.457 11l1.02-4.184h.045L6.542 11h1.006L9 5.001H7.818l-.82 4.355h-.056L5.97 5.001h-.94l-.972 4.355h-.053l-.827-4.355H2L3.452 11h1.005z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsBagCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zm-.646 5.354a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsBagCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6 9.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsBagDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 10a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5z\"}}]})(props);\n};\nexport function BsBagPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM8.5 8a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V12a.5.5 0 0 0 1 0v-1.5H10a.5.5 0 0 0 0-1H8.5V8z\"}}]})(props);\n};\nexport function BsBagPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 7.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V12a.5.5 0 0 1-1 0v-1.5H6a.5.5 0 0 1 0-1h1.5V8a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBagXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.5 3.5a2.5 2.5 0 0 0-5 0V4h5v-.5zm1 0V4H15v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4h3.5v-.5a3.5 3.5 0 1 1 7 0zM6.854 8.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsBagX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 8.146a.5.5 0 0 1 .708 0L8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2.5 2.5 0 0 1 2.5 2.5V4h-5v-.5A2.5 2.5 0 0 1 8 1zm3.5 3v-.5a3.5 3.5 0 1 0-7 0V4H1v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4h-3.5zM2 5h12v9a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V5z\"}}]})(props);\n};\nexport function BsBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 .95 14.61 4h.89a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v7a.5.5 0 0 1 .485.379l.5 2A.5.5 0 0 1 15.5 17H.5a.5.5 0 0 1-.485-.621l.5-2A.5.5 0 0 1 1 14V7H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 4h.89L8 .95zM3.776 4h8.447L8 2.05 3.776 4zM2 7v7h1V7H2zm2 0v7h2.5V7H4zm3.5 0v7h1V7h-1zm2 0v7H12V7H9.5zM13 7v7h1V7h-1zm2-1V5H1v1h14zm-.39 9H1.39l-.25 1h13.72l-.25-1z\"}}]})(props);\n};\nexport function BsBank2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.277.084a.5.5 0 0 0-.554 0l-7.5 5A.5.5 0 0 0 .5 6h1.875v7H1.5a.5.5 0 0 0 0 1h13a.5.5 0 1 0 0-1h-.875V6H15.5a.5.5 0 0 0 .277-.916l-7.5-5zM12.375 6v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zm-2.5 0v7h-1.25V6h1.25zM8 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM.5 15a.5.5 0 0 0 0 1h15a.5.5 0 1 0 0-1H.5z\"}}]})(props);\n};\nexport function BsBarChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3zm5-4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsBarChartLineFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2z\"}}]})(props);\n};\nexport function BsBarChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2zm1 12h2V2h-2v12zm-3 0V7H7v7h2zm-5 0v-3H2v3h2z\"}}]})(props);\n};\nexport function BsBarChartSteps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 0a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-1 0V.5A.5.5 0 0 1 .5 0zM2 1.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-4a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsBarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11H2v3h2v-3zm5-4H7v7h2V7zm5-5v12h-2V2h2zm-2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zM6 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm-5 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3z\"}}]})(props);\n};\nexport function BsBasketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.071 1.243a.5.5 0 0 1 .858.514L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H15v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9H.5a.5.5 0 0 1-.5-.5v-2A.5.5 0 0 1 .5 6h1.717L5.07 1.243zM3.5 10.5a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3zm2.5 0a.5.5 0 1 0-1 0v3a.5.5 0 0 0 1 0v-3z\"}}]})(props);\n};\nexport function BsBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v4.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 13.5V9a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h1.217L5.07 1.243a.5.5 0 0 1 .686-.172zM2 9v4.5A1.5 1.5 0 0 0 3.5 15h9a1.5 1.5 0 0 0 1.5-1.5V9H2zM1 7v1h14V7H1zm3 3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 4 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 6 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3A.5.5 0 0 1 8 10zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zm2 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsBasket2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.929 1.757a.5.5 0 1 0-.858-.514L2.217 6H.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h.623l1.844 6.456A.75.75 0 0 0 3.69 15h8.622a.75.75 0 0 0 .722-.544L14.877 8h.623a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1.717L10.93 1.243a.5.5 0 1 0-.858.514L12.617 6H3.383L5.93 1.757zM4 10a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 1 1-2 0v-2zm4-1a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0v-2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsBasket2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0v-2zm3 0a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0v-2zm3 0a1 1 0 1 1 2 0v2a1 1 0 0 1-2 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-.623l-1.844 6.456a.75.75 0 0 1-.722.544H3.69a.75.75 0 0 1-.722-.544L1.123 8H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.163 8l1.714 6h8.246l1.714-6H2.163z\"}}]})(props);\n};\nexport function BsBasket3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.468 15.426.943 9h14.114l-1.525 6.426a.75.75 0 0 1-.729.574H3.197a.75.75 0 0 1-.73-.574z\"}}]})(props);\n};\nexport function BsBasket3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM3.394 15l-1.48-6h-.97l1.525 6.426a.75.75 0 0 0 .729.574h9.606a.75.75 0 0 0 .73-.574L15.056 9h-.972l-1.479 6h-9.21z\"}}]})(props);\n};\nexport function BsBatteryCharging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.585 2.568a.5.5 0 0 1 .226.58L8.677 6.832h1.99a.5.5 0 0 1 .364.843l-5.334 5.667a.5.5 0 0 1-.842-.49L5.99 9.167H4a.5.5 0 0 1-.364-.843l5.333-5.667a.5.5 0 0 1 .616-.09z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4h4.332l-.94 1H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h2.38l-.308 1H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h2.45L2.908 7.639A1.5 1.5 0 0 0 3.313 10H2V6zm8.595-2-.308 1H12a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H9.276l-.942 1H12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.405z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10h-1.783l1.542-1.639c.097-.103.178-.218.241-.34V10zm0-3.354V6h-.646a1.5 1.5 0 0 1 .646.646zM16 8a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h10v4H2V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2zm10 1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10zm4 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBatteryHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6h5v4H2V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2zm10 1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10zm4 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm2-1a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H2zm14 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z\"}}]})(props);\n};\nexport function BsBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.654 3c.461 0 .887.035 1.278.14.39.07.711.216.996.391.286.176.497.426.641.747.14.32.216.711.216 1.137 0 .496-.106.922-.356 1.242-.215.32-.566.606-.997.817.606.176 1.067.496 1.348.922.281.426.461.957.461 1.563 0 .496-.105.922-.285 1.278a2.317 2.317 0 0 1-.782.887c-.32.215-.711.39-1.137.496a5.329 5.329 0 0 1-1.278.176L0 12.803V3h4.654zm-.285 3.978c.39 0 .71-.105.957-.285.246-.18.355-.497.355-.887 0-.216-.035-.426-.105-.567a.981.981 0 0 0-.32-.355 1.84 1.84 0 0 0-.461-.176c-.176-.035-.356-.035-.567-.035H2.17v2.31c0-.005 2.2-.005 2.2-.005zm.105 4.193c.215 0 .426-.035.606-.07.176-.035.356-.106.496-.216s.25-.215.356-.39c.07-.176.14-.391.14-.641 0-.496-.14-.852-.426-1.102-.285-.215-.676-.32-1.137-.32H2.17v2.734h2.305v.005zm6.858-.035c.286.285.711.426 1.278.426.39 0 .746-.106 1.032-.286.285-.215.46-.426.53-.64h1.74c-.286.851-.712 1.457-1.278 1.848-.566.355-1.243.566-2.06.566a4.135 4.135 0 0 1-1.527-.285 2.827 2.827 0 0 1-1.137-.782 2.851 2.851 0 0 1-.712-1.172c-.175-.461-.25-.957-.25-1.528 0-.531.07-1.032.25-1.493.18-.46.426-.852.747-1.207.32-.32.711-.606 1.137-.782a4.018 4.018 0 0 1 1.493-.285c.606 0 1.137.105 1.598.355.46.25.817.532 1.102.958.285.39.496.851.641 1.348.07.496.105.996.07 1.563h-5.15c0 .58.21 1.11.496 1.396zm2.24-3.732c-.25-.25-.642-.391-1.103-.391-.32 0-.566.07-.781.176-.215.105-.356.25-.496.39a.957.957 0 0 0-.25.497c-.036.175-.07.32-.07.46h3.196c-.07-.526-.25-.882-.497-1.132zm-3.127-3.728h3.978v.957h-3.978v-.957z\"}}]})(props);\n};\nexport function BsBellFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zm.995-14.901a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 6c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z\"}}]})(props);\n};\nexport function BsBellSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-1.5-1-2-5.902-2-7 0-.264-.02-.523-.06-.776L5.164 14zm6.288-10.617A4.988 4.988 0 0 0 8.995 2.1a1 1 0 1 0-1.99 0A5.002 5.002 0 0 0 3 7c0 .898-.335 4.342-1.278 6.113l9.73-9.73zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsBellSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.164 14H15c-.299-.199-.557-.553-.78-1-.9-1.8-1.22-5.12-1.22-6 0-.264-.02-.523-.06-.776l-.938.938c.02.708.157 2.154.457 3.58.161.767.377 1.566.663 2.258H6.164l-1 1zm5.581-9.91a3.986 3.986 0 0 0-1.948-1.01L8 2.917l-.797.161A4.002 4.002 0 0 0 4 7c0 .628-.134 2.197-.459 3.742-.05.238-.105.479-.166.718l-1.653 1.653c.02-.037.04-.074.059-.113C2.679 11.2 3 7.88 3 7c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0c.942.19 1.788.645 2.457 1.284l-.707.707zM10 15a2 2 0 1 1-4 0h4zm-9.375.625a.53.53 0 0 0 .75.75l14.75-14.75a.53.53 0 0 0-.75-.75L.625 15.625z\"}}]})(props);\n};\nexport function BsBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a2 2 0 0 0 2-2H6a2 2 0 0 0 2 2zM8 1.918l-.797.161A4.002 4.002 0 0 0 4 6c0 .628-.134 2.197-.459 3.742-.16.767-.376 1.566-.663 2.258h10.244c-.287-.692-.502-1.49-.663-2.258C12.134 8.197 12 6.628 12 6a4.002 4.002 0 0 0-3.203-3.92L8 1.917zM14.22 12c.223.447.481.801.78 1H1c.299-.199.557-.553.78-1C2.68 10.2 3 6.88 3 6c0-2.42 1.72-4.44 4.005-4.901a1 1 0 1 1 1.99 0A5.002 5.002 0 0 1 13 6c0 .88.32 4.2 1.22 6z\"}}]})(props);\n};\nexport function BsBezier (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 10.5A1.5 1.5 0 0 1 1.5 9h1A1.5 1.5 0 0 1 4 10.5v1A1.5 1.5 0 0 1 2.5 13h-1A1.5 1.5 0 0 1 0 11.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm10.5.5A1.5 1.5 0 0 1 13.5 9h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM6 4.5A1.5 1.5 0 0 1 7.5 3h1A1.5 1.5 0 0 1 10 4.5v1A1.5 1.5 0 0 1 8.5 7h-1A1.5 1.5 0 0 1 6 5.5v-1zM7.5 4a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4.5H1.866a1 1 0 1 0 0 1h2.668A6.517 6.517 0 0 0 1.814 9H2.5c.123 0 .244.015.358.043a5.517 5.517 0 0 1 3.185-3.185A1.503 1.503 0 0 1 6 5.5v-1zm3.957 1.358A1.5 1.5 0 0 0 10 5.5v-1h4.134a1 1 0 1 1 0 1h-2.668a6.517 6.517 0 0 1 2.72 3.5H13.5c-.123 0-.243.015-.358.043a5.517 5.517 0 0 0-3.185-3.185z\"}}]})(props);\n};\nexport function BsBezier2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h1A1.5 1.5 0 0 1 5 2.5h4.134a1 1 0 1 1 0 1h-2.01c.18.18.34.381.484.605.638.992.892 2.354.892 3.895 0 1.993.257 3.092.713 3.7.356.476.895.721 1.787.784A1.5 1.5 0 0 1 12.5 11h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5H6.866a1 1 0 1 1 0-1h1.711a2.839 2.839 0 0 1-.165-.2C7.743 11.407 7.5 10.007 7.5 8c0-1.46-.246-2.597-.733-3.355-.39-.605-.952-1-1.767-1.112A1.5 1.5 0 0 1 3.5 5h-1A1.5 1.5 0 0 1 1 3.5v-1zM2.5 2a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm10 10a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsBicycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4.5a.5.5 0 0 1 .5-.5H6a.5.5 0 0 1 0 1v.5h4.14l.386-1.158A.5.5 0 0 1 11 4h1a.5.5 0 0 1 0 1h-.64l-.311.935.807 1.29a3 3 0 1 1-.848.53l-.508-.812-2.076 3.322A.5.5 0 0 1 8 10.5H5.959a3 3 0 1 1-1.815-3.274L5 5.856V5h-.5a.5.5 0 0 1-.5-.5zm1.5 2.443-.508.814c.5.444.85 1.054.967 1.743h1.139L5.5 6.943zM8 9.057 9.598 6.5H6.402L8 9.057zM4.937 9.5a1.997 1.997 0 0 0-.487-.877l-.548.877h1.035zM3.603 8.092A2 2 0 1 0 4.937 10.5H3a.5.5 0 0 1-.424-.765l1.027-1.643zm7.947.53a2 2 0 1 0 .848-.53l1.026 1.643a.5.5 0 1 1-.848.53L11.55 8.623z\"}}]})(props);\n};\nexport function BsBinocularsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1A1.5 1.5 0 0 0 3 2.5V3h4v-.5A1.5 1.5 0 0 0 5.5 1h-1zM7 4v1h2V4h4v.882a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V13H9v-1.5a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5V13H1V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V4h4zM1 14v.5A1.5 1.5 0 0 0 2.5 16h3A1.5 1.5 0 0 0 7 14.5V14H1zm8 0v.5a1.5 1.5 0 0 0 1.5 1.5h3a1.5 1.5 0 0 0 1.5-1.5V14H9zm4-11H9v-.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5V3z\"}}]})(props);\n};\nexport function BsBinoculars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5A1.5 1.5 0 0 1 4.5 1h1A1.5 1.5 0 0 1 7 2.5V5h2V2.5A1.5 1.5 0 0 1 10.5 1h1A1.5 1.5 0 0 1 13 2.5v2.382a.5.5 0 0 0 .276.447l.895.447A1.5 1.5 0 0 1 15 7.118V14.5a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 14.5v-3a.5.5 0 0 1 .146-.354l.854-.853V9.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v.793l.854.853A.5.5 0 0 1 7 11.5v3A1.5 1.5 0 0 1 5.5 16h-3A1.5 1.5 0 0 1 1 14.5V7.118a1.5 1.5 0 0 1 .83-1.342l.894-.447A.5.5 0 0 0 3 4.882V2.5zM4.5 2a.5.5 0 0 0-.5.5V3h2v-.5a.5.5 0 0 0-.5-.5h-1zM6 4H4v.882a1.5 1.5 0 0 1-.83 1.342l-.894.447A.5.5 0 0 0 2 7.118V13h4v-1.293l-.854-.853A.5.5 0 0 1 5 10.5v-1A1.5 1.5 0 0 1 6.5 8h3A1.5 1.5 0 0 1 11 9.5v1a.5.5 0 0 1-.146.354l-.854.853V13h4V7.118a.5.5 0 0 0-.276-.447l-.895-.447A1.5 1.5 0 0 1 12 4.882V4h-2v1.5a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V4zm4-1h2v-.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5V3zm4 11h-4v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V14zm-8 0H2v.5a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5V14z\"}}]})(props);\n};\nexport function BsBlockquoteLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm5 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm-5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm.79-5.373c.112-.078.26-.17.444-.275L3.524 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282c.024-.203.065-.37.123-.498a1.38 1.38 0 0 1 .252-.37 1.94 1.94 0 0 1 .346-.298zm2.167 0c.113-.078.262-.17.445-.275L5.692 6c-.122.074-.272.17-.452.287-.18.117-.35.26-.51.428a2.425 2.425 0 0 0-.398.562c-.11.207-.164.438-.164.692 0 .36.072.65.217.873.144.219.385.328.72.328.215 0 .383-.07.504-.211a.697.697 0 0 0 .188-.463c0-.23-.07-.404-.211-.521-.137-.121-.326-.182-.568-.182h-.282a1.75 1.75 0 0 1 .118-.492c.058-.13.144-.254.257-.375a1.94 1.94 0 0 1 .346-.3z\"}}]})(props);\n};\nexport function BsBlockquoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-6zm0 3a.5.5 0 0 0 0 1h11a.5.5 0 0 0 0-1h-11zm10.113-5.373a6.59 6.59 0 0 0-.445-.275l.21-.352c.122.074.272.17.452.287.18.117.35.26.51.428.156.164.289.351.398.562.11.207.164.438.164.692 0 .36-.072.65-.216.873-.145.219-.385.328-.721.328-.215 0-.383-.07-.504-.211a.697.697 0 0 1-.188-.463c0-.23.07-.404.211-.521.137-.121.326-.182.569-.182h.281a1.686 1.686 0 0 0-.123-.498 1.379 1.379 0 0 0-.252-.37 1.94 1.94 0 0 0-.346-.298zm-2.168 0A6.59 6.59 0 0 0 10 6.352L10.21 6c.122.074.272.17.452.287.18.117.35.26.51.428.156.164.289.351.398.562.11.207.164.438.164.692 0 .36-.072.65-.216.873-.145.219-.385.328-.721.328-.215 0-.383-.07-.504-.211a.697.697 0 0 1-.188-.463c0-.23.07-.404.211-.521.137-.121.327-.182.569-.182h.281a1.749 1.749 0 0 0-.117-.492 1.402 1.402 0 0 0-.258-.375 1.94 1.94 0 0 0-.346-.3z\"}}]})(props);\n};\nexport function BsBookFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBookHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2.687c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811V2.828zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z\"}}]})(props);\n};\nexport function BsBookmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm8.854-9.646a.5.5 0 0 0-.708-.708L7.5 7.793 6.354 6.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsBookmarkCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6 6a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsBookmarkDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 6.5A.5.5 0 0 1 6 6h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2v13.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2z\"}}]})(props);\n};\nexport function BsBookmarkHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 15.5a.5.5 0 0 0 .74.439L8 13.069l5.26 2.87A.5.5 0 0 0 14 15.5V2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13.5zM8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}}]})(props);\n};\nexport function BsBookmarkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4.41c1.387-1.425 4.854 1.07 0 4.277C3.146 5.48 6.613 2.986 8 4.412z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zm6.5-11a.5.5 0 0 0-1 0V6H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V7H10a.5.5 0 0 0 0-1H8.5V4.5z\"}}]})(props);\n};\nexport function BsBookmarkPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsBookmarkStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM8.16 4.1a.178.178 0 0 0-.32 0l-.634 1.285a.178.178 0 0 1-.134.098l-1.42.206a.178.178 0 0 0-.098.303L6.58 6.993c.042.041.061.1.051.158L6.39 8.565a.178.178 0 0 0 .258.187l1.27-.668a.178.178 0 0 1 .165 0l1.27.668a.178.178 0 0 0 .257-.187L9.368 7.15a.178.178 0 0 1 .05-.158l1.028-1.001a.178.178 0 0 0-.098-.303l-1.42-.206a.178.178 0 0 1-.134-.098L8.16 4.1z\"}}]})(props);\n};\nexport function BsBookmarkStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.84 4.1a.178.178 0 0 1 .32 0l.634 1.285a.178.178 0 0 0 .134.098l1.42.206c.145.021.204.2.098.303L9.42 6.993a.178.178 0 0 0-.051.158l.242 1.414a.178.178 0 0 1-.258.187l-1.27-.668a.178.178 0 0 0-.165 0l-1.27.668a.178.178 0 0 1-.257-.187l.242-1.414a.178.178 0 0 0-.05-.158l-1.03-1.001a.178.178 0 0 1 .098-.303l1.42-.206a.178.178 0 0 0 .134-.098L7.84 4.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 15.5V2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.74.439L8 13.069l-5.26 2.87A.5.5 0 0 1 2 15.5zM6.854 5.146a.5.5 0 1 0-.708.708L7.293 7 6.146 8.146a.5.5 0 1 0 .708.708L8 7.707l1.146 1.147a.5.5 0 1 0 .708-.708L8.707 7l1.147-1.146a.5.5 0 0 0-.708-.708L8 6.293 6.854 5.146z\"}}]})(props);\n};\nexport function BsBookmarkX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 5.146a.5.5 0 0 1 .708 0L8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v13.5a.5.5 0 0 1-.777.416L8 13.101l-5.223 2.815A.5.5 0 0 1 2 15.5V2zm2-1a1 1 0 0 0-1 1v12.566l4.723-2.482a.5.5 0 0 1 .554 0L13 14.566V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsBookmarksFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1A2 2 0 0 1 6 0h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L13 13.768V2a1 1 0 0 0-1-1H4.268z\"}}]})(props);\n};\nexport function BsBookmarks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v11.5a.5.5 0 0 1-.777.416L7 13.101l-4.223 2.815A.5.5 0 0 1 2 15.5V4zm2-1a1 1 0 0 0-1 1v10.566l3.723-2.482a.5.5 0 0 1 .554 0L11 14.566V4a1 1 0 0 0-1-1H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.268 1H12a1 1 0 0 1 1 1v11.768l.223.148A.5.5 0 0 0 14 13.5V2a2 2 0 0 0-2-2H6a2 2 0 0 0-1.732 1z\"}}]})(props);\n};\nexport function BsBookshelf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a.5.5 0 0 1 .5.5V2h10V.5a.5.5 0 0 1 1 0v15a.5.5 0 0 1-1 0V15H3v.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 .5-.5zM3 14h10v-3H3v3zm0-4h10V7H3v3zm0-4h10V3H3v3z\"}}]})(props);\n};\nexport function BsBootstrapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.375 7.125V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H6.375v2.725z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.002 0a4 4 0 0 0-4 4v8a4 4 0 0 0 4 4h8a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4h-8zm1.06 12V3.545h3.399c1.587 0 2.543.809 2.543 2.11 0 .884-.65 1.675-1.483 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396H5.062z\"}}]})(props);\n};\nexport function BsBootstrapReboot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.161 8a6.84 6.84 0 1 0 6.842-6.84.58.58 0 1 1 0-1.16 8 8 0 1 1-6.556 3.412l-.663-.577a.58.58 0 0 1 .227-.997l2.52-.69a.58.58 0 0 1 .728.633l-.332 2.592a.58.58 0 0 1-.956.364l-.643-.56A6.812 6.812 0 0 0 1.16 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.641 11.671V8.843h1.57l1.498 2.828h1.314L9.377 8.665c.897-.3 1.427-1.106 1.427-2.1 0-1.37-.943-2.246-2.456-2.246H5.5v7.352h1.141zm0-3.75V5.277h1.57c.881 0 1.416.499 1.416 1.32 0 .84-.504 1.324-1.386 1.324h-1.6z\"}}]})(props);\n};\nexport function BsBootstrap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.062 12h3.475c1.804 0 2.888-.908 2.888-2.396 0-1.102-.761-1.916-1.904-2.034v-.1c.832-.14 1.482-.93 1.482-1.816 0-1.3-.955-2.11-2.542-2.11H5.062V12zm1.313-4.875V4.658h1.78c.973 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H6.375zm0 3.762V8.162h1.822c1.236 0 1.887.463 1.887 1.348 0 .896-.627 1.377-1.811 1.377H6.375z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4zm4-3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3H4z\"}}]})(props);\n};\nexport function BsBorderAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0h16v16H0V0zm1 1v6.5h6.5V1H1zm7.5 0v6.5H15V1H8.5zM15 8.5H8.5V15H15V8.5zM7.5 15V8.5H1V15h6.5z\"}}]})(props);\n};\nexport function BsBorderBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 15h16v1H0v-1z\"}}]})(props);\n};\nexport function BsBorderCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM0 8.5v-1h16v1H0zm0 .906v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderInner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 7.5H16v1H8.5V16h-1V8.5H0v-1h7.5V0h1v7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm14-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM0 9.406v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v16h1V0H0zm1.906 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM7.5 1.906v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM7.5 3.781v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM7.5 5.656v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM7.5 9.406v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-8.5.937v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM1.906 16h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderMiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM8.5 16h-1V0h1v16zm.906-15h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.469V.969h.5V0h-.969v.5H15v.469h.031V1zM1 2.844v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm14-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm14-.938v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm16 .938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm3.75 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderOuter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.906v.938h1v-.938h-1zm0 1.875v.938h1V3.78h-1zm0 1.875v.938h1v-.938h-1zM1.906 8.5h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM7.5 9.406v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1zm0 1.875v.938h1v-.938h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v16h16V0H0zm1 1h14v14H1V1z\"}}]})(props);\n};\nexport function BsBorderRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.969 0H0v.969h.5V1h.469V.969H1V.5H.969V0zm.937 1h.938V0h-.938v1zm1.875 0h.938V0H3.78v1zm1.875 0h.938V0h-.938v1zM7.531.969V1h.938V.969H8.5V.5h-.031V0H7.53v.5H7.5v.469h.031zM9.406 1h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zm1.875 0h.938V0h-.938v1zM16 0h-1v16h1V0zM1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 11.281v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 13.156v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1z\"}}]})(props);\n};\nexport function BsBorderStyle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm8 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm8 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-4-4a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsBorderTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0v1h16V0H0zm1 2.844v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM1 4.719V3.78H0v.938h1zm6.5-.938v.938h1V3.78h-1zm7.5 0v.938h1V3.78h-1zM1 6.594v-.938H0v.938h1zm6.5-.938v.938h1v-.938h-1zm7.5 0v.938h1v-.938h-1zM.5 8.5h.469v-.031H1V7.53H.969V7.5H.5v.031H0v.938h.5V8.5zm1.406 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm2.813 0v-.031H8.5V7.53h-.031V7.5H7.53v.031H7.5v.938h.031V8.5h.938zm.937 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.469v-.031h.5V7.53h-.5V7.5h-.469v.031H15v.938h.031V8.5zM0 9.406v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zm-16 .937v.938h1v-.938H0zm7.5 0v.938h1v-.938h-1zm8.5.938v-.938h-1v.938h1zM0 16h.969v-.5H1v-.469H.969V15H.5v.031H0V16zm1.906 0h.938v-1h-.938v1zm1.875 0h.938v-1H3.78v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5h.938v-.5H8.5v-.469h-.031V15H7.53v.031H7.5v.469h.031zm1.875.5h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875 0h.938v-1h-.938v1zm1.875-.5v.5H16v-.969h-.5V15h-.469v.031H15v.469h.031z\"}}]})(props);\n};\nexport function BsBorderWidth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-2zm0 5A.5.5 0 0 1 .5 8h15a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-1zm0 4a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsBorder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 0h.969v.5H1v.469H.969V1H.5V.969H0V0zm2.844 1h-.938V0h.938v1zm1.875 0H3.78V0h.938v1zm1.875 0h-.938V0h.938v1zm.937 0V.969H7.5V.5h.031V0h.938v.5H8.5v.469h-.031V1H7.53zm2.813 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zm1.875 0h-.938V0h.938v1zM15.5 1h-.469V.969H15V.5h.031V0H16v.969h-.5V1zM1 1.906v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM1 3.78v.938H0V3.78h1zm6.5.938V3.78h1v.938h-1zm7.5 0V3.78h1v.938h-1zM1 5.656v.938H0v-.938h1zm6.5.938v-.938h1v.938h-1zm7.5 0v-.938h1v.938h-1zM.969 8.5H.5v-.031H0V7.53h.5V7.5h.469v.031H1v.938H.969V8.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875-.031V8.5H7.53v-.031H7.5V7.53h.031V7.5h.938v.031H8.5v.938h-.031zm1.875.031h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.406 0h-.469v-.031H15V7.53h.031V7.5h.469v.031h.5v.938h-.5V8.5zM0 10.344v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 12.22v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM0 14.094v-.938h1v.938H0zm7.5 0v-.938h1v.938h-1zm8.5-.938v.938h-1v-.938h1zM.969 16H0v-.969h.5V15h.469v.031H1v.469H.969v.5zm1.875 0h-.938v-1h.938v1zm1.875 0H3.78v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H7.5v-.469h.031V15h.938v.031H8.5v.469h-.031v.5H7.53zm2.813 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm1.875 0h-.938v-1h.938v1zm.937 0v-.5H15v-.469h.031V15h.469v.031h.5V16h-.969z\"}}]})(props);\n};\nexport function BsBoundingBoxCircles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM0 2a2 2 0 0 1 3.937-.5h8.126A2 2 0 1 1 14.5 3.937v8.126a2 2 0 1 1-2.437 2.437H3.937A2 2 0 1 1 1.5 12.063V3.937A2 2 0 0 1 0 2zm2.5 1.937v8.126c.703.18 1.256.734 1.437 1.437h8.126a2.004 2.004 0 0 1 1.437-1.437V3.937A2.004 2.004 0 0 1 12.063 2.5H3.937A2.004 2.004 0 0 1 2.5 3.937zM14 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM2 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsBoundingBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2V0H0v5h2v6H0v5h5v-2h6v2h5v-5h-2V5h2V0h-5v2H5zm6 1v2h2v6h-2v2H5v-2H3V5h2V3h6zm1-2h3v3h-3V1zm3 11v3h-3v-3h3zM4 15H1v-3h3v3zM1 4V1h3v3H1z\"}}]})(props);\n};\nexport function BsBoxArrowDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.364 12.5a.5.5 0 0 0 .5.5H14.5a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 14.5 0h-10A1.5 1.5 0 0 0 3 1.5v6.636a.5.5 0 1 0 1 0V1.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H7.864a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 15.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H1.707l8.147-8.146a.5.5 0 0 0-.708-.708L1 14.293V10.5a.5.5 0 0 0-1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.636 12.5a.5.5 0 0 1-.5.5H1.5A1.5 1.5 0 0 1 0 11.5v-10A1.5 1.5 0 0 1 1.5 0h10A1.5 1.5 0 0 1 13 1.5v6.636a.5.5 0 0 1-1 0V1.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h6.636a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 15.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h3.793L6.146 6.854a.5.5 0 1 1 .708-.708L15 14.293V10.5a.5.5 0 0 1 1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 10a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 0 0 1h2A1.5 1.5 0 0 0 14 9.5v-8A1.5 1.5 0 0 0 12.5 0h-9A1.5 1.5 0 0 0 2 1.5v8A1.5 1.5 0 0 0 3.5 11h2a.5.5 0 0 0 0-1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V5.5a.5.5 0 0 0-1 0v8.793l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsBoxArrowInDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.636 2.5a.5.5 0 0 0-.5-.5H2.5A1.5 1.5 0 0 0 1 3.5v10A1.5 1.5 0 0 0 2.5 15h10a1.5 1.5 0 0 0 1.5-1.5V6.864a.5.5 0 0 0-1 0V13.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 10.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 0-1H6.707l8.147-8.146a.5.5 0 0 0-.708-.708L6 9.293V5.5a.5.5 0 0 0-1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowInDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.364 2.5a.5.5 0 0 1 .5-.5H13.5A1.5 1.5 0 0 1 15 3.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 2 13.5V6.864a.5.5 0 1 1 1 0V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H6.864a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 10.5a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1 0-1h3.793L1.146 1.854a.5.5 0 1 1 .708-.708L10 9.293V5.5a.5.5 0 0 1 1 0v5z\"}}]})(props);\n};\nexport function BsBoxArrowInDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsBoxArrowInLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 14h-8A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v2a.5.5 0 0 1-1 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H14.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z\"}}]})(props);\n};\nexport function BsBoxArrowInRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 0-1 0v2A1.5 1.5 0 0 0 6.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-8A1.5 1.5 0 0 0 5 3.5v2a.5.5 0 0 0 1 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H1.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowInUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.636 13.5a.5.5 0 0 1-.5.5H2.5A1.5 1.5 0 0 1 1 12.5v-10A1.5 1.5 0 0 1 2.5 1h10A1.5 1.5 0 0 1 14 2.5v6.636a.5.5 0 0 1-1 0V2.5a.5.5 0 0 0-.5-.5h-10a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h6.636a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1H6.707l8.147 8.146a.5.5 0 0 1-.708.708L6 6.707V10.5a.5.5 0 0 1-1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowInUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.364 13.5a.5.5 0 0 0 .5.5H13.5a1.5 1.5 0 0 0 1.5-1.5v-10A1.5 1.5 0 0 0 13.5 1h-10A1.5 1.5 0 0 0 2 2.5v6.636a.5.5 0 1 0 1 0V2.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v10a.5.5 0 0 1-.5.5H6.864a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 5.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793l-8.147 8.146a.5.5 0 0 0 .708.708L10 6.707V10.5a.5.5 0 0 0 1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowInUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 10a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 0 0 1h2A1.5 1.5 0 0 0 14 9.5v-8A1.5 1.5 0 0 0 12.5 0h-9A1.5 1.5 0 0 0 2 1.5v8A1.5 1.5 0 0 0 3.5 11h2a.5.5 0 0 0 0-1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V14.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 1-1 0v-2A1.5 1.5 0 0 1 6.5 2h8A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 5 12.5v-2a.5.5 0 0 1 1 0v2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z\"}}]})(props);\n};\nexport function BsBoxArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z\"}}]})(props);\n};\nexport function BsBoxArrowUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.364 3.5a.5.5 0 0 1 .5-.5H14.5A1.5 1.5 0 0 1 16 4.5v10a1.5 1.5 0 0 1-1.5 1.5h-10A1.5 1.5 0 0 1 3 14.5V7.864a.5.5 0 1 1 1 0V14.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5v-10a.5.5 0 0 0-.5-.5H7.864a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 0 1H1.707l8.147 8.146a.5.5 0 0 1-.708.708L1 1.707V5.5a.5.5 0 0 1-1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z\"}}]})(props);\n};\nexport function BsBoxArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.5 6a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-8a.5.5 0 0 0-.5-.5h-2a.5.5 0 0 1 0-1h2A1.5 1.5 0 0 1 14 6.5v8a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-8A1.5 1.5 0 0 1 3.5 5h2a.5.5 0 0 1 0 1h-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 1.707V10.5a.5.5 0 0 1-1 0V1.707L5.354 3.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsBoxSeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z\"}}]})(props);\n};\nexport function BsBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5 8 5.961 14.154 3.5 8.186 1.113zM15 4.239l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z\"}}]})(props);\n};\nexport function BsBraces (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6zM13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6z\"}}]})(props);\n};\nexport function BsBricks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .5A.5.5 0 0 1 .5 0h15a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v2h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H14v2h1.5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5H.5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5H2v-2H.5a.5.5 0 0 1-.5-.5v-3A.5.5 0 0 1 .5 6H2V4H.5a.5.5 0 0 1-.5-.5v-3zM3 4v2h4.5V4H3zm5.5 0v2H13V4H8.5zM3 10v2h4.5v-2H3zm5.5 0v2H13v-2H8.5zM1 1v2h3.5V1H1zm4.5 0v2h5V1h-5zm6 0v2H15V1h-3.5zM1 7v2h3.5V7H1zm4.5 0v2h5V7h-5zm6 0v2H15V7h-3.5zM1 13v2h3.5v-2H1zm4.5 0v2h5v-2h-5zm6 0v2H15v-2h-3.5z\"}}]})(props);\n};\nexport function BsBriefcaseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v1.384l7.614 2.03a1.5 1.5 0 0 0 .772 0L16 5.884V4.5A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.5A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5V6.85L8.129 8.947a.5.5 0 0 1-.258 0L0 6.85v5.65z\"}}]})(props);\n};\nexport function BsBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A1.5 1.5 0 0 0 5 2.5V3H1.5A1.5 1.5 0 0 0 0 4.5v8A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-8A1.5 1.5 0 0 0 14.5 3H11v-.5A1.5 1.5 0 0 0 9.5 1h-3zm0 1h3a.5.5 0 0 1 .5.5V3H6v-.5a.5.5 0 0 1 .5-.5zm1.886 6.914L15 7.151V12.5a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5V7.15l6.614 1.764a1.5 1.5 0 0 0 .772 0zM1.5 4h13a.5.5 0 0 1 .5.5v1.616L8.129 7.948a.5.5 0 0 1-.258 0L1 6.116V4.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsBrightnessAltHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsBrightnessAltHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm8 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zm-13.5.5a.5.5 0 0 0 0-1h-2a.5.5 0 0 0 0 1h2zm11.157-6.157a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm-9.9 2.121a.5.5 0 0 0 .707-.707L3.05 5.343a.5.5 0 1 0-.707.707l1.414 1.414zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4zm0 1a3 3 0 0 1 2.959 2.5H5.04A3 3 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsBrightnessAltLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4z\"}}]})(props);\n};\nexport function BsBrightnessAltLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5 6a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 11a.5.5 0 1 0 1 0 .5.5 0 0 0-1 0zm10.243-3.536a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-8.486-.707a.5.5 0 1 0 .707.707.5.5 0 0 0-.707-.707zM8 7a4 4 0 0 0-4 4 .5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5 4 4 0 0 0-4-4zm0 1a3 3 0 0 1 2.959 2.5H5.04A3 3 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsBrightnessHighFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsBrightnessHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsBrightnessLowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8a4 4 0 1 1-8 0 4 4 0 0 1 8 0zM8.5 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsBrightnessLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm.5-9.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 11a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm5-5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-11 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9.743-4.036a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm-7.779 7.779a.5.5 0 1 1-.707-.707.5.5 0 0 1 .707.707zm7.072 0a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707zM3.757 4.464a.5.5 0 1 1 .707-.707.5.5 0 0 1-.707.707z\"}}]})(props);\n};\nexport function BsBroadcastPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707zm2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708zm5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708zm2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM6 8a2 2 0 1 1 2.5 1.937V15.5a.5.5 0 0 1-1 0V9.937A2 2 0 0 1 6 8z\"}}]})(props);\n};\nexport function BsBroadcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.05 3.05a7 7 0 0 0 0 9.9.5.5 0 0 1-.707.707 8 8 0 0 1 0-11.314.5.5 0 0 1 .707.707zm2.122 2.122a4 4 0 0 0 0 5.656.5.5 0 1 1-.708.708 5 5 0 0 1 0-7.072.5.5 0 0 1 .708.708zm5.656-.708a.5.5 0 0 1 .708 0 5 5 0 0 1 0 7.072.5.5 0 1 1-.708-.708 4 4 0 0 0 0-5.656.5.5 0 0 1 0-.708zm2.122-2.12a.5.5 0 0 1 .707 0 8 8 0 0 1 0 11.313.5.5 0 0 1-.707-.707 7 7 0 0 0 0-9.9.5.5 0 0 1 0-.707zM10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsBrushFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04z\"}}]})(props);\n};\nexport function BsBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.825.12a.5.5 0 0 1 .132.584c-1.53 3.43-4.743 8.17-7.095 10.64a6.067 6.067 0 0 1-2.373 1.534c-.018.227-.06.538-.16.868-.201.659-.667 1.479-1.708 1.74a8.118 8.118 0 0 1-3.078.132 3.659 3.659 0 0 1-.562-.135 1.382 1.382 0 0 1-.466-.247.714.714 0 0 1-.204-.288.622.622 0 0 1 .004-.443c.095-.245.316-.38.461-.452.394-.197.625-.453.867-.826.095-.144.184-.297.287-.472l.117-.198c.151-.255.326-.54.546-.848.528-.739 1.201-.925 1.746-.896.126.007.243.025.348.048.062-.172.142-.38.238-.608.261-.619.658-1.419 1.187-2.069 2.176-2.67 6.18-6.206 9.117-8.104a.5.5 0 0 1 .596.04zM4.705 11.912a1.23 1.23 0 0 0-.419-.1c-.246-.013-.573.05-.879.479-.197.275-.355.532-.5.777l-.105.177c-.106.181-.213.362-.32.528a3.39 3.39 0 0 1-.76.861c.69.112 1.736.111 2.657-.12.559-.139.843-.569.993-1.06a3.122 3.122 0 0 0 .126-.75l-.793-.792zm1.44.026c.12-.04.277-.1.458-.183a5.068 5.068 0 0 0 1.535-1.1c1.9-1.996 4.412-5.57 6.052-8.631-2.59 1.927-5.566 4.66-7.302 6.792-.442.543-.795 1.243-1.042 1.826-.121.288-.214.54-.275.72v.001l.575.575zm-4.973 3.04.007-.005a.031.031 0 0 1-.007.004zm3.582-3.043.002.001h-.002z\"}}]})(props);\n};\nexport function BsBucketFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527z\"}}]})(props);\n};\nexport function BsBucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.522 5H2a.5.5 0 0 0-.494.574l1.372 9.149A1.5 1.5 0 0 0 4.36 16h7.278a1.5 1.5 0 0 0 1.483-1.277l1.373-9.149A.5.5 0 0 0 14 5h-.522A5.5 5.5 0 0 0 2.522 5zm1.005 0a4.5 4.5 0 0 1 8.945 0H3.527zm9.892 1-1.286 8.574a.5.5 0 0 1-.494.426H4.36a.5.5 0 0 1-.494-.426L2.58 6h10.838z\"}}]})(props);\n};\nexport function BsBugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.978.855a.5.5 0 1 0-.956.29l.41 1.352A4.985 4.985 0 0 0 3 6h10a4.985 4.985 0 0 0-1.432-3.503l.41-1.352a.5.5 0 1 0-.956-.29l-.291.956A4.978 4.978 0 0 0 8 1a4.979 4.979 0 0 0-2.731.811l-.29-.956z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6v1H8.5v8.975A5 5 0 0 0 13 11h.5a.5.5 0 0 1 .5.5v.5a.5.5 0 1 0 1 0v-.5a1.5 1.5 0 0 0-1.5-1.5H13V9h1.5a.5.5 0 0 0 0-1H13V7h.5A1.5 1.5 0 0 0 15 5.5V5a.5.5 0 0 0-1 0v.5a.5.5 0 0 1-.5.5H13zm-5.5 9.975V7H3V6h-.5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 0-1 0v.5A1.5 1.5 0 0 0 2.5 7H3v1H1.5a.5.5 0 0 0 0 1H3v1h-.5A1.5 1.5 0 0 0 1 11.5v.5a.5.5 0 1 0 1 0v-.5a.5.5 0 0 1 .5-.5H3a5 5 0 0 0 4.5 4.975z\"}}]})(props);\n};\nexport function BsBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.355.522a.5.5 0 0 1 .623.333l.291.956A4.979 4.979 0 0 1 8 1c1.007 0 1.946.298 2.731.811l.29-.956a.5.5 0 1 1 .957.29l-.41 1.352A4.985 4.985 0 0 1 13 6h.5a.5.5 0 0 0 .5-.5V5a.5.5 0 0 1 1 0v.5A1.5 1.5 0 0 1 13.5 7H13v1h1.5a.5.5 0 0 1 0 1H13v1h.5a1.5 1.5 0 0 1 1.5 1.5v.5a.5.5 0 1 1-1 0v-.5a.5.5 0 0 0-.5-.5H13a5 5 0 0 1-10 0h-.5a.5.5 0 0 0-.5.5v.5a.5.5 0 1 1-1 0v-.5A1.5 1.5 0 0 1 2.5 10H3V9H1.5a.5.5 0 0 1 0-1H3V7h-.5A1.5 1.5 0 0 1 1 5.5V5a.5.5 0 0 1 1 0v.5a.5.5 0 0 0 .5.5H3c0-1.364.547-2.601 1.432-3.503l-.41-1.352a.5.5 0 0 1 .333-.623zM4 7v4a4 4 0 0 0 3.5 3.97V7H4zm4.5 0v7.97A4 4 0 0 0 12 11V7H8.5zM12 6a3.989 3.989 0 0 0-1.334-2.982A3.983 3.983 0 0 0 8 2a3.983 3.983 0 0 0-2.667 1.018A3.989 3.989 0 0 0 4 6h8z\"}}]})(props);\n};\nexport function BsBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z\"}}]})(props);\n};\nexport function BsBullseye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 1 8 3a5 5 0 0 1 0 10zm0 1A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsCalculatorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 .5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM4 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM7.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM7 9.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM10 6.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-2zm0 4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-4z\"}}]})(props);\n};\nexport function BsCalendarCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-5.146-5.146-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarDateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm5.402 9.746c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-6.664-1.21c-1.11 0-1.656-.767-1.703-1.407h.683c.043.37.387.82 1.051.82.844 0 1.301-.848 1.305-2.164h-.027c-.153.414-.637.79-1.383.79-.852 0-1.676-.61-1.676-1.77 0-1.137.871-1.809 1.797-1.809 1.172 0 1.953.734 1.953 2.668 0 1.805-.742 2.871-2 2.871zm-2.89-5.435v5.332H5.77V8.079h-.012c-.29.156-.883.52-1.258.777V8.16a12.6 12.6 0 0 1 1.313-.805h.632z\"}}]})(props);\n};\nexport function BsCalendarDate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.445 11.688V6.354h-.633A12.6 12.6 0 0 0 4.5 7.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarDayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16v9zm-4.785-6.145a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43c0 .238.192.425.43.425zm.336.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsCalendarDay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.684 11.523v-2.3h2.261v-.61H4.684V6.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V8.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105zm2.805-5.093c0 .238.192.425.43.425a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43zm.094 5.093h.672V7.418h-.672v4.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarEventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zm-3.5-7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarEvent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5h16V4H0V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.5A.5.5 0 0 1 6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarMonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zm.104 7.305L4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM2.56 12.332h-.71L3.748 7h.696l1.898 5.332h-.719l-.539-1.602H3.1l-.54 1.602zm7.29-4.105v4.105h-.668v-.539h-.027c-.145.324-.532.605-1.188.605-.847 0-1.453-.484-1.453-1.425V8.227h.676v2.554c0 .766.441 1.012.98 1.012.59 0 1.004-.371 1.004-1.023V8.227h.676zm1.273 4.41c.075.332.422.636.985.636.648 0 1.07-.378 1.07-1.023v-.605h-.02c-.163.355-.613.648-1.171.648-.957 0-1.64-.672-1.64-1.902v-.34c0-1.207.675-1.887 1.64-1.887.558 0 1.004.293 1.195.64h.02v-.577h.648v4.03c0 1.052-.816 1.579-1.746 1.579-1.043 0-1.574-.516-1.668-1.2h.687z\"}}]})(props);\n};\nexport function BsCalendarMonth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.56 11.332 3.1 9.73h1.984l.54 1.602h.718L4.444 6h-.696L1.85 11.332h.71zm1.544-4.527L4.9 9.18H3.284l.8-2.375h.02zm5.746.422h-.676V9.77c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V7.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V7.227zm2.258 5.046c-.563 0-.91-.304-.985-.636h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V7.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023zm.008-4.53c.648 0 1.062.527 1.062 1.359v.253c0 .848-.39 1.364-1.062 1.364-.692 0-1.098-.512-1.098-1.364v-.253c0-.868.406-1.36 1.098-1.36z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM8.5 8.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7a.5.5 0 0 1 .5.5V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5A.5.5 0 0 1 8 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarRangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 7V5H0v5h5a1 1 0 1 1 0 2H0v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9h-6a1 1 0 1 1 0-2h6z\"}}]})(props);\n};\nexport function BsCalendarRange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7a1 1 0 0 1 1-1h5v2h-5a1 1 0 0 1-1-1zM1 9h4a1 1 0 0 1 0 2H1V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarWeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM9.5 7h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zm3 0h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5zM2 10.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3.5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsCalendarWeek (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendarXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6.854 8.146 8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCalendarX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 7.146a.5.5 0 0 1 .708 0L8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z\"}}]})(props);\n};\nexport function BsCalendar2CheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.6 5.854a.5.5 0 0 0-.708-.708L7.5 10.793 6.354 9.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}}]})(props);\n};\nexport function BsCalendar2Check (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 8.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2DateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.402 10.246c.625 0 1.184-.484 1.184-1.18 0-.832-.527-1.23-1.16-1.23-.586 0-1.168.387-1.168 1.21 0 .817.543 1.2 1.144 1.2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-4.118 9.79c1.258 0 2-1.067 2-2.872 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684c.047.64.594 1.406 1.703 1.406zm-2.89-5.435h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675V7.354z\"}}]})(props);\n};\nexport function BsCalendar2Date (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.445 12.688V7.354h-.633A12.6 12.6 0 0 0 4.5 8.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2DayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-2.24 4.855a.428.428 0 1 0 0-.855.426.426 0 0 0-.429.43c0 .238.192.425.43.425zm.337.563h-.672v4.105h.672V8.418zm-6.867 4.105v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105z\"}}]})(props);\n};\nexport function BsCalendar2Day (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.684 12.523v-2.3h2.261v-.61H4.684V7.801h2.464v-.61H4v5.332h.684zm3.296 0h.676V9.98c0-.554.227-1.007.953-1.007.125 0 .258.004.329.015v-.613a1.806 1.806 0 0 0-.254-.02c-.582 0-.891.32-1.012.567h-.02v-.504H7.98v4.105zm2.805-5.093c0 .238.192.425.43.425a.428.428 0 1 0 0-.855.426.426 0 0 0-.43.43zm.094 5.093h.672V8.418h-.672v4.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM11.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalendar2Event (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM2.545 3h10.91c.3 0 .545.224.545.5v1c0 .276-.244.5-.546.5H2.545C2.245 5 2 4.776 2 4.5v-1c0-.276.244-.5.545-.5z\"}}]})(props);\n};\nexport function BsCalendar2MinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM6 10a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsCalendar2Minus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 10.5A.5.5 0 0 1 6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2MonthFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.104 7.805 4.9 10.18H3.284l.8-2.375h.02zm9.074 2.297c0-.832-.414-1.36-1.062-1.36-.692 0-1.098.492-1.098 1.36v.253c0 .852.406 1.364 1.098 1.364.671 0 1.062-.516 1.062-1.364v-.253z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM2.561 12.332 3.1 10.73h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zM9.85 8.227h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm1.273 4.41h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023-.563 0-.91-.304-.985-.636z\"}}]})(props);\n};\nexport function BsCalendar2Month (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.56 12.332.54-1.602h1.984l.54 1.602h.718L4.444 7h-.696L1.85 12.332h.71zm1.544-4.527L4.9 10.18H3.284l.8-2.375h.02zm5.746.422h-.676v2.543c0 .652-.414 1.023-1.004 1.023-.539 0-.98-.246-.98-1.012V8.227h-.676v2.746c0 .941.606 1.425 1.453 1.425.656 0 1.043-.28 1.188-.605h.027v.539h.668V8.227zm2.258 5.046c-.563 0-.91-.304-.985-.636h-.687c.094.683.625 1.199 1.668 1.199.93 0 1.746-.527 1.746-1.578V8.227h-.649v.578h-.019c-.191-.348-.637-.64-1.195-.64-.965 0-1.64.679-1.64 1.886v.34c0 1.23.683 1.902 1.64 1.902.558 0 1.008-.293 1.172-.648h.02v.605c0 .645-.423 1.023-1.071 1.023zm.008-4.53c.648 0 1.062.527 1.062 1.359v.253c0 .848-.39 1.364-1.062 1.364-.692 0-1.098-.512-1.098-1.364v-.253c0-.868.406-1.36 1.098-1.36z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2PlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 3.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5H2.545c-.3 0-.545.224-.545.5zm6.5 5a.5.5 0 0 0-1 0V10H6a.5.5 0 0 0 0 1h1.5v1.5a.5.5 0 0 0 1 0V11H10a.5.5 0 0 0 0-1H8.5V8.5z\"}}]})(props);\n};\nexport function BsCalendar2Plus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM8 8a.5.5 0 0 1 .5.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5A.5.5 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsCalendar2RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM10 7a1 1 0 0 0 0 2h5V7h-5zm-4 4a1 1 0 0 0-1-1H1v2h4a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsCalendar2Range (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM9 8a1 1 0 0 1 1-1h5v2h-5a1 1 0 0 1-1-1zm-8 2h4a1 1 0 1 1 0 2H1v-2z\"}}]})(props);\n};\nexport function BsCalendar2WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zM8.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm3 0a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM3 10.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm3.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsCalendar2Week (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar2XFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zm9.954 3H2.545c-.3 0-.545.224-.545.5v1c0 .276.244.5.545.5h10.91c.3 0 .545-.224.545-.5v-1c0-.276-.244-.5-.546-.5zm-6.6 5.146a.5.5 0 1 0-.708.708L7.293 10l-1.147 1.146a.5.5 0 0 0 .708.708L8 10.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 10l1.147-1.146a.5.5 0 0 0-.708-.708L8 9.293 6.854 8.146z\"}}]})(props);\n};\nexport function BsCalendar2X (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 8.146a.5.5 0 0 1 .708 0L8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4z\"}}]})(props);\n};\nexport function BsCalendar3EventFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsCalendar3Event (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2H0zm0 1v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3H0z\"}}]})(props);\n};\nexport function BsCalendar3RangeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 8V3h16v2h-6a1 1 0 1 0 0 2h6v7a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-4h6a1 1 0 1 0 0-2H0z\"}}]})(props);\n};\nexport function BsCalendar3Range (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10a1 1 0 0 0 0-2H1v2h6zm2-3h6V5H9a1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3WeekFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 0a2 2 0 0 0-2 2h16a2 2 0 0 0-2-2H2zM0 14V3h16v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm12-8a1 1 0 1 0 2 0 1 1 0 0 0-2 0zM5 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm5-2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM2 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsCalendar3Week (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-5 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm2-3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-5 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsCalendar4Event (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar4Range (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7.5a.5.5 0 0 1 .5-.5H15v2H9.5a.5.5 0 0 1-.5-.5v-1zm-2 3v1a.5.5 0 0 1-.5.5H1v-2h5.5a.5.5 0 0 1 .5.5z\"}}]})(props);\n};\nexport function BsCalendar4Week (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCalendar4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1H2zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5z\"}}]})(props);\n};\nexport function BsCameraFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2zm.5 2a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm9 2.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0z\"}}]})(props);\n};\nexport function BsCameraReelsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7z\"}}]})(props);\n};\nexport function BsCameraReels (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0zM1 3a2 2 0 1 0 4 0 2 2 0 0 0-4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h7zm6 8.73V7.27l-3.5 1.555v4.35l3.5 1.556zM1 8v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM7 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCameraVideoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5z\"}}]})(props);\n};\nexport function BsCameraVideoOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l6.69 9.365zm-10.114-9A2.001 2.001 0 0 0 0 5v6a2 2 0 0 0 2 2h5.728L.847 3.366zm9.746 11.925-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsCameraVideoOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.961 12.365a1.99 1.99 0 0 0 .522-1.103l3.11 1.382A1 1 0 0 0 16 11.731V4.269a1 1 0 0 0-1.406-.913l-3.111 1.382A2 2 0 0 0 9.5 3H4.272l.714 1H9.5a1 1 0 0 1 1 1v6a1 1 0 0 1-.144.518l.605.847zM1.428 4.18A.999.999 0 0 0 1 5v6a1 1 0 0 0 1 1h5.014l.714 1H2a2 2 0 0 1-2-2V5c0-.675.334-1.272.847-1.634l.58.814zM15 11.73l-3.5-1.555v-4.35L15 4.269v7.462zm-4.407 3.56-10-14 .814-.58 10 14-.814.58z\"}}]})(props);\n};\nexport function BsCameraVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 5a2 2 0 0 1 2-2h7.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 4.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 13H2a2 2 0 0 1-2-2V5zm11.5 5.175 3.5 1.556V4.269l-3.5 1.556v4.35zM2 4a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.172a3 3 0 0 0 2.12-.879l.83-.828A1 1 0 0 1 6.827 3h2.344a1 1 0 0 1 .707.293l.828.828A3 3 0 0 0 12.828 5H14a1 1 0 0 1 1 1v6zM2 4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-1.172a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 9.172 2H6.828a2 2 0 0 0-1.414.586l-.828.828A2 2 0 0 1 3.172 4H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm0 1a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zM3 6.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCamera2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8c0-1.657 2.343-3 4-3V4a4 4 0 0 0-4 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.318 3h2.015C15.253 3 16 3.746 16 4.667v6.666c0 .92-.746 1.667-1.667 1.667h-2.015A5.97 5.97 0 0 1 9 14a5.972 5.972 0 0 1-3.318-1H1.667C.747 13 0 12.254 0 11.333V4.667C0 3.747.746 3 1.667 3H2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1h.682A5.97 5.97 0 0 1 9 2c1.227 0 2.367.368 3.318 1zM2 4.5a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0zM14 8A5 5 0 1 0 4 8a5 5 0 0 0 10 0z\"}}]})(props);\n};\nexport function BsCapslockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM4.5 13.5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsCapslock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1H1.654C.78 9.5.326 8.455.924 7.816L7.27 1.047zM14.346 8.5 8 1.731 1.654 8.5H4.5a1 1 0 0 1 1 1v1h5v-1a1 1 0 0 1 1-1h2.846zm-9.846 5a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-1zm6 0h-5v1h5v-1z\"}}]})(props);\n};\nexport function BsCardChecklist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0zM7 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsCardHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0-5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsCardImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm13 1a.5.5 0 0 1 .5.5v6l-3.775-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12v.54A.505.505 0 0 1 1 12.5v-9a.5.5 0 0 1 .5-.5h13z\"}}]})(props);\n};\nexport function BsCardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 5 8zm0-2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0 5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-1-5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zM4 8a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm0 2.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCardText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 8a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 8zm0 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCaretDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z\"}}]})(props);\n};\nexport function BsCaretDownSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 4a.5.5 0 0 0-.374.832l4 4.5a.5.5 0 0 0 .748 0l4-4.5A.5.5 0 0 0 12 6H4z\"}}]})(props);\n};\nexport function BsCaretDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.626 6.832A.5.5 0 0 1 4 6h8a.5.5 0 0 1 .374.832l-4 4.5a.5.5 0 0 1-.748 0l-4-4.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2z\"}}]})(props);\n};\nexport function BsCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.204 5h9.592L8 10.481 3.204 5zm-.753.659 4.796 5.48a1 1 0 0 0 1.506 0l4.796-5.48c.566-.647.106-1.659-.753-1.659H3.204a1 1 0 0 0-.753 1.659z\"}}]})(props);\n};\nexport function BsCaretLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m3.86 8.753 5.482 4.796c.646.566 1.658.106 1.658-.753V3.204a1 1 0 0 0-1.659-.753l-5.48 4.796a1 1 0 0 0 0 1.506z\"}}]})(props);\n};\nexport function BsCaretLeftSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.5 10V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4A.5.5 0 0 0 10.5 12z\"}}]})(props);\n};\nexport function BsCaretLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.205 12.456A.5.5 0 0 0 10.5 12V4a.5.5 0 0 0-.832-.374l-4.5 4a.5.5 0 0 0 0 .748l4.5 4a.5.5 0 0 0 .537.082z\"}}]})(props);\n};\nexport function BsCaretLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12.796V3.204L4.519 8 10 12.796zm-.659.753-5.48-4.796a1 1 0 0 1 0-1.506l5.48-4.796A1 1 0 0 1 11 3.204v9.592a1 1 0 0 1-1.659.753z\"}}]})(props);\n};\nexport function BsCaretRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m12.14 8.753-5.482 4.796c-.646.566-1.658.106-1.658-.753V3.204a1 1 0 0 1 1.659-.753l5.48 4.796a1 1 0 0 1 0 1.506z\"}}]})(props);\n};\nexport function BsCaretRightSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.5 10a.5.5 0 0 0 .832.374l4.5-4a.5.5 0 0 0 0-.748l-4.5-4A.5.5 0 0 0 5.5 4v8z\"}}]})(props);\n};\nexport function BsCaretRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.795 12.456A.5.5 0 0 1 5.5 12V4a.5.5 0 0 1 .832-.374l4.5 4a.5.5 0 0 1 0 .748l-4.5 4a.5.5 0 0 1-.537.082z\"}}]})(props);\n};\nexport function BsCaretRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12.796V3.204L11.481 8 6 12.796zm.659.753 5.48-4.796a1 1 0 0 0 0-1.506L6.66 2.451C6.011 1.885 5 2.345 5 3.204v9.592a1 1 0 0 0 1.659.753z\"}}]})(props);\n};\nexport function BsCaretUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.247 4.86-4.796 5.481c-.566.647-.106 1.659.753 1.659h9.592a1 1 0 0 0 .753-1.659l-4.796-5.48a1 1 0 0 0-1.506 0z\"}}]})(props);\n};\nexport function BsCaretUpSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm4 9h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5A.5.5 0 0 0 4 11z\"}}]})(props);\n};\nexport function BsCaretUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.544 10.705A.5.5 0 0 0 4 11h8a.5.5 0 0 0 .374-.832l-4-4.5a.5.5 0 0 0-.748 0l-4 4.5a.5.5 0 0 0-.082.537z\"}}]})(props);\n};\nexport function BsCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.204 11h9.592L8 5.519 3.204 11zm-.753-.659 4.796-5.48a1 1 0 0 1 1.506 0l4.796 5.48c.566.647.106 1.659-.753 1.659H3.204a1 1 0 0 1-.753-1.659z\"}}]})(props);\n};\nexport function BsCartCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-1.646-7.646-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L8 8.293l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCartCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 6.354a.5.5 0 0 0-.708-.708L8 8.293 6.854 7.146a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM6.5 7h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCartDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCartPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM9 5.5V7h1.5a.5.5 0 0 1 0 1H9v1.5a.5.5 0 0 1-1 0V8H6.5a.5.5 0 0 1 0-1H8V5.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCartPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5.5a.5.5 0 0 0-1 0V7H6.5a.5.5 0 0 0 0 1H8v1.5a.5.5 0 0 0 1 0V8h1.5a.5.5 0 0 0 0-1H9V5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCartXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7.354 5.646 8.5 6.793l1.146-1.147a.5.5 0 0 1 .708.708L9.207 7.5l1.147 1.146a.5.5 0 0 1-.708.708L8.5 8.207 7.354 9.354a.5.5 0 1 1-.708-.708L7.793 7.5 6.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCartX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.354 5.646a.5.5 0 1 0-.708.708L7.793 7.5 6.646 8.646a.5.5 0 1 0 .708.708L8.5 8.207l1.146 1.147a.5.5 0 0 0 .708-.708L9.207 7.5l1.147-1.146a.5.5 0 0 0-.708-.708L8.5 6.793 7.354 5.646z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 1a.5.5 0 0 0 0 1h1.11l.401 1.607 1.498 7.985A.5.5 0 0 0 4 12h1a2 2 0 1 0 0 4 2 2 0 0 0 0-4h7a2 2 0 1 0 0 4 2 2 0 0 0 0-4h1a.5.5 0 0 0 .491-.408l1.5-8A.5.5 0 0 0 14.5 3H2.89l-.405-1.621A.5.5 0 0 0 2 1H.5zm3.915 10L3.102 4h10.796l-1.313 7h-8.17zM6 14a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm7 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 13 12H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM3.102 4l1.313 7h8.17l1.313-7H3.102zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCart2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A.5.5 0 0 1 .5 2H2a.5.5 0 0 1 .485.379L2.89 4H14.5a.5.5 0 0 1 .485.621l-1.5 6A.5.5 0 0 1 13 11H4a.5.5 0 0 1-.485-.379L1.61 3H.5a.5.5 0 0 1-.5-.5zM3.14 5l1.25 5h8.22l1.25-5H3.14zM5 13a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm9-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCart3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .49.598l-1 5a.5.5 0 0 1-.465.401l-9.397.472L4.415 11H13a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5zM3.102 4l.84 4.479 9.144-.459L13.89 4H3.102zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsCart4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A.5.5 0 0 1 .5 2H2a.5.5 0 0 1 .485.379L2.89 4H14.5a.5.5 0 0 1 .485.621l-1.5 6A.5.5 0 0 1 13 11H4a.5.5 0 0 1-.485-.379L1.61 3H.5a.5.5 0 0 1-.5-.5zM3.14 5l.5 2H5V5H3.14zM6 5v2h2V5H6zm3 0v2h2V5H9zm3 0v2h1.36l.5-2H12zm1.11 3H12v2h.61l.5-2zM11 8H9v2h2V8zM8 8H6v2h2V8zM5 8H3.89l.5 2H5V8zm0 5a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm9-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0z\"}}]})(props);\n};\nexport function BsCashCoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 15a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm5-4a5 5 0 1 1-10 0 5 5 0 0 1 10 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.438 11.944c.047.596.518 1.06 1.363 1.116v.44h.375v-.443c.875-.061 1.386-.529 1.386-1.207 0-.618-.39-.936-1.09-1.1l-.296-.07v-1.2c.376.043.614.248.671.532h.658c-.047-.575-.54-1.024-1.329-1.073V8.5h-.375v.45c-.747.073-1.255.522-1.255 1.158 0 .562.378.92 1.007 1.066l.248.061v1.272c-.384-.058-.639-.27-.696-.563h-.668zm1.36-1.354c-.369-.085-.569-.26-.569-.522 0-.294.216-.514.572-.578v1.1h-.003zm.432.746c.449.104.655.272.655.569 0 .339-.257.571-.709.614v-1.195l.054.012z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4.083c.058-.344.145-.678.258-1H3a2 2 0 0 0-2-2V3a2 2 0 0 0 2-2h10a2 2 0 0 0 2 2v3.528c.38.34.717.728 1 1.154V1a1 1 0 0 0-1-1H1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.998 5.083 10 5a2 2 0 1 0-3.132 1.65 5.982 5.982 0 0 1 3.13-1.567z\"}}]})(props);\n};\nexport function BsCashStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1H1zm7 8a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V5zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V7a2 2 0 0 1-2-2H3z\"}}]})(props);\n};\nexport function BsCash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V6a2 2 0 0 1-2-2H3z\"}}]})(props);\n};\nexport function BsCast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m7.646 9.354-3.792 3.792a.5.5 0 0 0 .353.854h7.586a.5.5 0 0 0 .354-.854L8.354 9.354a.5.5 0 0 0-.708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.414 11H14.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5h-13a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .5.5h3.086l-1 1H1.5A1.5 1.5 0 0 1 0 10.5v-7A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v7a1.5 1.5 0 0 1-1.5 1.5h-2.086l-1-1z\"}}]})(props);\n};\nexport function BsChatDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.165 15.803.02-.004c1.83-.363 2.948-.842 3.468-1.105A9.06 9.06 0 0 0 8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6a10.437 10.437 0 0 1-.524 2.318l-.003.011a10.722 10.722 0 0 1-.244.637c-.079.186.074.394.273.362a21.673 21.673 0 0 0 .693-.125zm.8-3.108a1 1 0 0 0-.287-.801C1.618 10.83 1 9.468 1 8c0-3.192 3.004-6 7-6s7 2.808 7 6c0 3.193-3.004 6-7 6a8.06 8.06 0 0 1-2.088-.272 1 1 0 0 0-.711.074c-.387.196-1.24.57-2.634.893a10.97 10.97 0 0 0 .398-2z\"}}]})(props);\n};\nexport function BsChatFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7c0 1.76.743 3.37 1.97 4.6-.097 1.016-.417 2.13-.771 2.966-.079.186.074.394.273.362 2.256-.37 3.597-.938 4.18-1.234A9.06 9.06 0 0 0 8 15z\"}}]})(props);\n};\nexport function BsChatLeftDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatLeftDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatLeftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatLeftQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatLeftQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatLeftTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4.414a1 1 0 0 0-.707.293L.854 15.146A.5.5 0 0 1 0 14.793V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsChatLeftText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM7.194 6.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 6C4.776 6 4 6.746 4 7.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 9.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 6c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 6.76A1.665 1.665 0 0 0 4 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 7.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 0 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatRightDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 1a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsChatRightDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatRightFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsChatRightQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM7.194 4.766c.087.124.163.26.227.401.428.948.393 2.377-.942 3.706a.446.446 0 0 1-.612.01.405.405 0 0 1-.011-.59c.419-.416.672-.831.809-1.22-.269.165-.588.26-.93.26C4.775 7.333 4 6.587 4 5.667 4 4.747 4.776 4 5.734 4c.271 0 .528.06.756.166l.008.004c.169.07.327.182.469.324.085.083.161.174.227.272zM11 7.073c-.269.165-.588.26-.93.26-.958 0-1.735-.746-1.735-1.666 0-.92.777-1.667 1.734-1.667.271 0 .528.06.756.166l.008.004c.17.07.327.182.469.324.085.083.161.174.227.272.087.124.164.26.228.401.428.948.392 2.377-.942 3.706a.446.446 0 0 1-.613.01.405.405 0 0 1-.011-.59c.42-.416.672-.831.81-1.22z\"}}]})(props);\n};\nexport function BsChatRightQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatRightTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h9.586a1 1 0 0 1 .707.293l2.853 2.853a.5.5 0 0 0 .854-.353V2zM3.5 3h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zm0 2.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsChatRightText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h9.586a2 2 0 0 1 1.414.586l2 2V2a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v12.793a.5.5 0 0 1-.854.353l-2.853-2.853a1 1 0 0 0-.707-.293H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12z\"}}]})(props);\n};\nexport function BsChatSquareDotsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm5 4a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0 1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsChatSquareDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsChatSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatSquareQuoteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm7.194 2.766a1.688 1.688 0 0 0-.227-.272 1.467 1.467 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 5.734 4C4.776 4 4 4.746 4 5.667c0 .92.776 1.666 1.734 1.666.343 0 .662-.095.931-.26-.137.389-.39.804-.81 1.22a.405.405 0 0 0 .011.59c.173.16.447.155.614-.01 1.334-1.329 1.37-2.758.941-3.706a2.461 2.461 0 0 0-.227-.4zM11 7.073c-.136.389-.39.804-.81 1.22a.405.405 0 0 0 .012.59c.172.16.446.155.613-.01 1.334-1.329 1.37-2.758.942-3.706a2.466 2.466 0 0 0-.228-.4 1.686 1.686 0 0 0-.227-.273 1.466 1.466 0 0 0-.469-.324l-.008-.004A1.785 1.785 0 0 0 10.07 4c-.957 0-1.734.746-1.734 1.667 0 .92.777 1.666 1.734 1.666.343 0 .662-.095.931-.26z\"}}]})(props);\n};\nexport function BsChatSquareQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z\"}}]})(props);\n};\nexport function BsChatSquareTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.5a1 1 0 0 0-.8.4l-1.9 2.533a1 1 0 0 1-1.6 0L5.3 12.4a1 1 0 0 0-.8-.4H2a2 2 0 0 1-2-2V2zm3.5 1a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}}]})(props);\n};\nexport function BsChatSquareText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3 6a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9A.5.5 0 0 1 3 6zm0 2.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChatSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2.5a2 2 0 0 0-1.6.8L8 14.333 6.1 11.8a2 2 0 0 0-1.6-.8H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5a1 1 0 0 1 .8.4l1.9 2.533a1 1 0 0 0 1.6 0l1.9-2.533a1 1 0 0 1 .8-.4H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsChatTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234-.2.032-.352-.176-.273-.362.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM4.5 5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7zm0 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z\"}}]})(props);\n};\nexport function BsChatText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8zm0 2.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.678 11.894a1 1 0 0 1 .287.801 10.97 10.97 0 0 1-.398 2c1.395-.323 2.247-.697 2.634-.893a1 1 0 0 1 .71-.074A8.06 8.06 0 0 0 8 14c3.996 0 7-2.807 7-6 0-3.192-3.004-6-7-6S1 4.808 1 8c0 1.468.617 2.83 1.678 3.894zm-.493 3.905a21.682 21.682 0 0 1-.713.129c-.2.032-.352-.176-.273-.362a9.68 9.68 0 0 0 .244-.637l.003-.01c.248-.72.45-1.548.524-2.319C.743 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.52.263-1.639.742-3.468 1.105z\"}}]})(props);\n};\nexport function BsCheckAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L2.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093L8.95 4.992a.252.252 0 0 1 .02-.022zm-.92 5.14.92.92a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 1 0-1.091-1.028L9.477 9.417l-.485-.486-.943 1.179z\"}}]})(props);\n};\nexport function BsCheckCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z\"}}]})(props);\n};\nexport function BsCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.235.235 0 0 0-.02.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05z\"}}]})(props);\n};\nexport function BsCheckLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.485 1.431a1.473 1.473 0 0 1 2.104 2.062l-7.84 9.801a1.473 1.473 0 0 1-2.12.04L.431 8.138a1.473 1.473 0 0 1 2.084-2.083l4.111 4.112 6.82-8.69a.486.486 0 0 1 .04-.045z\"}}]})(props);\n};\nexport function BsCheckSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm10.03 4.97a.75.75 0 0 1 .011 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.75.75 0 0 1 1.08-.022z\"}}]})(props);\n};\nexport function BsCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.235.235 0 0 1 .02-.022z\"}}]})(props);\n};\nexport function BsCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425a.267.267 0 0 1 .02-.022z\"}}]})(props);\n};\nexport function BsCheck2All (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.354 4.354a.5.5 0 0 0-.708-.708L5 10.293 1.854 7.146a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l7-7zm-4.208 7-.896-.897.707-.707.543.543 6.646-6.647a.5.5 0 0 1 .708.708l-7 7a.5.5 0 0 1-.708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m5.354 7.146.896.897-.707.707-.897-.896a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsCheck2Circle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 8a5.5 5.5 0 0 1 8.25-4.764.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0 5.5 5.5 0 1 1-11 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z\"}}]})(props);\n};\nexport function BsCheck2Square (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14.5A1.5 1.5 0 0 1 1.5 13V3A1.5 1.5 0 0 1 3 1.5h8a.5.5 0 0 1 0 1H3a.5.5 0 0 0-.5.5v10a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V8a.5.5 0 0 1 1 0v5a1.5 1.5 0 0 1-1.5 1.5H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.354 10.354 7-7a.5.5 0 0 0-.708-.708L8 9.293 5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z\"}}]})(props);\n};\nexport function BsCheck2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronBarContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 14.854a.5.5 0 0 0 .708 0L8 11.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zm0-13.708a.5.5 0 0 1 .708 0L8 4.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zM1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsChevronBarDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 4.146a.5.5 0 0 1 .708 0L8 7.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zM1 11.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsChevronBarExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 10.146a.5.5 0 0 1 .708 0L8 13.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-4.292a.5.5 0 0 0 .708 0L8 2.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zM1 8a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 8z\"}}]})(props);\n};\nexport function BsChevronBarLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.854 3.646a.5.5 0 0 1 0 .708L8.207 8l3.647 3.646a.5.5 0 0 1-.708.708l-4-4a.5.5 0 0 1 0-.708l4-4a.5.5 0 0 1 .708 0zM4.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsChevronBarRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.146 3.646a.5.5 0 0 0 0 .708L7.793 8l-3.647 3.646a.5.5 0 0 0 .708.708l4-4a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708 0zM11.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsChevronBarUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 11.854a.5.5 0 0 0 .708 0L8 8.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zM2.4 5.2c0 .22.18.4.4.4h10.4a.4.4 0 0 0 0-.8H2.8a.4.4 0 0 0-.4.4z\"}}]})(props);\n};\nexport function BsChevronCompactDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.553 6.776a.5.5 0 0 1 .67-.223L8 9.44l5.776-2.888a.5.5 0 1 1 .448.894l-6 3a.5.5 0 0 1-.448 0l-6-3a.5.5 0 0 1-.223-.67z\"}}]})(props);\n};\nexport function BsChevronCompactLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.224 1.553a.5.5 0 0 1 .223.67L6.56 8l2.888 5.776a.5.5 0 1 1-.894.448l-3-6a.5.5 0 0 1 0-.448l3-6a.5.5 0 0 1 .67-.223z\"}}]})(props);\n};\nexport function BsChevronCompactRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.776 1.553a.5.5 0 0 1 .671.223l3 6a.5.5 0 0 1 0 .448l-3 6a.5.5 0 1 1-.894-.448L9.44 8 6.553 2.224a.5.5 0 0 1 .223-.671z\"}}]})(props);\n};\nexport function BsChevronCompactUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.776 5.553a.5.5 0 0 1 .448 0l6 3a.5.5 0 1 1-.448.894L8 6.56 2.224 9.447a.5.5 0 1 1-.448-.894l6-3z\"}}]})(props);\n};\nexport function BsChevronContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 13.854a.5.5 0 0 0 .708 0L8 10.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708zm0-11.708a.5.5 0 0 1 .708 0L8 5.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 6.646a.5.5 0 0 1 .708 0L8 12.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 2.646a.5.5 0 0 1 .708 0L8 8.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.354 1.646a.5.5 0 0 1 0 .708L2.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.354 1.646a.5.5 0 0 1 0 .708L6.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L9.293 8 3.646 2.354a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L13.293 8 7.646 2.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 2.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 3.707 2.354 9.354a.5.5 0 1 1-.708-.708l6-6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 6.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 7.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z\"}}]})(props);\n};\nexport function BsChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.646 9.146a.5.5 0 0 1 .708 0L8 12.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-2.292a.5.5 0 0 0 .708 0L8 3.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708z\"}}]})(props);\n};\nexport function BsChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z\"}}]})(props);\n};\nexport function BsCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"8\"}}]})(props);\n};\nexport function BsCircleHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z\"}}]})(props);\n};\nexport function BsCircleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a6 6 0 1 1 12 0A6 6 0 0 1 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.93 5h1.57a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5v-1.57a6.953 6.953 0 0 1-1-.22v1.79A1.5 1.5 0 0 0 5.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 4h-1.79c.097.324.17.658.22 1z\"}}]})(props);\n};\nexport function BsCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}}]})(props);\n};\nexport function BsClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 7.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardData (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1zm6-4a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0V7zM7 9a1 1 0 0 1 2 0v3a1 1 0 1 1-2 0V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 9.5A.5.5 0 0 1 6 9h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 7a.5.5 0 0 1 .5.5V9H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V10H6a.5.5 0 0 1 0-1h1.5V7.5A.5.5 0 0 1 8 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboardX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 7.146a.5.5 0 0 1 .708 0L8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z\"}}]})(props);\n};\nexport function BsClockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}}]})(props);\n};\nexport function BsClockHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.515 1.019A7 7 0 0 0 8 1V0a8 8 0 0 1 .589.022l-.074.997zm2.004.45a7.003 7.003 0 0 0-.985-.299l.219-.976c.383.086.76.2 1.126.342l-.36.933zm1.37.71a7.01 7.01 0 0 0-.439-.27l.493-.87a8.025 8.025 0 0 1 .979.654l-.615.789a6.996 6.996 0 0 0-.418-.302zm1.834 1.79a6.99 6.99 0 0 0-.653-.796l.724-.69c.27.285.52.59.747.91l-.818.576zm.744 1.352a7.08 7.08 0 0 0-.214-.468l.893-.45a7.976 7.976 0 0 1 .45 1.088l-.95.313a7.023 7.023 0 0 0-.179-.483zm.53 2.507a6.991 6.991 0 0 0-.1-1.025l.985-.17c.067.386.106.778.116 1.17l-1 .025zm-.131 1.538c.033-.17.06-.339.081-.51l.993.123a7.957 7.957 0 0 1-.23 1.155l-.964-.267c.046-.165.086-.332.12-.501zm-.952 2.379c.184-.29.346-.594.486-.908l.914.405c-.16.36-.345.706-.555 1.038l-.845-.535zm-.964 1.205c.122-.122.239-.248.35-.378l.758.653a8.073 8.073 0 0 1-.401.432l-.707-.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 4.95 11.95l.707.707A8.001 8.001 0 1 1 8 0v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 3a.5.5 0 0 1 .5.5v5.21l3.248 1.856a.5.5 0 0 1-.496.868l-3.5-2A.5.5 0 0 1 7 9V3.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3.5a.5.5 0 0 0-1 0V9a.5.5 0 0 0 .252.434l3.5 2a.5.5 0 0 0 .496-.868L8 8.71V3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm7-8A7 7 0 1 1 1 8a7 7 0 0 1 14 0z\"}}]})(props);\n};\nexport function BsCloudArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 6.854-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5a.5.5 0 0 1 1 0v3.793l1.146-1.147a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCloudArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 10.854a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 9.293V5.5a.5.5 0 0 0-1 0v3.793L6.354 8.146a.5.5 0 1 0-.708.708l2 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 5.146a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2z\"}}]})(props);\n};\nexport function BsCloudArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708l2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm2.354 4.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsCloudCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudDownloadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.5a.5.5 0 0 1 1 0V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.354 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V11h-1v3.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 1.342A5.53 5.53 0 0 1 8 0c2.69 0 4.923 2 5.166 4.579C14.758 4.804 16 6.137 16 7.773 16 9.569 14.502 11 12.687 11H10a.5.5 0 0 1 0-1h2.688C13.979 10 15 8.988 15 7.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 2.825 10.328 1 8 1a4.53 4.53 0 0 0-2.941 1.1c-.757.652-1.153 1.438-1.153 2.055v.448l-.445.049C2.064 4.805 1 5.952 1 7.318 1 8.785 2.23 10 3.781 10H6a.5.5 0 0 1 0 1H3.781C1.708 11 0 9.366 0 7.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 14.293V5.5a.5.5 0 0 0-1 0v8.793l-2.146-2.147a.5.5 0 0 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsCloudDrizzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudDrizzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm-3.5 1.5a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm6 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm.747-8.498a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973zM8.5 2a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 2z\"}}]})(props);\n};\nexport function BsCloudFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}}]})(props);\n};\nexport function BsCloudFogFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudFog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm10.405-9.473a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 12H13a3 3 0 0 0 .405-5.973zM8.5 3a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsCloudFog2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 13h-1.5a.5.5 0 0 0 0-1H1.05a3.51 3.51 0 0 1-.713-1H9.5a.5.5 0 0 0 0-1H.035a3.53 3.53 0 0 1 0-1H7.5a.5.5 0 0 0 0-1H.337a3.5 3.5 0 0 1 3.57-1.977A5.001 5.001 0 0 1 8.5 3z\"}}]})(props);\n};\nexport function BsCloudFog2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4a4.002 4.002 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 13H.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 4zM0 8.5A.5.5 0 0 1 .5 8h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudHailFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm1.247-6.999a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudHail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.527a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.5H13a3 3 0 0 0 .405-5.973zM8.5 1.5a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1.5zM3.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zM7.75 15.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm3.592 3.724a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm.408-3.724a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316z\"}}]})(props);\n};\nexport function BsCloudHaze1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1z\"}}]})(props);\n};\nexport function BsCloudHazeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudHaze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 3a4.002 4.002 0 0 0-3.8 2.745.5.5 0 1 1-.949-.313 5.002 5.002 0 0 1 9.654.595A3 3 0 0 1 13 12H4.5a.5.5 0 0 1 0-1H13a2 2 0 0 0 .001-4h-.026a.5.5 0 0 1-.5-.445A4 4 0 0 0 8.5 3zM0 7.5A.5.5 0 0 1 .5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 2a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-2 4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudHaze2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2a5.001 5.001 0 0 1 4.905 4.027A3 3 0 0 1 13 12H3.5A3.5 3.5 0 0 1 .035 9H5.5a.5.5 0 0 0 0-1H.035a3.5 3.5 0 0 1 3.871-2.977A5.001 5.001 0 0 1 8.5 2zm-6 8a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zM0 13.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCloudLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudLightningRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.105-1.25A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2zm6.352-7.249a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudLightningRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.658 11.026a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-7.5 1.5a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm9.5 0a.5.5 0 0 1 .316.632l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.316zm-.753-8.499a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2z\"}}]})(props);\n};\nexport function BsCloudLightning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM7.053 11.276A.5.5 0 0 1 7.5 11h1a.5.5 0 0 1 .474.658l-.28.842H9.5a.5.5 0 0 1 .39.812l-2 2.5a.5.5 0 0 1-.875-.433L7.36 14H6.5a.5.5 0 0 1-.447-.724l1-2z\"}}]})(props);\n};\nexport function BsCloudMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsCloudMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1H6z\"}}]})(props);\n};\nexport function BsCloudMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsCloudMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8a3.5 3.5 0 0 1 3.5 3.555.5.5 0 0 0 .625.492A1.503 1.503 0 0 1 13 13.5a1.5 1.5 0 0 1-1.5 1.5H3a2 2 0 1 1 .1-3.998.5.5 0 0 0 .509-.375A3.502 3.502 0 0 1 7 8zm4.473 3a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.286 1.778a.5.5 0 0 0-.565-.755 4.595 4.595 0 0 0-3.18 5.003 5.46 5.46 0 0 1 1.055.209A3.603 3.603 0 0 1 9.83 2.617a4.593 4.593 0 0 0 4.31 5.744 3.576 3.576 0 0 1-2.241.634c.162.317.295.652.394 1a4.59 4.59 0 0 0 3.624-2.04.5.5 0 0 0-.565-.755 3.593 3.593 0 0 1-4.065-5.422z\"}}]})(props);\n};\nexport function BsCloudPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13h8.906C14.502 13 16 11.57 16 9.773c0-1.636-1.242-2.969-2.834-3.194C12.923 3.999 10.69 2 8 2zm.5 4v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsCloudPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudRainFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 1 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudRainHeavyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudRainHeavy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.176 11.032a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 1 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm3 0a.5.5 0 0 1 .292.643l-1.5 4a.5.5 0 0 1-.936-.35l1.5-4a.5.5 0 0 1 .644-.293zm.229-7.005a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1z\"}}]})(props);\n};\nexport function BsCloudRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.158 12.025a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 0 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-.5 1.5a.5.5 0 0 1-.948-.316l.5-1.5a.5.5 0 0 1 .632-.317zm3 0a.5.5 0 0 1 .316.633l-1 3a.5.5 0 1 1-.948-.316l1-3a.5.5 0 0 1 .632-.317zm.247-6.998a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 11H13a3 3 0 0 0 .405-5.973zM8.5 2a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 2z\"}}]})(props);\n};\nexport function BsCloudSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11L3.112 5.112zm11.372 7.372L4.937 2.937A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711zm-.838 1.87-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsCloudSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.112 5.112a3.125 3.125 0 0 0-.17.613C1.266 6.095 0 7.555 0 9.318 0 11.366 1.708 13 3.781 13H11l-1-1H3.781C2.231 12 1 10.785 1 9.318c0-1.365 1.064-2.513 2.46-2.666l.446-.05v-.447c0-.075.006-.152.018-.231l-.812-.812zm2.55-1.45-.725-.725A5.512 5.512 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773a3.2 3.2 0 0 1-1.516 2.711l-.733-.733C14.498 11.378 15 10.626 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3c-.875 0-1.678.26-2.339.661z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m13.646 14.354-12-12 .708-.708 12 12-.707.707z\"}}]})(props);\n};\nexport function BsCloudSleetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 0 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 1 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 1 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm1.181-7.026a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudSleet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10H13a3 3 0 0 0 .405-5.973zM8.5 1a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1 0 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1zM2.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zM6.375 13.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223zm2.151 2.447a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm1.849-2.447a.5.5 0 0 1 .223.67l-.5 1a.5.5 0 1 1-.894-.447l.5-1a.5.5 0 0 1 .67-.223z\"}}]})(props);\n};\nexport function BsCloudSnowFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.5-.287a.25.25 0 0 1 .249.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 0 1-.5 0v-.57l-.501.287a.25.25 0 1 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-.22-7.223a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 4.277a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 10.25H13a3 3 0 0 0 .405-5.973zM8.5 1.25a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 1.25zM2.625 11.5a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm2.75 2a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm-2.75-2a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25zm5.5 0a.25.25 0 0 1 .25.25v.57l.501-.287a.25.25 0 0 1 .248.434l-.495.283.495.283a.25.25 0 0 1-.248.434l-.501-.286v.569a.25.25 0 1 1-.5 0v-.57l-.501.287a.25.25 0 0 1-.248-.434l.495-.283-.495-.283a.25.25 0 0 1 .248-.434l.501.286v-.569a.25.25 0 0 1 .25-.25z\"}}]})(props);\n};\nexport function BsCloudSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 11a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCloudSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8a3.5 3.5 0 0 1 3.5 3.555.5.5 0 0 0 .624.492A1.503 1.503 0 0 1 13 13.5a1.5 1.5 0 0 1-1.5 1.5H3a2 2 0 1 1 .1-3.998.5.5 0 0 0 .51-.375A3.502 3.502 0 0 1 7 8zm4.473 3a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 16h8.5a2.5 2.5 0 0 0 0-5h-.027z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 1.5a.5.5 0 0 0-1 0v1a.5.5 0 0 0 1 0v-1zm3.743 1.964a.5.5 0 1 0-.707-.707l-.708.707a.5.5 0 0 0 .708.708l.707-.708zm-7.779-.707a.5.5 0 0 0-.707.707l.707.708a.5.5 0 1 0 .708-.708l-.708-.707zm1.734 3.374a2 2 0 1 1 3.296 2.198c.199.281.372.582.516.898a3 3 0 1 0-4.84-3.225c.352.011.696.055 1.028.129zm4.484 4.074c.6.215 1.125.59 1.522 1.072a.5.5 0 0 0 .039-.742l-.707-.707a.5.5 0 0 0-.854.377zM14.5 6.5a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCloudUploadFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a5.53 5.53 0 0 0-3.594 1.342c-.766.66-1.321 1.52-1.464 2.383C1.266 4.095 0 5.555 0 7.318 0 9.366 1.708 11 3.781 11H7.5V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V11h4.188C14.502 11 16 9.57 16 7.773c0-1.636-1.242-2.969-2.834-3.194C12.923 1.999 10.69 0 8 0zm-.5 14.5V11h1v3.5a.5.5 0 0 1-1 0z\"}}]})(props);\n};\nexport function BsCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.406 1.342A5.53 5.53 0 0 1 8 0c2.69 0 4.923 2 5.166 4.579C14.758 4.804 16 6.137 16 7.773 16 9.569 14.502 11 12.687 11H10a.5.5 0 0 1 0-1h2.688C13.979 10 15 8.988 15 7.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 2.825 10.328 1 8 1a4.53 4.53 0 0 0-2.941 1.1c-.757.652-1.153 1.438-1.153 2.055v.448l-.445.049C2.064 4.805 1 5.952 1 7.318 1 8.785 2.23 10 3.781 10H6a.5.5 0 0 1 0 1H3.781C1.708 11 0 9.366 0 7.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.646 4.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 5.707V14.5a.5.5 0 0 1-1 0V5.707L5.354 7.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z\"}}]})(props);\n};\nexport function BsCloudsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.473 9a4.5 4.5 0 0 0-8.72-.99A3 3 0 0 0 3 14h8.5a2.5 2.5 0 1 0-.027-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.544 9.772a3.506 3.506 0 0 0-2.225-1.676 5.502 5.502 0 0 0-6.337-4.002 4.002 4.002 0 0 1 7.392.91 2.5 2.5 0 0 1 1.17 4.769z\"}}]})(props);\n};\nexport function BsClouds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7.5a2.5 2.5 0 0 1-1.456 2.272 3.513 3.513 0 0 0-.65-.824 1.5 1.5 0 0 0-.789-2.896.5.5 0 0 1-.627-.421 3 3 0 0 0-5.22-1.625 5.587 5.587 0 0 0-1.276.088 4.002 4.002 0 0 1 7.392.91A2.5 2.5 0 0 1 16 7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5a4.5 4.5 0 0 1 4.473 4h.027a2.5 2.5 0 0 1 0 5H3a3 3 0 0 1-.247-5.99A4.502 4.502 0 0 1 7 5zm3.5 4.5a3.5 3.5 0 0 0-6.89-.873.5.5 0 0 1-.51.375A2 2 0 1 0 3 13h8.5a1.5 1.5 0 1 0-.376-2.953.5.5 0 0 1-.624-.492V9.5z\"}}]})(props);\n};\nexport function BsCloudyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 7.027a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 13H13a3 3 0 0 0 .405-5.973z\"}}]})(props);\n};\nexport function BsCloudy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.405 8.527a5.001 5.001 0 0 0-9.499-1.004A3.5 3.5 0 1 0 3.5 14.5H13a3 3 0 0 0 .405-5.973zM8.5 5.5a4 4 0 0 1 3.976 3.555.5.5 0 0 0 .5.445H13a2 2 0 0 1-.001 4H3.5a2.5 2.5 0 1 1 .605-4.926.5.5 0 0 0 .596-.329A4.002 4.002 0 0 1 8.5 5.5z\"}}]})(props);\n};\nexport function BsCodeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.478 1.647a.5.5 0 1 0-.956-.294l-4 13a.5.5 0 0 0 .956.294l4-13zM4.854 4.146a.5.5 0 0 1 0 .708L1.707 8l3.147 3.146a.5.5 0 0 1-.708.708l-3.5-3.5a.5.5 0 0 1 0-.708l3.5-3.5a.5.5 0 0 1 .708 0zm6.292 0a.5.5 0 0 0 0 .708L14.293 8l-3.147 3.146a.5.5 0 0 0 .708.708l3.5-3.5a.5.5 0 0 0 0-.708l-3.5-3.5a.5.5 0 0 0-.708 0z\"}}]})(props);\n};\nexport function BsCodeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.854 4.646a.5.5 0 0 1 0 .708L4.207 8l2.647 2.646a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 0 1 .708 0zm2.292 0a.5.5 0 0 0 0 .708L11.793 8l-2.647 2.646a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708 0z\"}}]})(props);\n};\nexport function BsCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.854 4.854a.5.5 0 1 0-.708-.708l-3.5 3.5a.5.5 0 0 0 0 .708l3.5 3.5a.5.5 0 0 0 .708-.708L2.707 8l3.147-3.146zm4.292 0a.5.5 0 0 1 .708-.708l3.5 3.5a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708L13.293 8l-3.147-3.146z\"}}]})(props);\n};\nexport function BsCoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.511c.076.954.83 1.697 2.182 1.785V12h.6v-.709c1.4-.098 2.218-.846 2.218-1.932 0-.987-.626-1.496-1.745-1.76l-.473-.112V5.57c.6.068.982.396 1.074.85h1.052c-.076-.919-.864-1.638-2.126-1.716V4h-.6v.719c-1.195.117-2.01.836-2.01 1.853 0 .9.606 1.472 1.613 1.707l.397.098v2.034c-.615-.093-1.022-.43-1.114-.9H5.5zm2.177-2.166c-.59-.137-.91-.416-.91-.836 0-.47.345-.822.915-.925v1.76h-.005zm.692 1.193c.717.166 1.048.435 1.048.91 0 .542-.412.914-1.135.982V8.518l.087.02z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13.5a5.5 5.5 0 1 1 0-11 5.5 5.5 0 0 1 0 11zm0 .5A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"}}]})(props);\n};\nexport function BsCollectionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zM2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1z\"}}]})(props);\n};\nexport function BsCollectionPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm6.258-6.437a.5.5 0 0 1 .507.013l4 2.5a.5.5 0 0 1 0 .848l-4 2.5A.5.5 0 0 1 6 12V7a.5.5 0 0 1 .258-.437z\"}}]})(props);\n};\nexport function BsCollectionPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11A.5.5 0 0 0 2 3zm2-2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7A.5.5 0 0 0 4 1zm2.765 5.576A.5.5 0 0 0 6 7v5a.5.5 0 0 0 .765.424l4-2.5a.5.5 0 0 0 0-.848l-4-2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 14.5A1.5 1.5 0 0 1 0 13V6a1.5 1.5 0 0 1 1.5-1.5h13A1.5 1.5 0 0 1 16 6v7a1.5 1.5 0 0 1-1.5 1.5h-13zm13-1a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5h-13A.5.5 0 0 0 1 6v7a.5.5 0 0 0 .5.5h13z\"}}]})(props);\n};\nexport function BsCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 3.5a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-11zm2-2a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM0 13a1.5 1.5 0 0 0 1.5 1.5h13A1.5 1.5 0 0 0 16 13V6a1.5 1.5 0 0 0-1.5-1.5h-13A1.5 1.5 0 0 0 0 6v7zm1.5.5A.5.5 0 0 1 1 13V6a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-13z\"}}]})(props);\n};\nexport function BsColumnsGap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1v3H1V1h5zM1 0a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1zm14 12v3h-5v-3h5zm-5-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-5zM6 8v7H1V8h5zM1 7a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H1zm14-6v7h-5V1h5zm-5-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1h-5z\"}}]})(props);\n};\nexport function BsColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2zm8.5 0v8H15V2H8.5zm0 9v3H15v-3H8.5zm-1-9H1v3h6.5V2zM1 14h6.5V6H1v8z\"}}]})(props);\n};\nexport function BsCommand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 1 5 3.5V5H3.5a1.5 1.5 0 1 1 0-3zM6 5V3.5A2.5 2.5 0 1 0 3.5 6H5v4H3.5A2.5 2.5 0 1 0 6 12.5V11h4v1.5a2.5 2.5 0 1 0 2.5-2.5H11V6h1.5A2.5 2.5 0 1 0 10 3.5V5H6zm4 1v4H6V6h4zm1-1V3.5A1.5 1.5 0 1 1 12.5 5H11zm0 6h1.5a1.5 1.5 0 1 1-1.5 1.5V11zm-6 0v1.5A1.5 1.5 0 1 1 3.5 11H5z\"}}]})(props);\n};\nexport function BsCompassFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 8.516a7.5 7.5 0 1 1-9.462-7.24A1 1 0 0 1 7 0h2a1 1 0 0 1 .962 1.276 7.503 7.503 0 0 1 5.538 7.24zm-3.61-3.905L6.94 7.439 4.11 12.39l4.95-2.828 2.828-4.95z\"}}]})(props);\n};\nexport function BsCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16.016a7.5 7.5 0 0 0 1.962-14.74A1 1 0 0 0 9 0H7a1 1 0 0 0-.962 1.276A7.5 7.5 0 0 0 8 16.016zm6.5-7.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m6.94 7.44 4.95-2.83-2.83 4.95-4.949 2.83 2.828-4.95z\"}}]})(props);\n};\nexport function BsConeStriped (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.97 4.88.953 3.811C10.159 8.878 9.14 9 8 9c-1.14 0-2.158-.122-2.923-.309L6.03 4.88C6.635 4.957 7.3 5 8 5s1.365-.043 1.97-.12zm-.245-.978L8.97.88C8.718-.13 7.282-.13 7.03.88L6.275 3.9C6.8 3.965 7.382 4 8 4c.618 0 1.2-.036 1.725-.098zm4.396 8.613a.5.5 0 0 1 .037.96l-6 2a.5.5 0 0 1-.316 0l-6-2a.5.5 0 0 1 .037-.96l2.391-.598.565-2.257c.862.212 1.964.339 3.165.339s2.303-.127 3.165-.339l.565 2.257 2.391.598z\"}}]})(props);\n};\nexport function BsCone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.03 1.88c.252-1.01 1.688-1.01 1.94 0l2.905 11.62H14a.5.5 0 0 1 0 1H2a.5.5 0 0 1 0-1h2.125L7.03 1.88z\"}}]})(props);\n};\nexport function BsController (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 6.027a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-1.5 1.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2.5-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-1.5 1.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm-6.5-3h1v1h1v1h-1v1h-1v-1h-1v-1h1v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.051 3.26a.5.5 0 0 1 .354-.613l1.932-.518a.5.5 0 0 1 .62.39c.655-.079 1.35-.117 2.043-.117.72 0 1.443.041 2.12.126a.5.5 0 0 1 .622-.399l1.932.518a.5.5 0 0 1 .306.729c.14.09.266.19.373.297.408.408.78 1.05 1.095 1.772.32.733.599 1.591.805 2.466.206.875.34 1.78.364 2.606.024.816-.059 1.602-.328 2.21a1.42 1.42 0 0 1-1.445.83c-.636-.067-1.115-.394-1.513-.773-.245-.232-.496-.526-.739-.808-.126-.148-.25-.292-.368-.423-.728-.804-1.597-1.527-3.224-1.527-1.627 0-2.496.723-3.224 1.527-.119.131-.242.275-.368.423-.243.282-.494.575-.739.808-.398.38-.877.706-1.513.773a1.42 1.42 0 0 1-1.445-.83c-.27-.608-.352-1.395-.329-2.21.024-.826.16-1.73.365-2.606.206-.875.486-1.733.805-2.466.315-.722.687-1.364 1.094-1.772a2.34 2.34 0 0 1 .433-.335.504.504 0 0 1-.028-.079zm2.036.412c-.877.185-1.469.443-1.733.708-.276.276-.587.783-.885 1.465a13.748 13.748 0 0 0-.748 2.295 12.351 12.351 0 0 0-.339 2.406c-.022.755.062 1.368.243 1.776a.42.42 0 0 0 .426.24c.327-.034.61-.199.929-.502.212-.202.4-.423.615-.674.133-.156.276-.323.44-.504C4.861 9.969 5.978 9.027 8 9.027s3.139.942 3.965 1.855c.164.181.307.348.44.504.214.251.403.472.615.674.318.303.601.468.929.503a.42.42 0 0 0 .426-.241c.18-.408.265-1.02.243-1.776a12.354 12.354 0 0 0-.339-2.406 13.753 13.753 0 0 0-.748-2.295c-.298-.682-.61-1.19-.885-1.465-.264-.265-.856-.523-1.733-.708-.85-.179-1.877-.27-2.913-.27-1.036 0-2.063.091-2.913.27z\"}}]})(props);\n};\nexport function BsCpuFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5.5a.5.5 0 0 0-1 0V2A2.5 2.5 0 0 0 2 4.5H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2v1H.5a.5.5 0 0 0 0 1H2A2.5 2.5 0 0 0 4.5 14v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14h1v1.5a.5.5 0 0 0 1 0V14a2.5 2.5 0 0 0 2.5-2.5h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14v-1h1.5a.5.5 0 0 0 0-1H14A2.5 2.5 0 0 0 11.5 2V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5a.5.5 0 0 0-1 0V2h-1V.5zm1 4.5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3A1.5 1.5 0 0 1 6.5 5z\"}}]})(props);\n};\nexport function BsCpu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 0a.5.5 0 0 1 .5.5V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2h1V.5a.5.5 0 0 1 1 0V2A2.5 2.5 0 0 1 14 4.5h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14v1h1.5a.5.5 0 0 1 0 1H14a2.5 2.5 0 0 1-2.5 2.5v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14h-1v1.5a.5.5 0 0 1-1 0V14A2.5 2.5 0 0 1 2 11.5H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2v-1H.5a.5.5 0 0 1 0-1H2A2.5 2.5 0 0 1 4.5 2V.5A.5.5 0 0 1 5 0zm-.5 3A1.5 1.5 0 0 0 3 4.5v7A1.5 1.5 0 0 0 4.5 13h7a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 11.5 3h-7zM5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3zM6.5 6a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}}]})(props);\n};\nexport function BsCreditCard2BackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5H0V4zm11.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zM0 11v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1H0z\"}}]})(props);\n};\nexport function BsCreditCard2Back (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm13 2v5H1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm-1 9H2a1 1 0 0 1-1-1v-1h14v1a1 1 0 0 1-1 1z\"}}]})(props);\n};\nexport function BsCreditCard2FrontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2.5 1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-2zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm3 0a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsCreditCard2Front (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-1zm0 3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCreditCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1H0V4zm0 3v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7H0zm3 2h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v1h14V4a1 1 0 0 0-1-1H2zm13 4H1v5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5.5A.5.5 0 0 1 4 1v13h13a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2H3.5a.5.5 0 0 1-.5-.5V4H1a.5.5 0 0 1 0-1h2V1a.5.5 0 0 1 .5-.5zm2.5 3a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4H6.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsCupFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h.5A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-.55a2.5 2.5 0 0 1-2.45 2h-8A2.5 2.5 0 0 1 1 12.5V2zm13 10h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H14v8z\"}}]})(props);\n};\nexport function BsCupStraw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.902.334a.5.5 0 0 1-.28.65l-2.254.902-.4 1.927c.376.095.715.215.972.367.228.135.56.396.56.82 0 .046-.004.09-.011.132l-.962 9.068a1.28 1.28 0 0 1-.524.93c-.488.34-1.494.87-3.01.87-1.516 0-2.522-.53-3.01-.87a1.28 1.28 0 0 1-.524-.93L3.51 5.132A.78.78 0 0 1 3.5 5c0-.424.332-.685.56-.82.262-.154.607-.276.99-.372C5.824 3.614 6.867 3.5 8 3.5c.712 0 1.389.045 1.985.127l.464-2.215a.5.5 0 0 1 .303-.356l2.5-1a.5.5 0 0 1 .65.278zM9.768 4.607A13.991 13.991 0 0 0 8 4.5c-1.076 0-2.033.11-2.707.278A3.284 3.284 0 0 0 4.645 5c.146.073.362.15.648.222C5.967 5.39 6.924 5.5 8 5.5c.571 0 1.109-.03 1.588-.085l.18-.808zm.292 1.756C9.445 6.45 8.742 6.5 8 6.5c-1.133 0-2.176-.114-2.95-.308a5.514 5.514 0 0 1-.435-.127l.838 8.03c.013.121.06.186.102.215.357.249 1.168.69 2.438.69 1.27 0 2.081-.441 2.438-.69.042-.029.09-.094.102-.215l.852-8.03a5.517 5.517 0 0 1-.435.127 8.88 8.88 0 0 1-.89.17zM4.467 4.884s.003.002.005.006l-.005-.006zm7.066 0-.005.006c.002-.004.005-.006.005-.006zM11.354 5a3.174 3.174 0 0 0-.604-.21l-.099.445.055-.013c.286-.072.502-.149.648-.222z\"}}]})(props);\n};\nexport function BsCup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h.5A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-.55a2.5 2.5 0 0 1-2.45 2h-8A2.5 2.5 0 0 1 1 12.5V2zm13 10h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H14v8zM13 2H2v10.5A1.5 1.5 0 0 0 3.5 14h8a1.5 1.5 0 0 0 1.5-1.5V2z\"}}]})(props);\n};\nexport function BsCurrencyBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 13v1.25c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25V13h.5v1.25c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25V13h.084c1.992 0 3.416-1.033 3.416-2.82 0-1.502-1.007-2.323-2.186-2.44v-.088c.97-.242 1.683-.974 1.683-2.19C11.997 3.93 10.847 3 9.092 3H9V1.75a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25V3h-.573V1.75a.25.25 0 0 0-.25-.25H5.75a.25.25 0 0 0-.25.25V3l-1.998.011a.25.25 0 0 0-.25.25v.989c0 .137.11.25.248.25l.755-.005a.75.75 0 0 1 .745.75v5.505a.75.75 0 0 1-.75.75l-.748.011a.25.25 0 0 0-.25.25v1c0 .138.112.25.25.25L5.5 13zm1.427-8.513h1.719c.906 0 1.438.498 1.438 1.312 0 .871-.575 1.362-1.877 1.362h-1.28V4.487zm0 4.051h1.84c1.137 0 1.756.58 1.756 1.524 0 .953-.626 1.45-2.158 1.45H6.927V8.539z\"}}]})(props);\n};\nexport function BsCurrencyDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.781c.148 1.667 1.513 2.85 3.591 3.003V15h1.043v-1.216c2.27-.179 3.678-1.438 3.678-3.3 0-1.59-.947-2.51-2.956-3.028l-.722-.187V3.467c1.122.11 1.879.714 2.07 1.616h1.47c-.166-1.6-1.54-2.748-3.54-2.875V1H7.591v1.233c-1.939.23-3.27 1.472-3.27 3.156 0 1.454.966 2.483 2.661 2.917l.61.162v4.031c-1.149-.17-1.94-.8-2.131-1.718H4zm3.391-3.836c-1.043-.263-1.6-.825-1.6-1.616 0-.944.704-1.641 1.8-1.828v3.495l-.2-.05zm1.591 1.872c1.287.323 1.852.859 1.852 1.769 0 1.097-.826 1.828-2.2 1.939V8.73l.348.086z\"}}]})(props);\n};\nexport function BsCurrencyEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9.42h1.063C5.4 12.323 7.317 14 10.34 14c.622 0 1.167-.068 1.659-.185v-1.3c-.484.119-1.045.17-1.659.17-2.1 0-3.455-1.198-3.775-3.264h4.017v-.928H6.497v-.936c0-.11 0-.219.008-.329h4.078v-.927H6.618c.388-1.898 1.719-2.985 3.723-2.985.614 0 1.175.05 1.659.177V2.194A6.617 6.617 0 0 0 10.341 2c-2.928 0-4.82 1.569-5.244 4.3H4v.928h1.01v1.265H4v.928z\"}}]})(props);\n};\nexport function BsCurrencyExchange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 5a5.002 5.002 0 0 0 4.027 4.905 6.46 6.46 0 0 1 .544-2.073C3.695 7.536 3.132 6.864 3 5.91h-.5v-.426h.466V5.05c0-.046 0-.093.004-.135H2.5v-.427h.511C3.236 3.24 4.213 2.5 5.681 2.5c.316 0 .59.031.819.085v.733a3.46 3.46 0 0 0-.815-.082c-.919 0-1.538.466-1.734 1.252h1.917v.427h-1.98c-.003.046-.003.097-.003.147v.422h1.983v.427H3.93c.118.602.468 1.03 1.005 1.229a6.5 6.5 0 0 1 4.97-3.113A5.002 5.002 0 0 0 0 5zm16 5.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0zm-7.75 1.322c.069.835.746 1.485 1.964 1.562V14h.54v-.62c1.259-.086 1.996-.74 1.996-1.69 0-.865-.563-1.31-1.57-1.54l-.426-.1V8.374c.54.06.884.347.966.745h.948c-.07-.804-.779-1.433-1.914-1.502V7h-.54v.629c-1.076.103-1.808.732-1.808 1.622 0 .787.544 1.288 1.45 1.493l.358.085v1.78c-.554-.08-.92-.376-1.003-.787H8.25zm1.96-1.895c-.532-.12-.82-.364-.82-.732 0-.41.311-.719.824-.809v1.54h-.005zm.622 1.044c.645.145.943.38.943.796 0 .474-.37.8-1.02.86v-1.674l.077.018z\"}}]})(props);\n};\nexport function BsCurrencyPound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8.585h1.969c.115.465.186.939.186 1.43 0 1.385-.736 2.496-2.075 2.771V14H12v-1.24H6.492v-.129c.825-.525 1.135-1.446 1.135-2.694 0-.465-.07-.913-.168-1.352h3.29v-.972H7.22c-.186-.723-.372-1.455-.372-2.247 0-1.274 1.047-2.066 2.58-2.066a5.32 5.32 0 0 1 2.103.465V2.456A5.629 5.629 0 0 0 9.348 2C6.865 2 5.322 3.291 5.322 5.366c0 .775.195 1.515.399 2.247H4v.972z\"}}]})(props);\n};\nexport function BsCurrencyYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.75 14v-2.629h2.446v-.967H8.75v-1.31h2.445v-.967H9.128L12.5 2h-1.699L8.047 7.327h-.086L5.207 2H3.5l3.363 6.127H4.778v.968H7.25v1.31H4.78v.966h2.47V14h1.502z\"}}]})(props);\n};\nexport function BsCursorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103z\"}}]})(props);\n};\nexport function BsCursorText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2zm3.352 1.355zm-.704 9.29z\"}}]})(props);\n};\nexport function BsCursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.082 2.182a.5.5 0 0 1 .103.557L8.528 15.467a.5.5 0 0 1-.917-.007L5.57 10.694.803 8.652a.5.5 0 0 1-.006-.916l12.728-5.657a.5.5 0 0 1 .556.103zM2.25 8.184l3.897 1.67a.5.5 0 0 1 .262.263l1.67 3.897L12.743 3.52 2.25 8.184z\"}}]})(props);\n};\nexport function BsDashCircleDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.176 0-.35.006-.523.017l.064.998a7.117 7.117 0 0 1 .918 0l.064-.998A8.113 8.113 0 0 0 8 0zM6.44.152c-.346.069-.684.16-1.012.27l.321.948c.287-.098.582-.177.884-.237L6.44.153zm4.132.271a7.946 7.946 0 0 0-1.011-.27l-.194.98c.302.06.597.14.884.237l.321-.947zm1.873.925a8 8 0 0 0-.906-.524l-.443.896c.275.136.54.29.793.459l.556-.831zM4.46.824c-.314.155-.616.33-.905.524l.556.83a7.07 7.07 0 0 1 .793-.458L4.46.824zM2.725 1.985c-.262.23-.51.478-.74.74l.752.66c.202-.23.418-.446.648-.648l-.66-.752zm11.29.74a8.058 8.058 0 0 0-.74-.74l-.66.752c.23.202.447.418.648.648l.752-.66zm1.161 1.735a7.98 7.98 0 0 0-.524-.905l-.83.556c.169.253.322.518.458.793l.896-.443zM1.348 3.555c-.194.289-.37.591-.524.906l.896.443c.136-.275.29-.54.459-.793l-.831-.556zM.423 5.428a7.945 7.945 0 0 0-.27 1.011l.98.194c.06-.302.14-.597.237-.884l-.947-.321zM15.848 6.44a7.943 7.943 0 0 0-.27-1.012l-.948.321c.098.287.177.582.237.884l.98-.194zM.017 7.477a8.113 8.113 0 0 0 0 1.046l.998-.064a7.117 7.117 0 0 1 0-.918l-.998-.064zM16 8a8.1 8.1 0 0 0-.017-.523l-.998.064a7.11 7.11 0 0 1 0 .918l.998.064A8.1 8.1 0 0 0 16 8zM.152 9.56c.069.346.16.684.27 1.012l.948-.321a6.944 6.944 0 0 1-.237-.884l-.98.194zm15.425 1.012c.112-.328.202-.666.27-1.011l-.98-.194c-.06.302-.14.597-.237.884l.947.321zM.824 11.54a8 8 0 0 0 .524.905l.83-.556a6.999 6.999 0 0 1-.458-.793l-.896.443zm13.828.905c.194-.289.37-.591.524-.906l-.896-.443c-.136.275-.29.54-.459.793l.831.556zm-12.667.83c.23.262.478.51.74.74l.66-.752a7.047 7.047 0 0 1-.648-.648l-.752.66zm11.29.74c.262-.23.51-.478.74-.74l-.752-.66c-.201.23-.418.447-.648.648l.66.752zm-1.735 1.161c.314-.155.616-.33.905-.524l-.556-.83a7.07 7.07 0 0 1-.793.458l.443.896zm-7.985-.524c.289.194.591.37.906.524l.443-.896a6.998 6.998 0 0 1-.793-.459l-.556.831zm1.873.925c.328.112.666.202 1.011.27l.194-.98a6.953 6.953 0 0 1-.884-.237l-.321.947zm4.132.271a7.944 7.944 0 0 0 1.012-.27l-.321-.948a6.954 6.954 0 0 1-.884.237l.194.98zm-2.083.135a8.1 8.1 0 0 0 1.046 0l-.064-.998a7.11 7.11 0 0 1-.918 0l-.064.998zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDashLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H1a1 1 0 0 1-1-1z\"}}]})(props);\n};\nexport function BsDashSquareDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0c-.166 0-.33.016-.487.048l.194.98A1.51 1.51 0 0 1 2.5 1h.458V0H2.5zm2.292 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zm1.833 0h-.916v1h.916V0zm1.834 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zM13.5 0h-.458v1h.458c.1 0 .199.01.293.029l.194-.981A2.51 2.51 0 0 0 13.5 0zm2.079 1.11a2.511 2.511 0 0 0-.69-.689l-.556.831c.164.11.305.251.415.415l.83-.556zM1.11.421a2.511 2.511 0 0 0-.689.69l.831.556c.11-.164.251-.305.415-.415L1.11.422zM16 2.5c0-.166-.016-.33-.048-.487l-.98.194c.018.094.028.192.028.293v.458h1V2.5zM.048 2.013A2.51 2.51 0 0 0 0 2.5v.458h1V2.5c0-.1.01-.199.029-.293l-.981-.194zM0 3.875v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 5.708v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 7.542v.916h1v-.916H0zm15 .916h1v-.916h-1v.916zM0 9.375v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .916v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .917v.458c0 .166.016.33.048.487l.98-.194A1.51 1.51 0 0 1 1 13.5v-.458H0zm16 .458v-.458h-1v.458c0 .1-.01.199-.029.293l.981.194c.032-.158.048-.32.048-.487zM.421 14.89c.183.272.417.506.69.689l.556-.831a1.51 1.51 0 0 1-.415-.415l-.83.556zm14.469.689c.272-.183.506-.417.689-.69l-.831-.556c-.11.164-.251.305-.415.415l.556.83zm-12.877.373c.158.032.32.048.487.048h.458v-1H2.5c-.1 0-.199-.01-.293-.029l-.194.981zM13.5 16c.166 0 .33-.016.487-.048l-.194-.98A1.51 1.51 0 0 1 13.5 15h-.458v1h.458zm-9.625 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zm1.834 0h.916v-1h-.916v1zm1.833 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z\"}}]})(props);\n};\nexport function BsDashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm2.5 7.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsDashSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\"}}]})(props);\n};\nexport function BsDiagram2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-3 8A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1z\"}}]})(props);\n};\nexport function BsDiagram2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H11a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 5 7h2.5V6A1.5 1.5 0 0 1 6 4.5v-1zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1zM3 11.5A1.5 1.5 0 0 1 4.5 10h1A1.5 1.5 0 0 1 7 11.5v1A1.5 1.5 0 0 1 5.5 14h-1A1.5 1.5 0 0 1 3 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1A1.5 1.5 0 0 1 9 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsDiagram3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zm-6 8A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm6 0A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm6 0a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1z\"}}]})(props);\n};\nexport function BsDiagram3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3.5A1.5 1.5 0 0 1 7.5 2h1A1.5 1.5 0 0 1 10 3.5v1A1.5 1.5 0 0 1 8.5 6v1H14a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0V8h-5v.5a.5.5 0 0 1-1 0v-1A.5.5 0 0 1 2 7h5.5V6A1.5 1.5 0 0 1 6 4.5v-1zM8.5 5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1zM0 11.5A1.5 1.5 0 0 1 1.5 10h1A1.5 1.5 0 0 1 4 11.5v1A1.5 1.5 0 0 1 2.5 14h-1A1.5 1.5 0 0 1 0 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5A1.5 1.5 0 0 1 7.5 10h1a1.5 1.5 0 0 1 1.5 1.5v1A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm4.5.5a1.5 1.5 0 0 1 1.5-1.5h1a1.5 1.5 0 0 1 1.5 1.5v1a1.5 1.5 0 0 1-1.5 1.5h-1a1.5 1.5 0 0 1-1.5-1.5v-1zm1.5-.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435z\"}}]})(props);\n};\nexport function BsDiamondHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 .989c.127 0 .253.049.35.145l6.516 6.516a.495.495 0 0 1 0 .7L8.35 14.866a.493.493 0 0 1-.35.145V.989z\"}}]})(props);\n};\nexport function BsDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}}]})(props);\n};\nexport function BsDice1Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm5 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"8\",\"cy\":\"8\",\"r\":\"1.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}}]})(props);\n};\nexport function BsDice2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3zm5.5 1a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm6.5 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsDice2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice4Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice5Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm2.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm4-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDice6Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3zm1 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm8 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1.5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM12 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM4 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsDice6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h10zM3 0a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V3a3 3 0 0 0-3-3H3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm8 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-8 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsDiscFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-6 0a2 2 0 1 0-4 0 2 2 0 0 0 4 0zM4 8a4 4 0 0 1 4-4 .5.5 0 0 0 0-1 5 5 0 0 0-5 5 .5.5 0 0 0 1 0zm9 0a.5.5 0 1 0-1 0 4 4 0 0 1-4 4 .5.5 0 0 0 0 1 5 5 0 0 0 5-5z\"}}]})(props);\n};\nexport function BsDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 4a4 4 0 0 0-4 4 .5.5 0 0 1-1 0 5 5 0 0 1 5-5 .5.5 0 0 1 0 1zm4.5 3.5a.5.5 0 0 1 .5.5 5 5 0 0 1-5 5 .5.5 0 0 1 0-1 4 4 0 0 0 4-4 .5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.552 6.712c-.456 0-.816.4-.816.888s.368.888.816.888c.456 0 .816-.4.816-.888.008-.488-.36-.888-.816-.888zm2.92 0c-.456 0-.816.4-.816.888s.368.888.816.888c.456 0 .816-.4.816-.888s-.36-.888-.816-.888z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.36 0H2.64C1.736 0 1 .736 1 1.648v10.816c0 .912.736 1.648 1.64 1.648h9.072l-.424-1.48 1.024.952.968.896L15 16V1.648C15 .736 14.264 0 13.36 0zm-3.088 10.448s-.288-.344-.528-.648c1.048-.296 1.448-.952 1.448-.952-.328.216-.64.368-.92.472-.4.168-.784.28-1.16.344a5.604 5.604 0 0 1-2.072-.008 6.716 6.716 0 0 1-1.176-.344 4.688 4.688 0 0 1-.584-.272c-.024-.016-.048-.024-.072-.04-.016-.008-.024-.016-.032-.024-.144-.08-.224-.136-.224-.136s.384.64 1.4.944c-.24.304-.536.664-.536.664-1.768-.056-2.44-1.216-2.44-1.216 0-2.576 1.152-4.664 1.152-4.664 1.152-.864 2.248-.84 2.248-.84l.08.096c-1.44.416-2.104 1.048-2.104 1.048s.176-.096.472-.232c.856-.376 1.536-.48 1.816-.504.048-.008.088-.016.136-.016a6.521 6.521 0 0 1 4.024.752s-.632-.6-1.992-1.016l.112-.128s1.096-.024 2.248.84c0 0 1.152 2.088 1.152 4.664 0 0-.68 1.16-2.448 1.216z\"}}]})(props);\n};\nexport function BsDisplayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12c0 .667-.083 1.167-.25 1.5H5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1h-.75c-.167-.333-.25-.833-.25-1.5h4c2 0 2-2 2-2V4c0-2-2-2-2-2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h4z\"}}]})(props);\n};\nexport function BsDisplay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4s0-2 2-2h12s2 0 2 2v6s0 2-2 2h-4c0 .667.083 1.167.25 1.5H11a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1h.75c.167-.333.25-.833.25-1.5H2s-2 0-2-2V4zm1.398-.855a.758.758 0 0 0-.254.302A1.46 1.46 0 0 0 1 4.01V10c0 .325.078.502.145.602.07.105.17.188.302.254a1.464 1.464 0 0 0 .538.143L2.01 11H14c.325 0 .502-.078.602-.145a.758.758 0 0 0 .254-.302 1.464 1.464 0 0 0 .143-.538L15 9.99V4c0-.325-.078-.502-.145-.602a.757.757 0 0 0-.302-.254A1.46 1.46 0 0 0 13.99 3H2c-.325 0-.502.078-.602.145z\"}}]})(props);\n};\nexport function BsDistributeHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5zm-13 0a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10z\"}}]})(props);\n};\nexport function BsDistributeVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 1.5a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0-.5.5zm0 13a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 0-1h-13a.5.5 0 0 0-.5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z\"}}]})(props);\n};\nexport function BsDoorClosedFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2a1 1 0 0 1 1-1h8zm-2 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsDoorClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v13h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V2zm1 13h8V2H4v13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9a1 1 0 1 0 2 0 1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsDoorOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 15a.5.5 0 0 0 0 1h13a.5.5 0 0 0 0-1H13V2.5A1.5 1.5 0 0 0 11.5 1H11V.5a.5.5 0 0 0-.57-.495l-7 1A.5.5 0 0 0 3 1.5V15H1.5zM11 2h.5a.5.5 0 0 1 .5.5V15h-1V2zm-2.5 8c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}}]})(props);\n};\nexport function BsDoorOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 10c-.276 0-.5-.448-.5-1s.224-1 .5-1 .5.448.5 1-.224 1-.5 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.828.122A.5.5 0 0 1 11 .5V1h.5A1.5 1.5 0 0 1 13 2.5V15h1.5a.5.5 0 0 1 0 1h-13a.5.5 0 0 1 0-1H3V1.5a.5.5 0 0 1 .43-.495l7-1a.5.5 0 0 1 .398.117zM11.5 2H11v13h1V2.5a.5.5 0 0 0-.5-.5zM4 1.934V15h6V1.077l-6 .857z\"}}]})(props);\n};\nexport function BsDot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\"}}]})(props);\n};\nexport function BsDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0C3.584 0 0 3.584 0 8s3.584 8 8 8c4.408 0 8-3.584 8-8s-3.592-8-8-8zm5.284 3.688a6.802 6.802 0 0 1 1.545 4.251c-.226-.043-2.482-.503-4.755-.217-.052-.112-.096-.234-.148-.355-.139-.33-.295-.668-.451-.99 2.516-1.023 3.662-2.498 3.81-2.69zM8 1.18c1.735 0 3.323.65 4.53 1.718-.122.174-1.155 1.553-3.584 2.464-1.12-2.056-2.36-3.74-2.551-4A6.95 6.95 0 0 1 8 1.18zm-2.907.642A43.123 43.123 0 0 1 7.627 5.77c-3.193.85-6.013.833-6.317.833a6.865 6.865 0 0 1 3.783-4.78zM1.163 8.01V7.8c.295.01 3.61.053 7.02-.971.199.381.381.772.555 1.162l-.27.078c-3.522 1.137-5.396 4.243-5.553 4.504a6.817 6.817 0 0 1-1.752-4.564zM8 14.837a6.785 6.785 0 0 1-4.19-1.44c.12-.252 1.509-2.924 5.361-4.269.018-.009.026-.009.044-.017a28.246 28.246 0 0 1 1.457 5.18A6.722 6.722 0 0 1 8 14.837zm3.81-1.171c-.07-.417-.435-2.412-1.328-4.868 2.143-.338 4.017.217 4.251.295a6.774 6.774 0 0 1-2.924 4.573z\"}}]})(props);\n};\nexport function BsDropletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 16a6 6 0 0 0 6-6c0-1.655-1.122-2.904-2.432-4.362C10.254 4.176 8.75 2.503 8 0c0 0-6 5.686-6 10a6 6 0 0 0 6 6zM6.646 4.646c-.376.377-1.272 1.489-2.093 3.13l.894.448c.78-1.559 1.616-2.58 1.907-2.87l-.708-.708z\"}}]})(props);\n};\nexport function BsDropletHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.21.8C7.69.295 8 0 8 0c.109.363.234.708.371 1.038.812 1.946 2.073 3.35 3.197 4.6C12.878 7.096 14 8.345 14 10a6 6 0 0 1-12 0C2 6.668 5.58 2.517 7.21.8zm.413 1.021A31.25 31.25 0 0 0 5.794 3.99c-.726.95-1.436 2.008-1.96 3.07C3.304 8.133 3 9.138 3 10c0 0 2.5 1.5 5 .5s5-.5 5-.5c0-1.201-.796-2.157-2.181-3.7l-.03-.032C9.75 5.11 8.5 3.72 7.623 1.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.553 7.776c.82-1.641 1.717-2.753 2.093-3.13l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448z\"}}]})(props);\n};\nexport function BsDroplet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.21.8C7.69.295 8 0 8 0c.109.363.234.708.371 1.038.812 1.946 2.073 3.35 3.197 4.6C12.878 7.096 14 8.345 14 10a6 6 0 0 1-12 0C2 6.668 5.58 2.517 7.21.8zm.413 1.021A31.25 31.25 0 0 0 5.794 3.99c-.726.95-1.436 2.008-1.96 3.07C3.304 8.133 3 9.138 3 10a5 5 0 0 0 10 0c0-1.201-.796-2.157-2.181-3.7l-.03-.032C9.75 5.11 8.5 3.72 7.623 1.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.553 7.776c.82-1.641 1.717-2.753 2.093-3.13l.708.708c-.29.29-1.128 1.311-1.907 2.87l-.894-.448z\"}}]})(props);\n};\nexport function BsEarbuds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.825 4.138c.596 2.141-.36 3.593-2.389 4.117a4.432 4.432 0 0 1-2.018.054c-.048-.01.9 2.778 1.522 4.61l.41 1.205a.52.52 0 0 1-.346.659l-.593.19a.548.548 0 0 1-.69-.34L.184 6.99c-.696-2.137.662-4.309 2.564-4.8 2.029-.523 3.402 0 4.076 1.948zm-.868 2.221c.43-.112.561-.993.292-1.969-.269-.975-.836-1.675-1.266-1.563-.43.112-.561.994-.292 1.969.269.975.836 1.675 1.266 1.563zm3.218-2.221c-.596 2.141.36 3.593 2.389 4.117a4.434 4.434 0 0 0 2.018.054c.048-.01-.9 2.778-1.522 4.61l-.41 1.205a.52.52 0 0 0 .346.659l.593.19c.289.092.6-.06.69-.34l2.536-7.643c.696-2.137-.662-4.309-2.564-4.8-2.029-.523-3.402 0-4.076 1.948zm.868 2.221c-.43-.112-.561-.993-.292-1.969.269-.975.836-1.675 1.266-1.563.43.112.561.994.292 1.969-.269.975-.836 1.675-1.266 1.563z\"}}]})(props);\n};\nexport function BsEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.473.337a.5.5 0 0 0-.946 0L6.954 2H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h1.85l-1.323 3.837a.5.5 0 1 0 .946.326L4.908 11H7.5v2.5a.5.5 0 0 0 1 0V11h2.592l1.435 4.163a.5.5 0 0 0 .946-.326L12.15 11H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H9.046L8.473.337z\"}}]})(props);\n};\nexport function BsEasel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .473.337L9.046 2H14a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1.85l1.323 3.837a.5.5 0 1 1-.946.326L11.092 11H8.5v3a.5.5 0 0 1-1 0v-3H4.908l-1.435 4.163a.5.5 0 1 1-.946-.326L3.85 11H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h4.954L7.527.337A.5.5 0 0 1 8 0zM2 3v7h12V3H2z\"}}]})(props);\n};\nexport function BsEggFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a6 6 0 0 1-12 0C2 5.686 5 0 8 0s6 5.686 6 10z\"}}]})(props);\n};\nexport function BsEggFried (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.997 5.17a5 5 0 0 0-8.101-4.09A5 5 0 0 0 1.28 9.342a5 5 0 0 0 8.336 5.109 3.5 3.5 0 0 0 5.201-4.065 3.001 3.001 0 0 0-.822-5.216zm-1-.034a1 1 0 0 0 .668.977 2.001 2.001 0 0 1 .547 3.478 1 1 0 0 0-.341 1.113 2.5 2.5 0 0 1-3.715 2.905 1 1 0 0 0-1.262.152 4 4 0 0 1-6.67-4.087 1 1 0 0 0-.2-1 4 4 0 0 1 3.693-6.61 1 1 0 0 0 .8-.2 4 4 0 0 1 6.48 3.273z\"}}]})(props);\n};\nexport function BsEgg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15a5 5 0 0 1-5-5c0-1.956.69-4.286 1.742-6.12.524-.913 1.112-1.658 1.704-2.164C7.044 1.206 7.572 1 8 1c.428 0 .956.206 1.554.716.592.506 1.18 1.251 1.704 2.164C12.31 5.714 13 8.044 13 10a5 5 0 0 1-5 5zm0 1a6 6 0 0 0 6-6c0-4.314-3-10-6-10S2 5.686 2 10a6 6 0 0 0 6 6z\"}}]})(props);\n};\nexport function BsEjectFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1z\"}}]})(props);\n};\nexport function BsEject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 1.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H1.656C.78 9.5.326 8.455.926 7.816L7.27 1.047zM14.346 8.5 8 1.731 1.654 8.5h12.692zM.5 11.5a1 1 0 0 1 1-1h13a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-13a1 1 0 0 1-1-1v-1zm14 0h-13v1h13v-1z\"}}]})(props);\n};\nexport function BsEmojiAngryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.053 4.276a.5.5 0 0 1 .67-.223l2 1a.5.5 0 0 1 .166.76c.071.206.111.44.111.687C7 7.328 6.552 8 6 8s-1-.672-1-1.5c0-.408.109-.778.285-1.049l-1.009-.504a.5.5 0 0 1-.223-.67zm.232 8.157a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 1 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5 0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5z\"}}]})(props);\n};\nexport function BsEmojiAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 12.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 10.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 9.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zm6.991-8.38a.5.5 0 1 1 .448.894l-1.009.504c.176.27.285.64.285 1.049 0 .828-.448 1.5-1 1.5s-1-.672-1-1.5c0-.247.04-.48.11-.686a.502.502 0 0 1 .166-.761l2-1zm-6.552 0a.5.5 0 0 0-.448.894l1.009.504A1.94 1.94 0 0 0 5 6.5C5 7.328 5.448 8 6 8s1-.672 1-1.5c0-.247-.04-.48-.11-.686a.502.502 0 0 0-.166-.761l-2-1z\"}}]})(props);\n};\nexport function BsEmojiDizzyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM8 13a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\"}}]})(props);\n};\nexport function BsEmojiDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.146 5.146a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708.708l-.647.646.647.646a.5.5 0 0 1-.708.708l-.646-.647-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zm-5 0a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 1 1 .708.708l-.647.646.647.646a.5.5 0 1 1-.708.708L5.5 7.207l-.646.647a.5.5 0 1 1-.708-.708l.647-.646-.647-.646a.5.5 0 0 1 0-.708zM10 11a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsEmojiExpressionlessFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM4.5 6h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm5 0h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zm-5 4h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsEmojiExpressionless (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm5 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsEmojiFrownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-2.715 5.933a.5.5 0 0 1-.183-.683A4.498 4.498 0 0 1 8 9.5a4.5 4.5 0 0 1 3.898 2.25.5.5 0 0 1-.866.5A3.498 3.498 0 0 0 8 10.5a3.498 3.498 0 0 0-3.032 1.75.5.5 0 0 1-.683.183zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 12.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 10.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 9.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiHeartEyesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.559 5.448a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zm-.07-5.448c1.397-.864 3.543 1.838-.953 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsEmojiHeartEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.315 10.014a.5.5 0 0 1 .548.736A4.498 4.498 0 0 1 7.965 13a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .548-.736h.005l.017.005.067.015.252.055c.215.046.515.108.857.169.693.124 1.522.242 2.152.242.63 0 1.46-.118 2.152-.242a26.58 26.58 0 0 0 1.109-.224l.067-.015.017-.004.005-.002zM4.756 4.566c.763-1.424 4.02-.12.952 3.434-4.496-1.596-2.35-4.298-.952-3.434zm6.488 0c1.398-.864 3.544 1.838-.952 3.434-3.067-3.554.19-4.858.952-3.434z\"}}]})(props);\n};\nexport function BsEmojiLaughingFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5c0 .501-.164.396-.415.235C6.42 6.629 6.218 6.5 6 6.5c-.218 0-.42.13-.585.235C5.164 6.896 5 7 5 6.5 5 5.672 5.448 5 6 5s1 .672 1 1.5zm5.331 3a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zm-1.746-2.765C10.42 6.629 10.218 6.5 10 6.5c-.218 0-.42.13-.585.235C9.164 6.896 9 7 9 6.5c0-.828.448-1.5 1-1.5s1 .672 1 1.5c0 .501-.164.396-.415.235z\"}}]})(props);\n};\nexport function BsEmojiLaughing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.331 9.5a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zM7 6.5c0 .828-.448 0-1 0s-1 .828-1 0S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 0-1 0s-1 .828-1 0S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiNeutralFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm-3 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiNeutral (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5zm3-4C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5S9.448 8 10 8s1-.672 1-1.5z\"}}]})(props);\n};\nexport function BsEmojiSmileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zM4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM10 8c-.552 0-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiSmileUpsideDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zM4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM10 8c-.552 0-1 .672-1 1.5s.448 1.5 1 1.5 1-.672 1-1.5S10.552 8 10 8z\"}}]})(props);\n};\nexport function BsEmojiSmileUpsideDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a7 7 0 1 0 0 14A7 7 0 0 0 8 1zm0-1a8 8 0 1 1 0 16A8 8 0 0 1 8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 6.433a.5.5 0 0 0 .683-.183A3.498 3.498 0 0 1 8 4.5c1.295 0 2.426.703 3.032 1.75a.5.5 0 0 0 .866-.5A4.498 4.498 0 0 0 8 3.5a4.5 4.5 0 0 0-3.898 2.25.5.5 0 0 0 .183.683zM7 9.5C7 8.672 6.552 8 6 8s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5zm4 0c0-.828-.448-1.5-1-1.5s-1 .672-1 1.5.448 1.5 1 1.5 1-.672 1-1.5z\"}}]})(props);\n};\nexport function BsEmojiSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 1.5-1 1.5s-1-.672-1-1.5S9.448 5 10 5s1 .672 1 1.5z\"}}]})(props);\n};\nexport function BsEmojiSunglassesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM2.31 5.243A1 1 0 0 1 3.28 4H6a1 1 0 0 1 1 1v.116A4.22 4.22 0 0 1 8 5c.35 0 .69.04 1 .116V5a1 1 0 0 1 1-1h2.72a1 1 0 0 1 .97 1.243l-.311 1.242A2 2 0 0 1 11.439 8H11a2 2 0 0 1-1.994-1.839A2.99 2.99 0 0 0 8 6c-.393 0-.74.064-1.006.161A2 2 0 0 1 5 8h-.438a2 2 0 0 1-1.94-1.515L2.31 5.243zM4.969 9.75A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .866-.5z\"}}]})(props);\n};\nexport function BsEmojiSunglasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.968 9.75a.5.5 0 1 0-.866.5A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75zM7 5.116V5a1 1 0 0 0-1-1H3.28a1 1 0 0 0-.97 1.243l.311 1.242A2 2 0 0 0 4.561 8H5a2 2 0 0 0 1.994-1.839A2.99 2.99 0 0 1 8 6c.393 0 .74.064 1.006.161A2 2 0 0 0 11 8h.438a2 2 0 0 0 1.94-1.515l.311-1.242A1 1 0 0 0 12.72 4H10a1 1 0 0 0-1 1v.116A4.22 4.22 0 0 0 8 5c-.35 0-.69.04-1 .116z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-1 0A7 7 0 1 0 1 8a7 7 0 0 0 14 0z\"}}]})(props);\n};\nexport function BsEmojiWinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zM7 6.5C7 5.672 6.552 5 6 5s-1 .672-1 1.5S5.448 8 6 8s1-.672 1-1.5zM4.285 9.567a.5.5 0 0 0-.183.683A4.498 4.498 0 0 0 8 12.5a4.5 4.5 0 0 0 3.898-2.25.5.5 0 1 0-.866-.5A3.498 3.498 0 0 1 8 11.5a3.498 3.498 0 0 1-3.032-1.75.5.5 0 0 0-.683-.183zm5.152-3.31a.5.5 0 0 0-.874.486c.33.595.958 1.007 1.687 1.007.73 0 1.356-.412 1.687-1.007a.5.5 0 0 0-.874-.486.934.934 0 0 1-.813.493.934.934 0 0 1-.813-.493z\"}}]})(props);\n};\nexport function BsEmojiWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm1.757-.437a.5.5 0 0 1 .68.194.934.934 0 0 0 .813.493c.339 0 .645-.19.813-.493a.5.5 0 1 1 .874.486A1.934 1.934 0 0 1 10.25 7.75c-.73 0-1.356-.412-1.687-1.007a.5.5 0 0 1 .194-.68z\"}}]})(props);\n};\nexport function BsEnvelopeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555zM0 4.697v7.104l5.803-3.558L0 4.697zM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144l-6.57-4.027L8 9.586l-1.239-.757zm3.436-.586L16 11.801V4.697l-5.803 3.546z\"}}]})(props);\n};\nexport function BsEnvelopeOpenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.941.435a2 2 0 0 0-1.882 0l-6 3.2A2 2 0 0 0 0 5.4v.313l6.709 3.933L8 8.928l1.291.717L16 5.715V5.4a2 2 0 0 0-1.059-1.765l-6-3.2zM16 6.873l-5.693 3.337L16 13.372v-6.5zm-.059 7.611L8 10.072.059 14.484A2 2 0 0 0 2 16h12a2 2 0 0 0 1.941-1.516zM0 13.373l5.693-3.163L0 6.873v6.5z\"}}]})(props);\n};\nexport function BsEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.47 1.318a1 1 0 0 0-.94 0l-6 3.2A1 1 0 0 0 1 5.4v.818l5.724 3.465L8 8.917l1.276.766L15 6.218V5.4a1 1 0 0 0-.53-.882l-6-3.2zM15 7.388l-4.754 2.877L15 13.117v-5.73zm-.035 6.874L8 10.083l-6.965 4.18A1 1 0 0 0 2 15h12a1 1 0 0 0 .965-.738zM1 13.117l4.754-2.852L1 7.387v5.73zM7.059.435a2 2 0 0 1 1.882 0l6 3.2A2 2 0 0 1 16 5.4V14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5.4a2 2 0 0 1 1.059-1.765l6-3.2z\"}}]})(props);\n};\nexport function BsEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2zm13 2.383-4.758 2.855L15 11.114v-5.73zm-.034 6.878L9.271 8.82 8 9.583 6.728 8.82l-5.694 3.44A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.739zM1 11.114l4.758-2.876L1 5.383v5.73z\"}}]})(props);\n};\nexport function BsEraserFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm.66 11.34L3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsEraser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.086 2.207a2 2 0 0 1 2.828 0l3.879 3.879a2 2 0 0 1 0 2.828l-5.5 5.5A2 2 0 0 1 7.879 15H5.12a2 2 0 0 1-1.414-.586l-2.5-2.5a2 2 0 0 1 0-2.828l6.879-6.879zm2.121.707a1 1 0 0 0-1.414 0L4.16 7.547l5.293 5.293 4.633-4.633a1 1 0 0 0 0-1.414l-3.879-3.879zM8.746 13.547 3.453 8.254 1.914 9.793a1 1 0 0 0 0 1.414l2.5 2.5a1 1 0 0 0 .707.293H7.88a1 1 0 0 0 .707-.293l.16-.16z\"}}]})(props);\n};\nexport function BsExclamationCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 14a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm.195-12.01a1.81 1.81 0 1 1 3.602 0l-.701 7.015a1.105 1.105 0 0 1-2.2 0l-.7-7.015z\"}}]})(props);\n};\nexport function BsExclamationOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclamationTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsExclamationTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 12a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z\"}}]})(props);\n};\nexport function BsExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsExclude (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm12 2H5a1 1 0 0 0-1 1v7h7a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsEyeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8s3-5.5 8-5.5S16 8 16 8s-3 5.5-8 5.5S0 8 0 8zm8 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsEyeSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.79 12.912-1.614-1.615a3.5 3.5 0 0 1-4.474-4.474l-2.06-2.06C.938 6.278 0 8 0 8s3 5.5 8 5.5a7.029 7.029 0 0 0 2.79-.588zM5.21 3.088A7.028 7.028 0 0 1 8 2.5c5 0 8 5.5 8 5.5s-.939 1.721-2.641 3.238l-2.062-2.062a3.5 3.5 0 0 0-4.474-4.474L5.21 3.089z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.525 7.646a2.5 2.5 0 0 0 2.829 2.829l-2.83-2.829zm4.95.708-2.829-2.83a2.5 2.5 0 0 1 2.829 2.829zm3.171 6-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsEyeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z\"}}]})(props);\n};\nexport function BsEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"}}]})(props);\n};\nexport function BsEyedropper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z\"}}]})(props);\n};\nexport function BsEyeglasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6a2 2 0 1 1 0 4 2 2 0 0 1 0-4zm2.625.547a3 3 0 0 0-5.584.953H.5a.5.5 0 0 0 0 1h.541A3 3 0 0 0 7 8a1 1 0 0 1 2 0 3 3 0 0 0 5.959.5h.541a.5.5 0 0 0 0-1h-.541a3 3 0 0 0-5.584-.953A1.993 1.993 0 0 0 8 6c-.532 0-1.016.208-1.375.547zM14 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z\"}}]})(props);\n};\nexport function BsFileArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsFileArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.5 6.707 6.354 7.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707z\"}}]})(props);\n};\nexport function BsFileArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a.5.5 0 0 0 .5-.5V6.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7.5 6.707V10.5a.5.5 0 0 0 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 11.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFileBarGraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 12a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1zm3 0a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm3 0a.5.5 0 0 1-.5-.5v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 9.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.56-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7.05 10.885c0 1.415-.548 2.206-1.524 2.206C4.548 13.09 4 12.3 4 10.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V13h-3v-.595h1.181V9.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFileBinary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 13.09c.976 0 1.524-.79 1.524-2.205 0-1.412-.548-2.203-1.524-2.203-.978 0-1.526.79-1.526 2.203 0 1.415.548 2.206 1.526 2.206zm-.832-2.205c0-1.05.29-1.612.832-1.612.358 0 .607.247.733.721L4.7 11.137a6.749 6.749 0 0 1-.006-.252zm.832 1.614c-.36 0-.606-.246-.732-.718l1.556-1.145c.003.079.005.164.005.249 0 1.052-.29 1.614-.829 1.614zm5.329.501v-.595H9.73V8.772h-.69l-1.19.786v.688L8.986 9.5h.05v2.906h-1.18V13h3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v7H2V2a2 2 0 0 1 2-2zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileBreak (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10.5a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zM12 0H4a2 2 0 0 0-2 2v7h1V2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v7h1V2a2 2 0 0 0-2-2zm2 12h-1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-2H2v2a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2z\"}}]})(props);\n};\nexport function BsFileCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1.146 6.854-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFileCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.646 5.646a.5.5 0 1 1 .708.708L5.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0a.5.5 0 1 0-.708.708L10.293 8 8.646 9.646a.5.5 0 0 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5a.5.5 0 0 1 1 0zM6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V7H6a.5.5 0 0 1 0-1h1.5V4.5A.5.5 0 0 1 8 4zm-2.5 6.5A.5.5 0 0 1 6 10h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-1 4v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 .708-.708L7.5 11.293V7.5a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6.5a.5.5 0 0 0-1 0v3.793L6.354 9.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 10.293V6.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.354 9.854a.5.5 0 0 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 8.707V12.5a.5.5 0 0 1-1 0V8.707L6.354 9.854z\"}}]})(props);\n};\nexport function BsFileEarmarkArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 11.5a.5.5 0 0 1-1 0V7.707L6.354 8.854a.5.5 0 1 1-.708-.708l2-2a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 7.707V11.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBarGraphFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm.5 10v-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}}]})(props);\n};\nexport function BsFileEarmarkBarGraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-6a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v6zm-2.5.5a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-.5.5h-1zm-3 0a.5.5 0 0 1-.5-.5v-2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBinaryFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.526 10.273c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-2.45 8.385c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm3.805 1.52V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}}]})(props);\n};\nexport function BsFileEarmarkBinary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05 11.885c0 1.415-.548 2.206-1.524 2.206C4.548 14.09 4 13.3 4 11.885c0-1.412.548-2.203 1.526-2.203.976 0 1.524.79 1.524 2.203zm-1.524-1.612c-.542 0-.832.563-.832 1.612 0 .088.003.173.006.252l1.559-1.143c-.126-.474-.375-.72-.733-.72zm-.732 2.508c.126.472.372.718.732.718.54 0 .83-.563.83-1.614 0-.085-.003-.17-.006-.25l-1.556 1.146zm6.061.624V14h-3v-.595h1.181V10.5h-.05l-1.136.747v-.688l1.19-.786h.69v3.633h1.125z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkBreakFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V9H2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM2 12h12v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileEarmarkBreak (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V9h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v7H2V2a2 2 0 0 1 2-2h5.5L14 4.5zM13 12h1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-2h1v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2zM.5 10a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsFileEarmarkCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm1.354 4.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 9.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsFileEarmarkCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 7.854a.5.5 0 0 0-.708-.708L7.5 9.793 6.354 8.646a.5.5 0 1 0-.708.708l1.5 1.5a.5.5 0 0 0 .708 0l3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkCodeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.646 7.646a.5.5 0 1 1 .708.708L5.707 10l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zm2.708 0 2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 10 8.646 8.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.646 6.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 9 8.646 7.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 9l1.647-1.646a.5.5 0 0 0 0-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkDiffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8 6a.5.5 0 0 1 .5.5V8H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V9H6a.5.5 0 0 1 0-1h1.5V6.5A.5.5 0 0 1 8 6zm-2.5 6.5A.5.5 0 0 1 6 12h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a.5.5 0 0 1 .5.5V7H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V8H6a.5.5 0 0 1 0-1h1.5V5.5A.5.5 0 0 1 8 5zm-2.5 6.5A.5.5 0 0 1 6 11h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 6h2A1.5 1.5 0 0 1 12 7.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 11H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 11H5.5A1.5 1.5 0 0 1 4 9.5v-2A1.5 1.5 0 0 1 5.5 6h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkEasel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6a.5.5 0 1 0-1 0h-2A1.5 1.5 0 0 0 4 7.5v2A1.5 1.5 0 0 0 5.5 11h.473l-.447 1.342a.5.5 0 1 0 .948.316L7.027 11H7.5v1a.5.5 0 0 0 1 0v-1h.473l.553 1.658a.5.5 0 1 0 .948-.316L10.027 11h.473A1.5 1.5 0 0 0 12 9.5v-2A1.5 1.5 0 0 0 10.5 6h-2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.884 6.68 8 9.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 10l2.233 2.68a.5.5 0 0 1-.768.64L8 10.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 10 5.116 7.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFileEarmarkExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.884 6.68a.5.5 0 1 0-.768.64L7.349 10l-2.233 2.68a.5.5 0 0 0 .768.64L8 10.781l2.116 2.54a.5.5 0 0 0 .768-.641L8.651 10l2.233-2.68a.5.5 0 0 0-.768-.64L8 9.219l-2.116-2.54z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3z\"}}]})(props);\n};\nexport function BsFileEarmarkFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.057 6h5.886L11 8h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v5.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V6.755l-.293.01C5.856 6.808 5.68 6.905 5.5 8H5l.057-2z\"}}]})(props);\n};\nexport function BsFileEarmarkFont (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.943 6H5.057L5 8h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v5.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V6.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707v5.586l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zm-1.498 4a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFileEarmarkImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.502 7a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5V14zM4 1a1 1 0 0 0-1 1v10l2.224-2.224a.5.5 0 0 1 .61-.075L8 11l2.157-3.02a.5.5 0 0 1 .76-.063L13 10V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4z\"}}]})(props);\n};\nexport function BsFileEarmarkLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7zM6 9.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 9h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 12h-3a.637.637 0 0 1-.395-.125C6.02 11.807 6 11.742 6 11.7V9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileEarmarkLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0zM7 7v1h2V7a1 1 0 0 0-2 0zM6 9.3v2.4c0 .042.02.107.105.175A.637.637 0 0 0 6.5 12h3a.64.64 0 0 0 .395-.125c.085-.068.105-.133.105-.175V9.3c0-.042-.02-.107-.105-.175A.637.637 0 0 0 9.5 9h-3a.637.637 0 0 0-.395.125C6.02 9.193 6 9.258 6 9.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7a1 1 0 0 1 2 0v1H7V7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileEarmarkLock2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 7v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V9.3c0-.627.46-1.058 1-1.224V7a2 2 0 1 1 4 0zM7 7v1h2V7a1 1 0 0 0-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-3 2v.634l.549-.317a.5.5 0 1 1 .5.866L7 7l.549.317a.5.5 0 1 1-.5.866L6.5 7.866V8.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L5 7l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V5.5a.5.5 0 1 1 1 0zm-2 4.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 5.5a.5.5 0 0 0-1 0v.634l-.549-.317a.5.5 0 1 0-.5.866L6 7l-.549.317a.5.5 0 1 0 .5.866l.549-.317V8.5a.5.5 0 1 0 1 0v-.634l.549.317a.5.5 0 1 0 .5-.866L8 7l.549-.317a.5.5 0 1 0-.5-.866l-.549.317V5.5zm-2 4.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 8.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 6.64v1.75l-2 .5v3.61c0 .495-.301.883-.662 1.123C7.974 13.866 7.499 14 7 14c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 11.134 6.501 11 7 11c.356 0 .7.068 1 .196V6.89a1 1 0 0 1 .757-.97l1-.25A1 1 0 0 1 11 6.64z\"}}]})(props);\n};\nexport function BsFileEarmarkMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6.64a1 1 0 0 0-1.243-.97l-1 .25A1 1 0 0 0 8 6.89v4.306A2.572 2.572 0 0 0 7 11c-.5 0-.974.134-1.338.377-.36.24-.662.628-.662 1.123s.301.883.662 1.123c.364.243.839.377 1.338.377.5 0 .974-.134 1.338-.377.36-.24.662-.628.662-1.123V8.89l2-.5V6.64z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 12.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.148 21.148 0 0 0 .5-1.05 12.045 12.045 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.881 3.881 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 6.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM4.165 13.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.651 11.651 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.697 19.697 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFileEarmarkPdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.603 14.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.697 19.697 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.188-.012.396-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.066.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.712 5.712 0 0 1-.911-.95 11.651 11.651 0 0 0-1.997.406 11.307 11.307 0 0 1-1.02 1.51c-.292.35-.609.656-.927.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.266.266 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.71 12.71 0 0 1 1.01-.193 11.744 11.744 0 0 1-.51-.858 20.801 20.801 0 0 1-.5 1.05zm2.446.45c.15.163.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.876 3.876 0 0 0-.612-.053zM8.078 7.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z\"}}]})(props);\n};\nexport function BsFileEarmarkPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm2 5.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-.245S4 12 8 12s5 1.755 5 1.755z\"}}]})(props);\n};\nexport function BsFileEarmarkPerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2v9.255S12 12 8 12s-5 1.755-5 1.755V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6 6.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V6.884z\"}}]})(props);\n};\nexport function BsFileEarmarkPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6.883v4.234a.5.5 0 0 0 .757.429l3.528-2.117a.5.5 0 0 0 0-.858L6.757 6.454a.5.5 0 0 0-.757.43z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM8.5 7v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEarmarkPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V11a.5.5 0 0 1-1 0V9.5H6a.5.5 0 0 1 0-1h1.5V7a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkPostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1 0-1zm0 3h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkPost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-7zm0-3a.5.5 0 0 1 .5-.5H7a.5.5 0 0 1 0 1H4.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFileEarmarkPptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h5.293A1 1 0 0 1 10 .293L13.707 4a1 1 0 0 1 .293.707V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm5.5 1.5v2a1 1 0 0 0 1 1h2l-3-3zM7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFileEarmarkPpt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5.5a1 1 0 0 0-1 1V13a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7zM8.188 10H7V6.5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmarkRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM7 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V9.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V9s1.54-1.274 1.639-1.208zM5 11h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileEarmarkRichtext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm1.639-3.708 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V8.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8s1.54-1.274 1.639-1.208zM6.25 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z\"}}]})(props);\n};\nexport function BsFileEarmarkRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1H6v2h7v1H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFileEarmarkRuled (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V9H3V2a1 1 0 0 1 1-1h5.5v2zM3 12v-2h2v2H3zm0 1h2v2H4a1 1 0 0 1-1-1v-1zm3 2v-2h7v1a1 1 0 0 1-1 1H6zm7-3H6v-2h7v2z\"}}]})(props);\n};\nexport function BsFileEarmarkSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5 6h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 11h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V11h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 6z\"}}]})(props);\n};\nexport function BsFileEarmarkSlides (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6a.5.5 0 0 0-.496.438l-.5 4A.5.5 0 0 0 4.5 11h3v2.016c-.863.055-1.5.251-1.5.484 0 .276.895.5 2 .5s2-.224 2-.5c0-.233-.637-.429-1.5-.484V11h3a.5.5 0 0 0 .496-.562l-.5-4A.5.5 0 0 0 11 6H5zm2 3.78V7.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 9.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12v-2h3v2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM3 9h10v1h-3v2h3v1h-3v2H9v-2H6v2H5v-2H3v-1h2v-2H3V9z\"}}]})(props);\n};\nexport function BsFileEarmarkSpreadsheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V9H3V2a1 1 0 0 1 1-1h5.5v2zM3 12v-2h2v2H3zm0 1h2v2H4a1 1 0 0 1-1-1v-1zm3 2v-2h3v2H6zm4 0v-2h3v1a1 1 0 0 1-1 1h-2zm3-3h-3v-2h3v2zm-7 0v-2h3v2H6z\"}}]})(props);\n};\nexport function BsFileEarmarkTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM4.5 9a.5.5 0 0 1 0-1h7a.5.5 0 0 1 0 1h-7zM4 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1h-4z\"}}]})(props);\n};\nexport function BsFileEarmarkText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 7a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.5L9.5 0zm0 1v2A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z\"}}]})(props);\n};\nexport function BsFileEarmarkWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM5.485 6.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 9.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFileEarmarkWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.485 6.879a.5.5 0 1 0-.97.242l1.5 6a.5.5 0 0 0 .967.01L8 9.402l1.018 3.73a.5.5 0 0 0 .967-.01l1.5-6a.5.5 0 0 0-.97-.242l-1.036 4.144-.997-3.655a.5.5 0 0 0-.964 0l-.997 3.655L5.485 6.88z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zM6.854 7.146 8 8.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 9l1.147 1.146a.5.5 0 0 1-.708.708L8 9.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 9 6.146 7.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileEarmarkX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.854 7.146a.5.5 0 1 0-.708.708L7.293 9l-1.147 1.146a.5.5 0 0 0 .708.708L8 9.707l1.146 1.147a.5.5 0 0 0 .708-.708L8.707 9l1.147-1.146a.5.5 0 0 0-.708-.708L8 8.293 6.854 7.146z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z\"}}]})(props);\n};\nexport function BsFileEarmarkZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 9.438V8.5h1v.938a1 1 0 0 0 .03.243l.4 1.598-.93.62-.93-.62.4-1.598a1 1 0 0 0 .03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.293 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V4.707A1 1 0 0 0 13.707 4L10 .293A1 1 0 0 0 9.293 0zM9.5 3.5v-2l3 3h-2a1 1 0 0 1-1-1zm-4-.5V2h-1V1H6v1h1v1H6v1h1v1H6v1h1v1H5.5V6h-1V5h1V4h-1V3h1zm0 4.5h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V8.5a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileEarmarkZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.11 0l-.929-.62a1 1 0 0 1-.415-1.074L5 8.438V7.5zm2 0H6v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.929-.62-.4-1.598A1 1 0 0 1 7 8.438V7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1h-2v1h-1v1h1v1h-1v1h1v1H6V5H5V4h1V3H5V2h1V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEarmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z\"}}]})(props);\n};\nexport function BsFileEaselFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 5h2A1.5 1.5 0 0 1 12 6.5v2a1.5 1.5 0 0 1-1.5 1.5h-.473l.447 1.342a.5.5 0 0 1-.948.316L8.973 10H8.5v1a.5.5 0 0 1-1 0v-1h-.473l-.553 1.658a.5.5 0 1 1-.948-.316L5.973 10H5.5A1.5 1.5 0 0 1 4 8.5v-2A1.5 1.5 0 0 1 5.5 5h2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFileEasel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5a.5.5 0 1 0-1 0h-2A1.5 1.5 0 0 0 4 6.5v2A1.5 1.5 0 0 0 5.5 10h.473l-.447 1.342a.5.5 0 1 0 .948.316L7.027 10H7.5v1a.5.5 0 0 0 1 0v-1h.473l.553 1.658a.5.5 0 1 0 .948-.316L10.027 10h.473A1.5 1.5 0 0 0 12 8.5v-2A1.5 1.5 0 0 0 10.5 5h-2zM5 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileExcelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.884 4.68 8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 1 1 .768-.64z\"}}]})(props);\n};\nexport function BsFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.18 4.616a.5.5 0 0 1 .704.064L8 7.219l2.116-2.54a.5.5 0 1 1 .768.641L8.651 8l2.233 2.68a.5.5 0 0 1-.768.64L8 8.781l-2.116 2.54a.5.5 0 0 1-.768-.641L7.349 8 5.116 5.32a.5.5 0 0 1 .064-.704z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2z\"}}]})(props);\n};\nexport function BsFileFontFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.057 4h5.886L11 6h-.5c-.18-1.096-.356-1.192-1.694-1.235l-.298-.01v6.09c0 .47.1.582.903.655v.5H6.59v-.5c.799-.073.898-.184.898-.654V4.755l-.293.01C5.856 4.808 5.68 4.905 5.5 6H5l.057-2z\"}}]})(props);\n};\nexport function BsFileFont (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.943 4H5.057L5 6h.5c.18-1.096.356-1.192 1.694-1.235l.293-.01v6.09c0 .47-.1.582-.898.655v.5H9.41v-.5c-.803-.073-.903-.184-.903-.654V4.755l.298.01c1.338.043 1.514.14 1.694 1.235h.5l-.057-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v8.293l-2.73-2.73a1 1 0 0 0-1.52.127l-1.889 2.644-1.769-1.062a1 1 0 0 0-1.222.15L2 12.292V2a2 2 0 0 1 2-2zm4.002 5.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.564 8.27 14 11.708V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-.293l3.578-3.577 2.56 1.536 2.426-3.395z\"}}]})(props);\n};\nexport function BsFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM3 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v8l-2.083-2.083a.5.5 0 0 0-.76.063L8 11 5.835 9.7a.5.5 0 0 0-.611.076L3 12V2z\"}}]})(props);\n};\nexport function BsFileLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6zM6 8.3c0-.042.02-.107.105-.175A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 0 1 1 1v1H7V6a1 1 0 0 1 1-1zm2 2.076V6a2 2 0 1 0-4 0v1.076c-.54.166-1 .597-1 1.224v2.4c0 .816.781 1.3 1.5 1.3h3c.719 0 1.5-.484 1.5-1.3V8.3c0-.627-.46-1.058-1-1.224zM6.105 8.125A.637.637 0 0 1 6.5 8h3a.64.64 0 0 1 .395.125c.085.068.105.133.105.175v2.4c0 .042-.02.107-.105.175A.637.637 0 0 1 9.5 11h-3a.637.637 0 0 1-.395-.125C6.02 10.807 6 10.742 6 10.7V8.3c0-.042.02-.107.105-.175z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileLock2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6a1 1 0 0 1 2 0v1H7V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-2 6v1.076c.54.166 1 .597 1 1.224v2.4c0 .816-.781 1.3-1.5 1.3h-3c-.719 0-1.5-.484-1.5-1.3V8.3c0-.627.46-1.058 1-1.224V6a2 2 0 1 1 4 0z\"}}]})(props);\n};\nexport function BsFileLock2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 0 1 1 1v1H7V6a1 1 0 0 1 1-1zm2 2.076V6a2 2 0 1 0-4 0v1.076c-.54.166-1 .597-1 1.224v2.4c0 .816.781 1.3 1.5 1.3h3c.719 0 1.5-.484 1.5-1.3V8.3c0-.627-.46-1.058-1-1.224z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileMedicalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 4.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5a.5.5 0 1 1 1 0zM5.5 9h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.5a.5.5 0 0 0-1 0v.634l-.549-.317a.5.5 0 1 0-.5.866L7 6l-.549.317a.5.5 0 1 0 .5.866l.549-.317V7.5a.5.5 0 1 0 1 0v-.634l.549.317a.5.5 0 1 0 .5-.866L9 6l.549-.317a.5.5 0 1 0-.5-.866l-.549.317V4.5zM5.5 9a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 2a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileMusicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-.5 4.11v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3a1 1 0 0 1 1.196.98z\"}}]})(props);\n};\nexport function BsFileMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.304 3.13a1 1 0 0 1 1.196.98v1.8l-2.5.5v5.09c0 .495-.301.883-.662 1.123C7.974 12.866 7.499 13 7 13c-.5 0-.974-.134-1.338-.377-.36-.24-.662-.628-.662-1.123s.301-.883.662-1.123C6.026 10.134 6.501 10 7 10c.356 0 .7.068 1 .196V4.41a1 1 0 0 1 .804-.98l1.5-.3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilePdfFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.523 10.424c.14-.082.293-.162.459-.238a7.878 7.878 0 0 1-.45.606c-.28.337-.498.516-.635.572a.266.266 0 0 1-.035.012.282.282 0 0 1-.026-.044c-.056-.11-.054-.216.04-.36.106-.165.319-.354.647-.548zm2.455-1.647c-.119.025-.237.05-.356.078a21.035 21.035 0 0 0 .5-1.05 11.96 11.96 0 0 0 .51.858c-.217.032-.436.07-.654.114zm2.525.939a3.888 3.888 0 0 1-.435-.41c.228.005.434.022.612.054.317.057.466.147.518.209a.095.095 0 0 1 .026.064.436.436 0 0 1-.06.2.307.307 0 0 1-.094.124.107.107 0 0 1-.069.015c-.09-.003-.258-.066-.498-.256zM8.278 4.97c-.04.244-.108.524-.2.829a4.86 4.86 0 0 1-.089-.346c-.076-.353-.087-.63-.046-.822.038-.177.11-.248.196-.283a.517.517 0 0 1 .145-.04c.013.03.028.092.032.198.005.122-.007.277-.038.465z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm.165 11.668c.09.18.23.343.438.419.207.075.412.04.58-.03.318-.13.635-.436.926-.786.333-.401.683-.927 1.021-1.51a11.64 11.64 0 0 1 1.997-.406c.3.383.61.713.91.95.28.22.603.403.934.417a.856.856 0 0 0 .51-.138c.155-.101.27-.247.354-.416.09-.181.145-.37.138-.563a.844.844 0 0 0-.2-.518c-.226-.27-.596-.4-.96-.465a5.76 5.76 0 0 0-1.335-.05 10.954 10.954 0 0 1-.98-1.686c.25-.66.437-1.284.52-1.794.036-.218.055-.426.048-.614a1.238 1.238 0 0 0-.127-.538.7.7 0 0 0-.477-.365c-.202-.043-.41 0-.601.077-.377.15-.576.47-.651.823-.073.34-.04.736.046 1.136.088.406.238.848.43 1.295a19.707 19.707 0 0 1-1.062 2.227 7.662 7.662 0 0 0-1.482.645c-.37.22-.699.48-.897.787-.21.326-.275.714-.08 1.103z\"}}]})(props);\n};\nexport function BsFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.603 12.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.701 19.701 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.187-.012.395-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.065.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.716 5.716 0 0 1-.911-.95 11.642 11.642 0 0 0-1.997.406 11.311 11.311 0 0 1-1.021 1.51c-.29.35-.608.655-.926.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.27.27 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.647 12.647 0 0 1 1.01-.193 11.666 11.666 0 0 1-.51-.858 20.741 20.741 0 0 1-.5 1.05zm2.446.45c.15.162.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.881 3.881 0 0 0-.612-.053zM8.078 5.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z\"}}]})(props);\n};\nexport function BsFilePersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm-1 7a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 4c2.623 0 4.146.826 5 1.755V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1.245C3.854 11.825 5.377 11 8 11z\"}}]})(props);\n};\nexport function BsFilePerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v10.755S12 11 8 11s-5 1.755-5 1.755V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsFilePlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6 5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43V5.884z\"}}]})(props);\n};\nexport function BsFilePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10.117V5.883a.5.5 0 0 1 .757-.429l3.528 2.117a.5.5 0 0 1 0 .858l-3.528 2.117a.5.5 0 0 1-.757-.43z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsFilePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 6a.5.5 0 0 0-1 0v1.5H6a.5.5 0 0 0 0 1h1.5V10a.5.5 0 0 0 1 0V8.5H10a.5.5 0 0 0 0-1H8.5V6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFilePostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM4.5 3h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zm0 2h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFilePost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFilePptFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.188 8.5H7V5h1.188a1.75 1.75 0 1 1 0 3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm3 4a1 1 0 0 0-1 1v6.5a.5.5 0 0 0 1 0v-2h1.188a2.75 2.75 0 0 0 0-5.5H7z\"}}]})(props);\n};\nexport function BsFilePpt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5a1 1 0 0 1 1-1h1.188a2.75 2.75 0 0 1 0 5.5H7v2a.5.5 0 0 1-1 0V5zm1 3.5h1.188a1.75 1.75 0 1 0 0-3.5H7v3.5z\"}}]})(props);\n};\nexport function BsFileRichtextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileRichtext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 4.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V7.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V7s1.54-1.274 1.639-1.208zM5 9a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileRuledFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7H6v2h8V7zm0 3H6v2h8v-2zm0 3H6v3h6a2 2 0 0 0 2-2v-1zm-9 3v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2z\"}}]})(props);\n};\nexport function BsFileRuled (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v4h10V2a1 1 0 0 0-1-1H4zm9 6H6v2h7V7zm0 3H6v2h7v-2zm0 3H6v2h6a1 1 0 0 0 1-1v-1zm-8 2v-2H3v1a1 1 0 0 0 1 1h1zm-2-3h2v-2H3v2zm0-3h2V7H3v2z\"}}]})(props);\n};\nexport function BsFileSlidesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 .496.438l.5 4A.5.5 0 0 1 11.5 9h-3v2.016c.863.055 1.5.251 1.5.484 0 .276-.895.5-2 .5s-2-.224-2-.5c0-.233.637-.429 1.5-.484V9h-3a.5.5 0 0 1-.496-.562l.5-4A.5.5 0 0 1 5 4z\"}}]})(props);\n};\nexport function BsFileSlides (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a.5.5 0 0 0-.496.438l-.5 4A.5.5 0 0 0 4.5 9h3v2.016c-.863.055-1.5.251-1.5.484 0 .276.895.5 2 .5s2-.224 2-.5c0-.233-.637-.429-1.5-.484V9h3a.5.5 0 0 0 .496-.562l-.5-4A.5.5 0 0 0 11 4H5zm2 3.78V5.22c0-.096.106-.156.19-.106l2.13 1.279a.125.125 0 0 1 0 .214l-2.13 1.28A.125.125 0 0 1 7 7.778z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileSpreadsheetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v4h12V2a2 2 0 0 0-2-2zm2 7h-4v2h4V7zm0 3h-4v2h4v-2zm0 3h-4v3h2a2 2 0 0 0 2-2v-1zm-5 3v-3H6v3h3zm-4 0v-3H2v1a2 2 0 0 0 2 2h1zm-3-4h3v-2H2v2zm0-3h3V7H2v2zm4 0V7h3v2H6zm0 1h3v2H6v-2z\"}}]})(props);\n};\nexport function BsFileSpreadsheet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v4h10V2a1 1 0 0 0-1-1H4zm9 6h-3v2h3V7zm0 3h-3v2h3v-2zm0 3h-3v2h2a1 1 0 0 0 1-1v-1zm-4 2v-2H6v2h3zm-4 0v-2H3v1a1 1 0 0 0 1 1h1zm-2-3h2v-2H3v2zm0-3h2V7H3v2zm3-2v2h3V7H6zm3 3H6v2h3v-2z\"}}]})(props);\n};\nexport function BsFileTextFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5 4h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1zm0 2h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsFileText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm-.5 2.5A.5.5 0 0 1 5 6h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zM5 8a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5zm0 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm10-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsFileWordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM5.485 4.879l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 1 1 .97-.242z\"}}]})(props);\n};\nexport function BsFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.879 4.515a.5.5 0 0 1 .606.364l1.036 4.144.997-3.655a.5.5 0 0 1 .964 0l.997 3.655 1.036-4.144a.5.5 0 0 1 .97.242l-1.5 6a.5.5 0 0 1-.967.01L8 7.402l-1.018 3.73a.5.5 0 0 1-.967-.01l-1.5-6a.5.5 0 0 1 .364-.606z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM6.854 6.146 8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsFileX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 6.146a.5.5 0 0 1 .708 0L8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFileZipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 9.438V8.5h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm2.5 8.5v.938l-.4 1.599a1 1 0 0 0 .416 1.074l.93.62a1 1 0 0 0 1.109 0l.93-.62a1 1 0 0 0 .415-1.074l-.4-1.599V8.5a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1zm1-5.5h-1v1h1v1h-1v1h1v1H9V6H8V5h1V4H8V3h1V2H8V1H6.5v1h1v1z\"}}]})(props);\n};\nexport function BsFileZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v.938l.4 1.599a1 1 0 0 1-.416 1.074l-.93.62a1 1 0 0 1-1.109 0l-.93-.62a1 1 0 0 1-.415-1.074l.4-1.599V7.5zm2 0h-1v.938a1 1 0 0 1-.03.243l-.4 1.598.93.62.93-.62-.4-1.598a1 1 0 0 1-.03-.243V7.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm5.5-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9v1H8v1h1v1H8v1h1v1H7.5V5h-1V4h1V3h-1V2h1V1z\"}}]})(props);\n};\nexport function BsFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm0 1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsFilesAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 0H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2 2 2 0 0 0 2-2V4a2 2 0 0 0-2-2 2 2 0 0 0-2-2zm2 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1V3zM2 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V2z\"}}]})(props);\n};\nexport function BsFiles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 0H6a2 2 0 0 0-2 2 2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h7a2 2 0 0 0 2-2 2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm0 13V4a2 2 0 0 0-2-2H5a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1zM3 4a1 1 0 0 1 1-1h7a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4z\"}}]})(props);\n};\nexport function BsFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm4 0v6h8V1H4zm8 8H4v6h8V9zM1 1v2h2V1H1zm2 3H1v2h2V4zM1 7v2h2V7H1zm2 3H1v2h2v-2zm-2 3v2h2v-2H1zM15 1h-2v2h2V1zm-2 3v2h2V4h-2zm2 3h-2v2h2V7zm-2 3v2h2v-2h-2zm2 3h-2v2h2v-2z\"}}]})(props);\n};\nexport function BsFilterCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM3.5 5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1 0-1zM5 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10.5a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 .5-.5zm0-3a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0 0 1h11a.5.5 0 0 0 .5-.5z\"}}]})(props);\n};\nexport function BsFilterSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm.5 5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1 0-1zM4 8.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm2 3a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilterSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFlagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001\"}}]})(props);\n};\nexport function BsFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001M14 1.221c-.22.078-.48.167-.766.255-.81.252-1.872.523-2.734.523-.886 0-1.592-.286-2.203-.534l-.008-.003C7.662 1.21 7.139 1 6.5 1c-.669 0-1.606.229-2.415.478A21.294 21.294 0 0 0 3 1.845v6.433c.22-.078.48-.167.766-.255C4.576 7.77 5.638 7.5 6.5 7.5c.847 0 1.548.28 2.158.525l.028.01C9.32 8.29 9.86 8.5 10.5 8.5c.668 0 1.606-.229 2.415-.478A21.317 21.317 0 0 0 14 7.655V1.222z\"}}]})(props);\n};\nexport function BsFlower1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.174 1.184a2 2 0 0 1 3.652 0A2 2 0 0 1 12.99 3.01a2 2 0 0 1 1.826 3.164 2 2 0 0 1 0 3.652 2 2 0 0 1-1.826 3.164 2 2 0 0 1-3.164 1.826 2 2 0 0 1-3.652 0A2 2 0 0 1 3.01 12.99a2 2 0 0 1-1.826-3.164 2 2 0 0 1 0-3.652A2 2 0 0 1 3.01 3.01a2 2 0 0 1 3.164-1.826zM8 1a1 1 0 0 0-.998 1.03l.01.091c.012.077.029.176.054.296.049.241.122.542.213.887.182.688.428 1.513.676 2.314L8 5.762l.045-.144c.248-.8.494-1.626.676-2.314.091-.345.164-.646.213-.887a4.997 4.997 0 0 0 .064-.386L9 2a1 1 0 0 0-1-1zM2 9l.03-.002.091-.01a4.99 4.99 0 0 0 .296-.054c.241-.049.542-.122.887-.213a60.59 60.59 0 0 0 2.314-.676L5.762 8l-.144-.045a60.59 60.59 0 0 0-2.314-.676 16.705 16.705 0 0 0-.887-.213 4.99 4.99 0 0 0-.386-.064L2 7a1 1 0 1 0 0 2zm7 5-.002-.03a5.005 5.005 0 0 0-.064-.386 16.398 16.398 0 0 0-.213-.888 60.582 60.582 0 0 0-.676-2.314L8 10.238l-.045.144c-.248.8-.494 1.626-.676 2.314-.091.345-.164.646-.213.887a4.996 4.996 0 0 0-.064.386L7 14a1 1 0 1 0 2 0zm-5.696-2.134.025-.017a5.001 5.001 0 0 0 .303-.248c.184-.164.408-.377.661-.629A60.614 60.614 0 0 0 5.96 9.23l.103-.111-.147.033a60.88 60.88 0 0 0-2.343.572c-.344.093-.64.18-.874.258a5.063 5.063 0 0 0-.367.138l-.027.014a1 1 0 1 0 1 1.732zM4.5 14.062a1 1 0 0 0 1.366-.366l.014-.027c.01-.02.021-.048.036-.084a5.09 5.09 0 0 0 .102-.283c.078-.233.165-.53.258-.874a60.6 60.6 0 0 0 .572-2.343l.033-.147-.11.102a60.848 60.848 0 0 0-1.743 1.667 17.07 17.07 0 0 0-.629.66 5.06 5.06 0 0 0-.248.304l-.017.025a1 1 0 0 0 .366 1.366zm9.196-8.196a1 1 0 0 0-1-1.732l-.025.017a4.951 4.951 0 0 0-.303.248 16.69 16.69 0 0 0-.661.629A60.72 60.72 0 0 0 10.04 6.77l-.102.111.147-.033a60.6 60.6 0 0 0 2.342-.572c.345-.093.642-.18.875-.258a4.993 4.993 0 0 0 .367-.138.53.53 0 0 0 .027-.014zM11.5 1.938a1 1 0 0 0-1.366.366l-.014.027c-.01.02-.021.048-.036.084a5.09 5.09 0 0 0-.102.283c-.078.233-.165.53-.258.875a60.62 60.62 0 0 0-.572 2.342l-.033.147.11-.102a60.848 60.848 0 0 0 1.743-1.667c.252-.253.465-.477.629-.66a5.001 5.001 0 0 0 .248-.304l.017-.025a1 1 0 0 0-.366-1.366zM14 9a1 1 0 0 0 0-2l-.03.002a4.996 4.996 0 0 0-.386.064c-.242.049-.543.122-.888.213-.688.182-1.513.428-2.314.676L10.238 8l.144.045c.8.248 1.626.494 2.314.676.345.091.646.164.887.213a4.996 4.996 0 0 0 .386.064L14 9zM1.938 4.5a1 1 0 0 0 .393 1.38l.084.035c.072.03.166.064.283.103.233.078.53.165.874.258a60.88 60.88 0 0 0 2.343.572l.147.033-.103-.111a60.584 60.584 0 0 0-1.666-1.742 16.705 16.705 0 0 0-.66-.629 4.996 4.996 0 0 0-.304-.248l-.025-.017a1 1 0 0 0-1.366.366zm2.196-1.196.017.025a4.996 4.996 0 0 0 .248.303c.164.184.377.408.629.661A60.597 60.597 0 0 0 6.77 5.96l.111.102-.033-.147a60.602 60.602 0 0 0-.572-2.342c-.093-.345-.18-.642-.258-.875a5.006 5.006 0 0 0-.138-.367l-.014-.027a1 1 0 1 0-1.732 1zm9.928 8.196a1 1 0 0 0-.366-1.366l-.027-.014a5 5 0 0 0-.367-.138c-.233-.078-.53-.165-.875-.258a60.619 60.619 0 0 0-2.342-.572l-.147-.033.102.111a60.73 60.73 0 0 0 1.667 1.742c.253.252.477.465.66.629a4.946 4.946 0 0 0 .304.248l.025.017a1 1 0 0 0 1.366-.366zm-3.928 2.196a1 1 0 0 0 1.732-1l-.017-.025a5.065 5.065 0 0 0-.248-.303 16.705 16.705 0 0 0-.629-.661A60.462 60.462 0 0 0 9.23 10.04l-.111-.102.033.147a60.6 60.6 0 0 0 .572 2.342c.093.345.18.642.258.875a4.985 4.985 0 0 0 .138.367.575.575 0 0 0 .014.027zM8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}}]})(props);\n};\nexport function BsFlower2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a4 4 0 0 0 4-4 4 4 0 0 0 0-8 4 4 0 0 0-8 0 4 4 0 1 0 0 8 4 4 0 0 0 4 4zm3-12c0 .073-.01.155-.03.247-.544.241-1.091.638-1.598 1.084A2.987 2.987 0 0 0 8 5c-.494 0-.96.12-1.372.331-.507-.446-1.054-.843-1.597-1.084A1.117 1.117 0 0 1 5 4a3 3 0 0 1 6 0zm-.812 6.052A2.99 2.99 0 0 0 11 8a2.99 2.99 0 0 0-.812-2.052c.215-.18.432-.346.647-.487C11.34 5.131 11.732 5 12 5a3 3 0 1 1 0 6c-.268 0-.66-.13-1.165-.461a6.833 6.833 0 0 1-.647-.487zm-3.56.617a3.001 3.001 0 0 0 2.744 0c.507.446 1.054.842 1.598 1.084.02.091.03.174.03.247a3 3 0 1 1-6 0c0-.073.01-.155.03-.247.544-.242 1.091-.638 1.598-1.084zm-.816-4.721A2.99 2.99 0 0 0 5 8c0 .794.308 1.516.812 2.052a6.83 6.83 0 0 1-.647.487C4.66 10.869 4.268 11 4 11a3 3 0 0 1 0-6c.268 0 .66.13 1.165.461.215.141.432.306.647.487zM8 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFlower3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.424 8c.437-.052.811-.136 1.04-.268a2 2 0 0 0-2-3.464c-.229.132-.489.414-.752.767C9.886 4.63 10 4.264 10 4a2 2 0 1 0-4 0c0 .264.114.63.288 1.035-.263-.353-.523-.635-.752-.767a2 2 0 0 0-2 3.464c.229.132.603.216 1.04.268-.437.052-.811.136-1.04.268a2 2 0 1 0 2 3.464c.229-.132.489-.414.752-.767C6.114 11.37 6 11.736 6 12a2 2 0 1 0 4 0c0-.264-.114-.63-.288-1.035.263.353.523.635.752.767a2 2 0 1 0 2-3.464c-.229-.132-.603-.216-1.04-.268zM9 4a1.468 1.468 0 0 1-.045.205c-.039.132-.1.295-.183.484a12.88 12.88 0 0 1-.637 1.223L8 6.142a21.73 21.73 0 0 1-.135-.23 12.88 12.88 0 0 1-.637-1.223 4.216 4.216 0 0 1-.183-.484A1.473 1.473 0 0 1 7 4a1 1 0 1 1 2 0zM3.67 5.5a1 1 0 0 1 1.366-.366 1.472 1.472 0 0 1 .156.142c.094.1.204.233.326.4.245.333.502.747.742 1.163l.13.232a21.86 21.86 0 0 1-.265.002 12.88 12.88 0 0 1-1.379-.06 4.214 4.214 0 0 1-.51-.083 1.47 1.47 0 0 1-.2-.064A1 1 0 0 1 3.67 5.5zm1.366 5.366a1 1 0 0 1-1-1.732c.001 0 .016-.008.047-.02.037-.013.087-.028.153-.044.134-.032.305-.06.51-.083a12.88 12.88 0 0 1 1.379-.06c.09 0 .178 0 .266.002a21.82 21.82 0 0 1-.131.232c-.24.416-.497.83-.742 1.163a4.1 4.1 0 0 1-.327.4 1.483 1.483 0 0 1-.155.142zM9 12a1 1 0 0 1-2 0 1.476 1.476 0 0 1 .045-.206c.039-.131.1-.294.183-.483.166-.378.396-.808.637-1.223L8 9.858l.135.23c.241.415.47.845.637 1.223.083.19.144.352.183.484A1.338 1.338 0 0 1 9 12zm3.33-6.5a1 1 0 0 1-.366 1.366 1.478 1.478 0 0 1-.2.064c-.134.032-.305.06-.51.083-.412.045-.898.061-1.379.06-.09 0-.178 0-.266-.002l.131-.232c.24-.416.497-.83.742-1.163a4.1 4.1 0 0 1 .327-.4c.046-.05.085-.086.114-.11.026-.022.04-.03.041-.032a1 1 0 0 1 1.366.366zm-1.366 5.366a1.494 1.494 0 0 1-.155-.141 4.225 4.225 0 0 1-.327-.4A12.88 12.88 0 0 1 9.74 9.16a22 22 0 0 1-.13-.232l.265-.002c.48-.001.967.015 1.379.06.205.023.376.051.51.083.066.016.116.031.153.044l.048.02a1 1 0 1 1-1 1.732zM8 9a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsFolderCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.854 10.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.707 0l-1.5-1.5a.5.5 0 0 1 .707-.708l1.146 1.147 2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsFolderFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.825a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3zm-8.322.12C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139z\"}}]})(props);\n};\nexport function BsFolderMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11.5a.5.5 0 0 1 .5-.5h4a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsFolderPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 10a.5.5 0 0 1 .5.5V12h1.5a.5.5 0 1 1 0 1H14v1.5a.5.5 0 1 1-1 0V13h-1.5a.5.5 0 0 1 0-1H13v-1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFolderSymlinkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2l.04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3zM2.19 3c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293L7.586 3H2.19zm9.608 5.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}}]})(props);\n};\nexport function BsFolderSymlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.798 8.271-3.182 1.97c-.27.166-.616-.036-.616-.372V9.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14h10.348a2 2 0 0 0 1.991-1.819l.637-7A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm.694 2.09A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09l-.636 7a1 1 0 0 1-.996.91H2.826a1 1 0 0 1-.995-.91l-.637-7zM6.172 2a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z\"}}]})(props);\n};\nexport function BsFolderX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zm6.339-1.577A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.854 10.146a.5.5 0 0 0-.707.708L12.293 12l-1.146 1.146a.5.5 0 0 0 .707.708L13 12.707l1.146 1.147a.5.5 0 0 0 .708-.708L13.707 12l1.147-1.146a.5.5 0 0 0-.707-.708L13 11.293l-1.146-1.147z\"}}]})(props);\n};\nexport function BsFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.54 3.87.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181l-.637 7A2 2 0 0 1 13.174 14H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31zM2.19 4a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91h10.348a1 1 0 0 0 .995-.91l.637-7A1 1 0 0 0 13.81 4H2.19zm4.69-1.707A1 1 0 0 0 6.172 2H2.5a1 1 0 0 0-1 .981l.006.139C1.72 3.042 1.95 3 2.19 3h5.396l-.707-.707z\"}}]})(props);\n};\nexport function BsFolder2Open (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v.64c.57.265.94.876.856 1.546l-.64 5.124A2.5 2.5 0 0 1 12.733 15H3.266a2.5 2.5 0 0 1-2.481-2.19l-.64-5.124A1.5 1.5 0 0 1 1 6.14V3.5zM2 6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5a.5.5 0 0 0-.5.5V6zm-.367 1a.5.5 0 0 0-.496.562l.64 5.124A1.5 1.5 0 0 0 3.266 14h9.468a1.5 1.5 0 0 0 1.489-1.314l.64-5.124A.5.5 0 0 0 14.367 7H1.633z\"}}]})(props);\n};\nexport function BsFolder2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 3.5A1.5 1.5 0 0 1 2.5 2h2.764c.958 0 1.76.56 2.311 1.184C7.985 3.648 8.48 4 9 4h4.5A1.5 1.5 0 0 1 15 5.5v7a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 12.5v-9zM2.5 3a.5.5 0 0 0-.5.5V6h12v-.5a.5.5 0 0 0-.5-.5H9c-.964 0-1.71-.629-2.174-1.154C6.374 3.334 5.82 3 5.264 3H2.5zM14 7H2v5.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V7z\"}}]})(props);\n};\nexport function BsFonts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.258 3h-8.51l-.083 2.46h.479c.26-1.544.758-1.783 2.693-1.845l.424-.013v7.827c0 .663-.144.82-1.3.923v.52h4.082v-.52c-1.162-.103-1.306-.26-1.306-.923V3.602l.431.013c1.934.062 2.434.301 2.693 1.846h.479L12.258 3z\"}}]})(props);\n};\nexport function BsForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m9.77 12.11 4.012-2.953a.647.647 0 0 0 0-1.114L9.771 5.09a.644.644 0 0 0-.971.557V6.65H2v3.9h6.8v1.003c0 .505.545.808.97.557z\"}}]})(props);\n};\nexport function BsForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.502 5.513a.144.144 0 0 0-.202.134V6.65a.5.5 0 0 1-.5.5H2.5v2.9h6.3a.5.5 0 0 1 .5.5v1.003c0 .108.11.176.202.134l3.984-2.933a.51.51 0 0 1 .042-.028.147.147 0 0 0 0-.252.51.51 0 0 1-.042-.028L9.502 5.513zM8.3 5.647a1.144 1.144 0 0 1 1.767-.96l3.994 2.94a1.147 1.147 0 0 1 0 1.946l-3.994 2.94a1.144 1.144 0 0 1-1.767-.96v-.503H2a.5.5 0 0 1-.5-.5v-3.9a.5.5 0 0 1 .5-.5h6.3v-.503z\"}}]})(props);\n};\nexport function BsFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm5 10v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2v5a2 2 0 0 1-2 2H5z\"}}]})(props);\n};\nexport function BsFullscreenExit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 0a.5.5 0 0 1 .5.5v4A1.5 1.5 0 0 1 4.5 6h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5zm5 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 10 4.5v-4a.5.5 0 0 1 .5-.5zM0 10.5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 6 11.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zm10 1a1.5 1.5 0 0 1 1.5-1.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4z\"}}]})(props);\n};\nexport function BsFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v4a.5.5 0 0 1-1 0v-4A1.5 1.5 0 0 1 1.5 0h4a.5.5 0 0 1 0 1h-4zM10 .5a.5.5 0 0 1 .5-.5h4A1.5 1.5 0 0 1 16 1.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 0-.5-.5h-4a.5.5 0 0 1-.5-.5zM.5 10a.5.5 0 0 1 .5.5v4a.5.5 0 0 0 .5.5h4a.5.5 0 0 1 0 1h-4A1.5 1.5 0 0 1 0 14.5v-4a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v4a1.5 1.5 0 0 1-1.5 1.5h-4a.5.5 0 0 1 0-1h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsFunnelFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2z\"}}]})(props);\n};\nexport function BsFunnel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2h-11z\"}}]})(props);\n};\nexport function BsGearFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.405 1.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 0 1-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 0 1 .872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 0 1 2.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 0 1 2.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 0 1 .872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 0 1-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 0 1-2.105-.872l-.1-.34zM8 10.93a2.929 2.929 0 1 1 0-5.86 2.929 2.929 0 0 1 0 5.858z\"}}]})(props);\n};\nexport function BsGearWideConnected (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.068.727c.243-.97 1.62-.97 1.864 0l.071.286a.96.96 0 0 0 1.622.434l.205-.211c.695-.719 1.888-.03 1.613.931l-.08.284a.96.96 0 0 0 1.187 1.187l.283-.081c.96-.275 1.65.918.931 1.613l-.211.205a.96.96 0 0 0 .434 1.622l.286.071c.97.243.97 1.62 0 1.864l-.286.071a.96.96 0 0 0-.434 1.622l.211.205c.719.695.03 1.888-.931 1.613l-.284-.08a.96.96 0 0 0-1.187 1.187l.081.283c.275.96-.918 1.65-1.613.931l-.205-.211a.96.96 0 0 0-1.622.434l-.071.286c-.243.97-1.62.97-1.864 0l-.071-.286a.96.96 0 0 0-1.622-.434l-.205.211c-.695.719-1.888.03-1.613-.931l.08-.284a.96.96 0 0 0-1.186-1.187l-.284.081c-.96.275-1.65-.918-.931-1.613l.211-.205a.96.96 0 0 0-.434-1.622l-.286-.071c-.97-.243-.97-1.62 0-1.864l.286-.071a.96.96 0 0 0 .434-1.622l-.211-.205c-.719-.695-.03-1.888.931-1.613l.284.08a.96.96 0 0 0 1.187-1.186l-.081-.284c-.275-.96.918-1.65 1.613-.931l.205.211a.96.96 0 0 0 1.622-.434l.071-.286zM12.973 8.5H8.25l-2.834 3.779A4.998 4.998 0 0 0 12.973 8.5zm0-1a4.998 4.998 0 0 0-7.557-3.779l2.834 3.78h4.723zM5.048 3.967c-.03.021-.058.043-.087.065l.087-.065zm-.431.355A4.984 4.984 0 0 0 3.002 8c0 1.455.622 2.765 1.615 3.678L7.375 8 4.617 4.322zm.344 7.646.087.065-.087-.065z\"}}]})(props);\n};\nexport function BsGearWide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.932.727c-.243-.97-1.62-.97-1.864 0l-.071.286a.96.96 0 0 1-1.622.434l-.205-.211c-.695-.719-1.888-.03-1.613.931l.08.284a.96.96 0 0 1-1.186 1.187l-.284-.081c-.96-.275-1.65.918-.931 1.613l.211.205a.96.96 0 0 1-.434 1.622l-.286.071c-.97.243-.97 1.62 0 1.864l.286.071a.96.96 0 0 1 .434 1.622l-.211.205c-.719.695-.03 1.888.931 1.613l.284-.08a.96.96 0 0 1 1.187 1.187l-.081.283c-.275.96.918 1.65 1.613.931l.205-.211a.96.96 0 0 1 1.622.434l.071.286c.243.97 1.62.97 1.864 0l.071-.286a.96.96 0 0 1 1.622-.434l.205.211c.695.719 1.888.03 1.613-.931l-.08-.284a.96.96 0 0 1 1.187-1.187l.283.081c.96.275 1.65-.918.931-1.613l-.211-.205a.96.96 0 0 1 .434-1.622l.286-.071c.97-.243.97-1.62 0-1.864l-.286-.071a.96.96 0 0 1-.434-1.622l.211-.205c.719-.695.03-1.888-.931-1.613l-.284.08a.96.96 0 0 1-1.187-1.186l.081-.284c.275-.96-.918-1.65-1.613-.931l-.205.211a.96.96 0 0 1-1.622-.434L8.932.727zM8 12.997a4.998 4.998 0 1 1 0-9.995 4.998 4.998 0 0 1 0 9.996z\"}}]})(props);\n};\nexport function BsGear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z\"}}]})(props);\n};\nexport function BsGem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.1.7a.5.5 0 0 1 .4-.2h9a.5.5 0 0 1 .4.2l2.976 3.974c.149.185.156.45.01.644L8.4 15.3a.5.5 0 0 1-.8 0L.1 5.3a.5.5 0 0 1 0-.6l3-4zm11.386 3.785-1.806-2.41-.776 2.413 2.582-.003zm-3.633.004.961-2.989H4.186l.963 2.995 5.704-.006zM5.47 5.495 8 13.366l2.532-7.876-5.062.005zm-1.371-.999-.78-2.422-1.818 2.425 2.598-.003zM1.499 5.5l5.113 6.817-2.192-6.82L1.5 5.5zm7.889 6.817 5.123-6.83-2.928.002-2.195 6.828z\"}}]})(props);\n};\nexport function BsGenderAmbiguous (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 1a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-3.45 3.45A4 4 0 0 1 8.5 10.97V13H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V14H6a.5.5 0 0 1 0-1h1.5v-2.03a4 4 0 1 1 3.471-6.648L14.293 1H11.5zm-.997 4.346a3 3 0 1 0-5.006 3.309 3 3 0 0 0 5.006-3.31z\"}}]})(props);\n};\nexport function BsGenderFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM3 5a5 5 0 1 1 5.5 4.975V12h2a.5.5 0 0 1 0 1h-2v2.5a.5.5 0 0 1-1 0V13h-2a.5.5 0 0 1 0-1h2V9.975A5 5 0 0 1 3 5z\"}}]})(props);\n};\nexport function BsGenderMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.5 2a.5.5 0 0 1 0-1h5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-1 0V2.707L9.871 6.836a5 5 0 1 1-.707-.707L13.293 2H9.5zM6 6a4 4 0 1 0 0 8 4 4 0 0 0 0-8z\"}}]})(props);\n};\nexport function BsGenderTrans (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 .5A.5.5 0 0 1 .5 0h3a.5.5 0 0 1 0 1H1.707L3.5 2.793l.646-.647a.5.5 0 1 1 .708.708l-.647.646.822.822A3.99 3.99 0 0 1 8 3c1.18 0 2.239.51 2.971 1.322L14.293 1H11.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-3.45 3.45A4 4 0 0 1 8.5 10.97V13H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V14H6a.5.5 0 0 1 0-1h1.5v-2.03a4 4 0 0 1-3.05-5.814l-.95-.949-.646.647a.5.5 0 1 1-.708-.708l.647-.646L1 1.707V3.5a.5.5 0 0 1-1 0v-3zm5.49 4.856a3 3 0 1 0 5.02 3.288 3 3 0 0 0-5.02-3.288z\"}}]})(props);\n};\nexport function BsGeoAltFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10zm0-7a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsGeoAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94zM8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4zm0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsGeoFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsGeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zM4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999zm2.493 8.574a.5.5 0 0 1-.411.575c-.712.118-1.28.295-1.655.493a1.319 1.319 0 0 0-.37.265.301.301 0 0 0-.057.09V14l.002.008a.147.147 0 0 0 .016.033.617.617 0 0 0 .145.15c.165.13.435.27.813.395.751.25 1.82.414 3.024.414s2.273-.163 3.024-.414c.378-.126.648-.265.813-.395a.619.619 0 0 0 .146-.15.148.148 0 0 0 .015-.033L12 14v-.004a.301.301 0 0 0-.057-.09 1.318 1.318 0 0 0-.37-.264c-.376-.198-.943-.375-1.655-.493a.5.5 0 1 1 .164-.986c.77.127 1.452.328 1.957.594C12.5 13 13 13.4 13 14c0 .426-.26.752-.544.977-.29.228-.68.413-1.116.558-.878.293-2.059.465-3.34.465-1.281 0-2.462-.172-3.34-.465-.436-.145-.826-.33-1.116-.558C3.26 14.752 3 14.426 3 14c0-.599.5-1 .961-1.243.505-.266 1.187-.467 1.957-.594a.5.5 0 0 1 .575.411z\"}}]})(props);\n};\nexport function BsGiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zm6 4v7.5a1.5 1.5 0 0 1-1.5 1.5H9V7h6zM2.5 16A1.5 1.5 0 0 1 1 14.5V7h6v9H2.5z\"}}]})(props);\n};\nexport function BsGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2.5a2.5 2.5 0 0 1 5 0 2.5 2.5 0 0 1 5 0v.006c0 .07 0 .27-.038.494H15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 14.5V7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h2.038A2.968 2.968 0 0 1 3 2.506V2.5zm1.068.5H7v-.5a1.5 1.5 0 1 0-3 0c0 .085.002.274.045.43a.522.522 0 0 0 .023.07zM9 3h2.932a.56.56 0 0 0 .023-.07c.043-.156.045-.345.045-.43a1.5 1.5 0 0 0-3 0V3zM1 4v2h6V4H1zm8 0v2h6V4H9zm5 3H9v8h4.5a.5.5 0 0 0 .5-.5V7zm-7 8V7H2v7.5a.5.5 0 0 0 .5.5H7z\"}}]})(props);\n};\nexport function BsGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z\"}}]})(props);\n};\nexport function BsGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855A7.97 7.97 0 0 0 5.145 4H7.5V1.077zM4.09 4a9.267 9.267 0 0 1 .64-1.539 6.7 6.7 0 0 1 .597-.933A7.025 7.025 0 0 0 2.255 4H4.09zm-.582 3.5c.03-.877.138-1.718.312-2.5H1.674a6.958 6.958 0 0 0-.656 2.5h2.49zM4.847 5a12.5 12.5 0 0 0-.338 2.5H7.5V5H4.847zM8.5 5v2.5h2.99a12.495 12.495 0 0 0-.337-2.5H8.5zM4.51 8.5a12.5 12.5 0 0 0 .337 2.5H7.5V8.5H4.51zm3.99 0V11h2.653c.187-.765.306-1.608.338-2.5H8.5zM5.145 12c.138.386.295.744.468 1.068.552 1.035 1.218 1.65 1.887 1.855V12H5.145zm.182 2.472a6.696 6.696 0 0 1-.597-.933A9.268 9.268 0 0 1 4.09 12H2.255a7.024 7.024 0 0 0 3.072 2.472zM3.82 11a13.652 13.652 0 0 1-.312-2.5h-2.49c.062.89.291 1.733.656 2.5H3.82zm6.853 3.472A7.024 7.024 0 0 0 13.745 12H11.91a9.27 9.27 0 0 1-.64 1.539 6.688 6.688 0 0 1-.597.933zM8.5 12v2.923c.67-.204 1.335-.82 1.887-1.855.173-.324.33-.682.468-1.068H8.5zm3.68-1h2.146c.365-.767.594-1.61.656-2.5h-2.49a13.65 13.65 0 0 1-.312 2.5zm2.802-3.5a6.959 6.959 0 0 0-.656-2.5H12.18c.174.782.282 1.623.312 2.5h2.49zM11.27 2.461c.247.464.462.98.64 1.539h1.835a7.024 7.024 0 0 0-3.072-2.472c.218.284.418.598.597.933zM10.855 4a7.966 7.966 0 0 0-.468-1.068C9.835 1.897 9.17 1.282 8.5 1.077V4h2.355z\"}}]})(props);\n};\nexport function BsGlobe2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.472.257 2.282.287V1.077zM4.249 3.539c.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05c.362.184.763.349 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5h2.49zm1.4-2.741a12.344 12.344 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332zM8.5 5.09V7.5h2.99a12.342 12.342 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.612 13.612 0 0 1 7.5 10.91V8.5H4.51zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741H8.5zm-3.282 3.696c.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a6.696 6.696 0 0 1-.598-.933 8.853 8.853 0 0 1-.481-1.079 8.38 8.38 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.522zm-1.383-2.964A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.963 6.963 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667zm6.728 2.964a7.009 7.009 0 0 0 2.275-1.521 8.376 8.376 0 0 0-1.197-.49 8.853 8.853 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zM8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872A12.63 12.63 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.963 6.963 0 0 0 14.982 8.5h-2.49a13.36 13.36 0 0 1-.437 3.008zM14.982 7.5a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008h2.49zM11.27 2.461c.177.334.339.694.482 1.078a8.368 8.368 0 0 0 1.196-.49 7.01 7.01 0 0 0-2.275-1.52c.218.283.418.597.597.932zm-.488 1.343a7.765 7.765 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z\"}}]})(props);\n};\nexport function BsGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.545 6.558a9.42 9.42 0 0 1 .139 1.626c0 2.434-.87 4.492-2.384 5.885h.002C11.978 15.292 10.158 16 8 16A8 8 0 1 1 8 0a7.689 7.689 0 0 1 5.352 2.082l-2.284 2.284A4.347 4.347 0 0 0 8 3.166c-2.087 0-3.86 1.408-4.492 3.304a4.792 4.792 0 0 0 0 3.063h.003c.635 1.893 2.405 3.301 4.492 3.301 1.078 0 2.004-.276 2.722-.764h-.003a3.702 3.702 0 0 0 1.599-2.431H8v-3.08h7.545z\"}}]})(props);\n};\nexport function BsGraphDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0zm10 11.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-1 0v2.6l-3.613-4.417a.5.5 0 0 0-.74-.037L7.06 8.233 3.404 3.206a.5.5 0 0 0-.808.588l4 5.5a.5.5 0 0 0 .758.06l2.609-2.61L13.445 11H10.5a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsGraphUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 0h1v15h15v1H0V0zm10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V4.9l-3.613 4.417a.5.5 0 0 1-.74.037L7.06 6.767l-3.656 5.027a.5.5 0 0 1-.808-.588l4-5.5a.5.5 0 0 1 .758-.06l2.609 2.61L13.445 4H10.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsGrid1X2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm0 9a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-5z\"}}]})(props);\n};\nexport function BsGrid1X2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 1H1v14h5V1zm9 0h-5v5h5V1zm0 9v5h-5v-5h5zM0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm1 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-5z\"}}]})(props);\n};\nexport function BsGrid3X2GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zM1 9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V9z\"}}]})(props);\n};\nexport function BsGrid3X2Gap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4v2H2V4h2zm1 7V9a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm5 5V9a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V4a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zM9 4v2H7V4h2zm5 0h-2v2h2V4zM4 9v2H2V9h2zm5 0v2H7V9h2zm5 0v2h-2V9h2zm-3-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V4zm1 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1h-2z\"}}]})(props);\n};\nexport function BsGrid3X2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v8a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 11.5v-8zM1.5 3a.5.5 0 0 0-.5.5V7h4V3H1.5zM5 8H1v3.5a.5.5 0 0 0 .5.5H5V8zm1 0v4h4V8H6zm4-1V3H6v4h4zm1 1v4h3.5a.5.5 0 0 0 .5-.5V8h-4zm0-1h4V3.5a.5.5 0 0 0-.5-.5H11v4z\"}}]})(props);\n};\nexport function BsGrid3X3GapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V2zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-2zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-2z\"}}]})(props);\n};\nexport function BsGrid3X3Gap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2v2H2V2h2zm1 12v-2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm5 10v-2a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zm0-5V2a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1zM9 2v2H7V2h2zm5 0v2h-2V2h2zM4 7v2H2V7h2zm5 0v2H7V7h2zm5 0h-2v2h2V7zM4 12v2H2v-2h2zm5 0v2H7v-2h2zm5 0v2h-2v-2h2zM12 1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zm-1 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V7zm1 4a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1h-2z\"}}]})(props);\n};\nexport function BsGrid3X3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5V5h4V1H1.5zM5 6H1v4h4V6zm1 4h4V6H6v4zm-1 1H1v3.5a.5.5 0 0 0 .5.5H5v-4zm1 0v4h4v-4H6zm5 0v4h3.5a.5.5 0 0 0 .5-.5V11h-4zm0-1h4V6h-4v4zm0-5h4V1.5a.5.5 0 0 0-.5-.5H11v4zm-1 0V1H6v4h4z\"}}]})(props);\n};\nexport function BsGridFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z\"}}]})(props);\n};\nexport function BsGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zM2.5 2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zM1 10.5A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z\"}}]})(props);\n};\nexport function BsGripHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm3 3a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-3a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsGripVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsHammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.972 2.508a.5.5 0 0 0-.16-.556l-.178-.129a5.009 5.009 0 0 0-2.076-.783C6.215.862 4.504 1.229 2.84 3.133H1.786a.5.5 0 0 0-.354.147L.146 4.567a.5.5 0 0 0 0 .706l2.571 2.579a.5.5 0 0 0 .708 0l1.286-1.29a.5.5 0 0 0 .146-.353V5.57l8.387 8.873A.5.5 0 0 0 14 14.5l1.5-1.5a.5.5 0 0 0 .017-.689l-9.129-8.63c.747-.456 1.772-.839 3.112-.839a.5.5 0 0 0 .472-.334z\"}}]})(props);\n};\nexport function BsHandIndexFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002z\"}}]})(props);\n};\nexport function BsHandIndexThumbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.75v2.716l.047-.002c.312-.012.742-.016 1.051.046.28.056.543.18.738.288.273.152.456.385.56.642l.132-.012c.312-.024.794-.038 1.158.108.37.148.689.487.88.716.075.09.141.175.195.248h.582a2 2 0 0 1 1.99 2.199l-.272 2.715a3.5 3.5 0 0 1-.444 1.389l-1.395 2.441A1.5 1.5 0 0 1 12.42 16H6.118a1.5 1.5 0 0 1-1.342-.83l-1.215-2.43L1.07 8.589a1.517 1.517 0 0 1 2.373-1.852L5 8.293V1.75a1.75 1.75 0 0 1 3.5 0z\"}}]})(props);\n};\nexport function BsHandIndexThumb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 1a.75.75 0 0 1 .75.75V8a.5.5 0 0 0 1 0V5.467l.086-.004c.317-.012.637-.008.816.027.134.027.294.096.448.182.077.042.15.147.15.314V8a.5.5 0 0 0 1 0V6.435l.106-.01c.316-.024.584-.01.708.04.118.046.3.207.486.43.081.096.15.19.2.259V8.5a.5.5 0 1 0 1 0v-1h.342a1 1 0 0 1 .995 1.1l-.271 2.715a2.5 2.5 0 0 1-.317.991l-1.395 2.442a.5.5 0 0 1-.434.252H6.118a.5.5 0 0 1-.447-.276l-1.232-2.465-2.512-4.185a.517.517 0 0 1 .809-.631l2.41 2.41A.5.5 0 0 0 6 9.5V1.75A.75.75 0 0 1 6.75 1zM8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v6.543L3.443 6.736A1.517 1.517 0 0 0 1.07 8.588l2.491 4.153 1.215 2.43A1.5 1.5 0 0 0 6.118 16h6.302a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002zm2.094 2.025z\"}}]})(props);\n};\nexport function BsHandIndex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.75 1a.75.75 0 0 1 .75.75V8a.5.5 0 0 0 1 0V5.467l.086-.004c.317-.012.637-.008.816.027.134.027.294.096.448.182.077.042.15.147.15.314V8a.5.5 0 1 0 1 0V6.435a4.9 4.9 0 0 1 .106-.01c.316-.024.584-.01.708.04.118.046.3.207.486.43.081.096.15.19.2.259V8.5a.5.5 0 0 0 1 0v-1h.342a1 1 0 0 1 .995 1.1l-.271 2.715a2.5 2.5 0 0 1-.317.991l-1.395 2.442a.5.5 0 0 1-.434.252H6.035a.5.5 0 0 1-.416-.223l-1.433-2.15a1.5 1.5 0 0 1-.243-.666l-.345-3.105a.5.5 0 0 1 .399-.546L5 8.11V9a.5.5 0 0 0 1 0V1.75A.75.75 0 0 1 6.75 1zM8.5 4.466V1.75a1.75 1.75 0 1 0-3.5 0v5.34l-1.2.24a1.5 1.5 0 0 0-1.196 1.636l.345 3.106a2.5 2.5 0 0 0 .405 1.11l1.433 2.15A1.5 1.5 0 0 0 6.035 16h6.385a1.5 1.5 0 0 0 1.302-.756l1.395-2.441a3.5 3.5 0 0 0 .444-1.389l.271-2.715a2 2 0 0 0-1.99-2.199h-.581a5.114 5.114 0 0 0-.195-.248c-.191-.229-.51-.568-.88-.716-.364-.146-.846-.132-1.158-.108l-.132.012a1.26 1.26 0 0 0-.56-.642 2.632 2.632 0 0 0-.738-.288c-.31-.062-.739-.058-1.05-.046l-.048.002zm2.094 2.025z\"}}]})(props);\n};\nexport function BsHandThumbsDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 14.534c.065.936.952 1.659 1.908 1.42l.261-.065a1.378 1.378 0 0 0 1.012-.965c.22-.816.533-2.512.062-4.51.136.02.285.037.443.051.713.065 1.669.071 2.516-.211.518-.173.994-.68 1.2-1.272a1.896 1.896 0 0 0-.234-1.734c.058-.118.103-.242.138-.362.077-.27.113-.568.113-.856 0-.29-.036-.586-.113-.857a2.094 2.094 0 0 0-.16-.403c.169-.387.107-.82-.003-1.149a3.162 3.162 0 0 0-.488-.9c.054-.153.076-.313.076-.465a1.86 1.86 0 0 0-.253-.912C13.1.757 12.437.28 11.5.28H8c-.605 0-1.07.08-1.466.217a4.823 4.823 0 0 0-.97.485l-.048.029c-.504.308-.999.61-2.068.723C2.682 1.815 2 2.434 2 3.279v4c0 .851.685 1.433 1.357 1.616.849.232 1.574.787 2.132 1.41.56.626.914 1.28 1.039 1.638.199.575.356 1.54.428 2.591z\"}}]})(props);\n};\nexport function BsHandThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.864 15.674c-.956.24-1.843-.484-1.908-1.42-.072-1.05-.23-2.015-.428-2.59-.125-.36-.479-1.012-1.04-1.638-.557-.624-1.282-1.179-2.131-1.41C2.685 8.432 2 7.85 2 7V3c0-.845.682-1.464 1.448-1.546 1.07-.113 1.564-.415 2.068-.723l.048-.029c.272-.166.578-.349.97-.484C6.931.08 7.395 0 8 0h3.5c.937 0 1.599.478 1.934 1.064.164.287.254.607.254.913 0 .152-.023.312-.077.464.201.262.38.577.488.9.11.33.172.762.004 1.15.069.13.12.268.159.403.077.27.113.567.113.856 0 .289-.036.586-.113.856-.035.12-.08.244-.138.363.394.571.418 1.2.234 1.733-.206.592-.682 1.1-1.2 1.272-.847.283-1.803.276-2.516.211a9.877 9.877 0 0 1-.443-.05 9.364 9.364 0 0 1-.062 4.51c-.138.508-.55.848-1.012.964l-.261.065zM11.5 1H8c-.51 0-.863.068-1.14.163-.281.097-.506.229-.776.393l-.04.025c-.555.338-1.198.73-2.49.868-.333.035-.554.29-.554.55V7c0 .255.226.543.62.65 1.095.3 1.977.997 2.614 1.709.635.71 1.064 1.475 1.238 1.977.243.7.407 1.768.482 2.85.025.362.36.595.667.518l.262-.065c.16-.04.258-.144.288-.255a8.34 8.34 0 0 0-.145-4.726.5.5 0 0 1 .595-.643h.003l.014.004.058.013a8.912 8.912 0 0 0 1.036.157c.663.06 1.457.054 2.11-.163.175-.059.45-.301.57-.651.107-.308.087-.67-.266-1.021L12.793 7l.353-.354c.043-.042.105-.14.154-.315.048-.167.075-.37.075-.581 0-.211-.027-.414-.075-.581-.05-.174-.111-.273-.154-.315l-.353-.354.353-.354c.047-.047.109-.176.005-.488a2.224 2.224 0 0 0-.505-.804l-.353-.354.353-.354c.006-.005.041-.05.041-.17a.866.866 0 0 0-.121-.415C12.4 1.272 12.063 1 11.5 1z\"}}]})(props);\n};\nexport function BsHandThumbsUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.956 1.745C7.021.81 7.908.087 8.864.325l.261.066c.463.116.874.456 1.012.965.22.816.533 2.511.062 4.51a9.84 9.84 0 0 1 .443-.051c.713-.065 1.669-.072 2.516.21.518.173.994.681 1.2 1.273.184.532.16 1.162-.234 1.733.058.119.103.242.138.363.077.27.113.567.113.856 0 .289-.036.586-.113.856-.039.135-.09.273-.16.404.169.387.107.819-.003 1.148a3.163 3.163 0 0 1-.488.901c.054.152.076.312.076.465 0 .305-.089.625-.253.912C13.1 15.522 12.437 16 11.5 16H8c-.605 0-1.07-.081-1.466-.218a4.82 4.82 0 0 1-.97-.484l-.048-.03c-.504-.307-.999-.609-2.068-.722C2.682 14.464 2 13.846 2 13V9c0-.85.685-1.432 1.357-1.615.849-.232 1.574-.787 2.132-1.41.56-.627.914-1.28 1.039-1.639.199-.575.356-1.539.428-2.59z\"}}]})(props);\n};\nexport function BsHandThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.864.046C7.908-.193 7.02.53 6.956 1.466c-.072 1.051-.23 2.016-.428 2.59-.125.36-.479 1.013-1.04 1.639-.557.623-1.282 1.178-2.131 1.41C2.685 7.288 2 7.87 2 8.72v4.001c0 .845.682 1.464 1.448 1.545 1.07.114 1.564.415 2.068.723l.048.03c.272.165.578.348.97.484.397.136.861.217 1.466.217h3.5c.937 0 1.599-.477 1.934-1.064a1.86 1.86 0 0 0 .254-.912c0-.152-.023-.312-.077-.464.201-.263.38-.578.488-.901.11-.33.172-.762.004-1.149.069-.13.12-.269.159-.403.077-.27.113-.568.113-.857 0-.288-.036-.585-.113-.856a2.144 2.144 0 0 0-.138-.362 1.9 1.9 0 0 0 .234-1.734c-.206-.592-.682-1.1-1.2-1.272-.847-.282-1.803-.276-2.516-.211a9.84 9.84 0 0 0-.443.05 9.365 9.365 0 0 0-.062-4.509A1.38 1.38 0 0 0 9.125.111L8.864.046zM11.5 14.721H8c-.51 0-.863-.069-1.14-.164-.281-.097-.506-.228-.776-.393l-.04-.024c-.555-.339-1.198-.731-2.49-.868-.333-.036-.554-.29-.554-.55V8.72c0-.254.226-.543.62-.65 1.095-.3 1.977-.996 2.614-1.708.635-.71 1.064-1.475 1.238-1.978.243-.7.407-1.768.482-2.85.025-.362.36-.594.667-.518l.262.066c.16.04.258.143.288.255a8.34 8.34 0 0 1-.145 4.725.5.5 0 0 0 .595.644l.003-.001.014-.003.058-.014a8.908 8.908 0 0 1 1.036-.157c.663-.06 1.457-.054 2.11.164.175.058.45.3.57.65.107.308.087.67-.266 1.022l-.353.353.353.354c.043.043.105.141.154.315.048.167.075.37.075.581 0 .212-.027.414-.075.582-.05.174-.111.272-.154.315l-.353.353.353.354c.047.047.109.177.005.488a2.224 2.224 0 0 1-.505.805l-.353.353.353.354c.006.005.041.05.041.17a.866.866 0 0 1-.121.416c-.165.288-.503.56-1.066.56z\"}}]})(props);\n};\nexport function BsHandbagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 0-2 2v2H5V3a3 3 0 1 1 6 0v2h-1V3a2 2 0 0 0-2-2zM5 5H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11v1.5a.5.5 0 0 1-1 0V5H6v1.5a.5.5 0 0 1-1 0V5z\"}}]})(props);\n};\nexport function BsHandbag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v2H6V3a2 2 0 0 1 2-2zm3 4V3a3 3 0 1 0-6 0v2H3.36a1.5 1.5 0 0 0-1.483 1.277L.85 13.13A2.5 2.5 0 0 0 3.322 16h9.355a2.5 2.5 0 0 0 2.473-2.87l-1.028-6.853A1.5 1.5 0 0 0 12.64 5H11zm-1 1v1.5a.5.5 0 0 0 1 0V6h1.639a.5.5 0 0 1 .494.426l1.028 6.851A1.5 1.5 0 0 1 12.678 15H3.322a1.5 1.5 0 0 1-1.483-1.723l1.028-6.851A.5.5 0 0 1 3.36 6H5v1.5a.5.5 0 1 0 1 0V6h4z\"}}]})(props);\n};\nexport function BsHash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.39 12.648a1.32 1.32 0 0 0-.015.18c0 .305.21.508.5.508.266 0 .492-.172.555-.477l.554-2.703h1.204c.421 0 .617-.234.617-.547 0-.312-.188-.53-.617-.53h-.985l.516-2.524h1.265c.43 0 .618-.227.618-.547 0-.313-.188-.524-.618-.524h-1.046l.476-2.304a1.06 1.06 0 0 0 .016-.164.51.51 0 0 0-.516-.516.54.54 0 0 0-.539.43l-.523 2.554H7.617l.477-2.304c.008-.04.015-.118.015-.164a.512.512 0 0 0-.523-.516.539.539 0 0 0-.531.43L6.53 5.484H5.414c-.43 0-.617.22-.617.532 0 .312.187.539.617.539h.906l-.515 2.523H4.609c-.421 0-.609.219-.609.531 0 .313.188.547.61.547h.976l-.516 2.492c-.008.04-.015.125-.015.18 0 .305.21.508.5.508.265 0 .492-.172.554-.477l.555-2.703h2.242l-.515 2.492zm-1-6.109h2.266l-.515 2.563H6.859l.532-2.563z\"}}]})(props);\n};\nexport function BsHddFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-1zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2 0a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM.91 7.204A2.993 2.993 0 0 1 2 7h12c.384 0 .752.072 1.09.204l-1.867-3.422A1.5 1.5 0 0 0 11.906 3H4.094a1.5 1.5 0 0 0-1.317.782L.91 7.204z\"}}]})(props);\n};\nexport function BsHddNetworkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h5.5v3A1.5 1.5 0 0 0 6 11.5H.5a.5.5 0 0 0 0 1H6A1.5 1.5 0 0 0 7.5 14h1a1.5 1.5 0 0 0 1.5-1.5h5.5a.5.5 0 0 0 0-1H10A1.5 1.5 0 0 0 8.5 10V7H14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsHddNetwork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2H8.5v3a1.5 1.5 0 0 1 1.5 1.5h5.5a.5.5 0 0 1 0 1H10A1.5 1.5 0 0 1 8.5 14h-1A1.5 1.5 0 0 1 6 12.5H.5a.5.5 0 0 1 0-1H6A1.5 1.5 0 0 1 7.5 10V7H2a2 2 0 0 1-2-2V4zm1 0v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1zm6 7.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsHddRackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm-2 7a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM12 7v2H4V7h8z\"}}]})(props);\n};\nexport function BsHddRack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm2 7a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2.5.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h1v2H2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2h-1V7h1a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm13 2v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm0 7v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zm-3-4v2H4V7h8z\"}}]})(props);\n};\nexport function BsHddStackFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2zm.5 3a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm2 0a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1z\"}}]})(props);\n};\nexport function BsHddStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1h12zM2 9a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zM14 3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm-2 0a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 11a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zM3 10.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V9.51c0-.418.105-.83.305-1.197l2.472-4.531A1.5 1.5 0 0 1 4.094 3h7.812a1.5 1.5 0 0 1 1.317.782l2.472 4.53c.2.368.305.78.305 1.198V11zM3.655 4.26 1.592 8.043C1.724 8.014 1.86 8 2 8h12c.14 0 .276.014.408.042L12.345 4.26a.5.5 0 0 0-.439-.26H4.094a.5.5 0 0 0-.44.26zM1 10v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1z\"}}]})(props);\n};\nexport function BsHeadphones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V8a6 6 0 1 1 12 0v5a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h1V8a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsHeadsetVr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1.248c1.857 0 3.526.641 4.65 1.794a4.978 4.978 0 0 1 2.518 1.09C13.907 1.482 11.295 0 8 0 4.75 0 2.12 1.48.844 4.122a4.979 4.979 0 0 1 2.289-1.047C4.236 1.872 5.974 1.248 8 1.248z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12a3.988 3.988 0 0 1-2.786-1.13l-.002-.002a1.612 1.612 0 0 0-.276-.167A2.164 2.164 0 0 0 8 10.5c-.414 0-.729.103-.935.201a1.612 1.612 0 0 0-.277.167l-.002.002A4 4 0 1 1 4 4h8a4 4 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsHeadset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a5 5 0 0 0-5 5v1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a6 6 0 1 1 12 0v6a2.5 2.5 0 0 1-2.5 2.5H9.366a1 1 0 0 1-.866.5h-1a1 1 0 1 1 0-2h1a1 1 0 0 1 .866.5H11.5A1.5 1.5 0 0 0 13 12h-1a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h1V6a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z\"}}]})(props);\n};\nexport function BsHeartHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2.748v11.047c3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z\"}}]})(props);\n};\nexport function BsHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z\"}}]})(props);\n};\nexport function BsHeptagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053z\"}}]})(props);\n};\nexport function BsHeptagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053zM8 15h3.093l3.868-4.975-1.383-6.212L8 1.058V15z\"}}]})(props);\n};\nexport function BsHeptagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.779.052a.5.5 0 0 1 .442 0l6.015 2.97a.5.5 0 0 1 .267.34l1.485 6.676a.5.5 0 0 1-.093.415l-4.162 5.354a.5.5 0 0 1-.395.193H4.662a.5.5 0 0 1-.395-.193L.105 10.453a.5.5 0 0 1-.093-.415l1.485-6.676a.5.5 0 0 1 .267-.34L7.779.053zM2.422 3.813l-1.383 6.212L4.907 15h6.186l3.868-4.975-1.383-6.212L8 1.058 2.422 3.813z\"}}]})(props);\n};\nexport function BsHexagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHexagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.577v6.846L8 15V1l6 3.577zM8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHexagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.577v6.846L8 15l-6-3.577V4.577L8 1l6 3.577zM8.5.134a1 1 0 0 0-1 0l-6 3.577a1 1 0 0 0-.5.866v6.846a1 1 0 0 0 .5.866l6 3.577a1 1 0 0 0 1 0l6-3.577a1 1 0 0 0 .5-.866V4.577a1 1 0 0 0-.5-.866L8.5.134z\"}}]})(props);\n};\nexport function BsHourglassBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1-.5-.5zm2.5.5v1a3.5 3.5 0 0 0 1.989 3.158c.533.256 1.011.791 1.011 1.491v.702s.18.149.5.149.5-.15.5-.15v-.7c0-.701.478-1.236 1.011-1.492A3.5 3.5 0 0 0 11.5 3V2h-7z\"}}]})(props);\n};\nexport function BsHourglassSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 15a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1 0-1h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11zm2-13v1c0 .537.12 1.045.337 1.5h6.326c.216-.455.337-.963.337-1.5V2h-7zm3 6.35c0 .701-.478 1.236-1.011 1.492A3.5 3.5 0 0 0 4.5 13s.866-1.299 3-1.48V8.35zm1 0v3.17c2.134.181 3 1.48 3 1.48a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351z\"}}]})(props);\n};\nexport function BsHourglassTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14.5a.5.5 0 0 0 .5.5h11a.5.5 0 1 0 0-1h-1v-1a4.5 4.5 0 0 0-2.557-4.06c-.29-.139-.443-.377-.443-.59v-.7c0-.213.154-.451.443-.59A4.5 4.5 0 0 0 12.5 3V2h1a.5.5 0 0 0 0-1h-11a.5.5 0 0 0 0 1h1v1a4.5 4.5 0 0 0 2.557 4.06c.29.139.443.377.443.59v.7c0 .213-.154.451-.443.59A4.5 4.5 0 0 0 3.5 13v1h-1a.5.5 0 0 0-.5.5zm2.5-.5v-1a3.5 3.5 0 0 1 1.989-3.158c.533-.256 1.011-.79 1.011-1.491v-.702s.18.101.5.101.5-.1.5-.1v.7c0 .701.478 1.236 1.011 1.492A3.5 3.5 0 0 1 11.5 13v1h-7z\"}}]})(props);\n};\nexport function BsHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-1v1a4.5 4.5 0 0 1-2.557 4.06c-.29.139-.443.377-.443.59v.7c0 .213.154.451.443.59A4.5 4.5 0 0 1 12.5 13v1h1a.5.5 0 0 1 0 1h-11a.5.5 0 1 1 0-1h1v-1a4.5 4.5 0 0 1 2.557-4.06c.29-.139.443-.377.443-.59v-.7c0-.213-.154-.451-.443-.59A4.5 4.5 0 0 1 3.5 3V2h-1a.5.5 0 0 1-.5-.5zm2.5.5v1a3.5 3.5 0 0 0 1.989 3.158c.533.256 1.011.791 1.011 1.491v.702c0 .7-.478 1.235-1.011 1.491A3.5 3.5 0 0 0 4.5 13v1h7v-1a3.5 3.5 0 0 0-1.989-3.158C8.978 9.586 8.5 9.052 8.5 8.351v-.702c0-.7.478-1.235 1.011-1.491A3.5 3.5 0 0 0 11.5 3V2h-7z\"}}]})(props);\n};\nexport function BsHouseDoorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5z\"}}]})(props);\n};\nexport function BsHouseDoor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146zM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4H2.5z\"}}]})(props);\n};\nexport function BsHouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m8 3.293 6 6V13.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5V9.293l6-6zm5-.793V6l-2-2V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0l6.647 6.646a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5z\"}}]})(props);\n};\nexport function BsHouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 13.5V7h1v6.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V7h1v6.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 13.5zm11-11V6l-2-2V2.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 1.5a1 1 0 0 1 1.414 0l6.647 6.646a.5.5 0 0 1-.708.708L8 2.207 1.354 8.854a.5.5 0 1 1-.708-.708L7.293 1.5z\"}}]})(props);\n};\nexport function BsHr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3H4a1 1 0 0 0-1 1v2.5H2V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2.5h-1V4a1 1 0 0 0-1-1zM2 9.5h1V12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V9.5h1V12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.5zm-1.5-2a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H.5z\"}}]})(props);\n};\nexport function BsHurricane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.999 2.6A5.5 5.5 0 0 1 15 7.5a.5.5 0 0 0 1 0 6.5 6.5 0 1 0-13 0 5 5 0 0 0 6.001 4.9A5.5 5.5 0 0 1 1 7.5a.5.5 0 0 0-1 0 6.5 6.5 0 1 0 13 0 5 5 0 0 0-6.001-4.9zM10 7.5a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsImageAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0zm4.225 4.053a.5.5 0 0 0-.577.093l-3.71 4.71-2.66-2.772a.5.5 0 0 0-.63.062L.002 13v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-4.5l-4.777-3.947z\"}}]})(props);\n};\nexport function BsImageFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.002 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-12a2 2 0 0 1-2-2V3zm1 9v1a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12zm5-6.5a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.002 5.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.002 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2h-12zm12 1a1 1 0 0 1 1 1v6.5l-3.777-1.947a.5.5 0 0 0-.577.093l-3.71 3.71-2.66-1.772a.5.5 0 0 0-.63.062L1.002 12V3a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.502 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.002 13a2 2 0 0 1-2 2h-10a2 2 0 0 1-2-2V5A2 2 0 0 1 2 3a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v8a2 2 0 0 1-1.998 2zM14 2H4a1 1 0 0 0-1 1h9.002a2 2 0 0 1 2 2v7A1 1 0 0 0 15 11V3a1 1 0 0 0-1-1zM2.002 4a1 1 0 0 0-1 1v8l2.646-2.354a.5.5 0 0 1 .63-.062l2.66 1.773 3.71-3.71a.5.5 0 0 1 .577-.094l1.777 1.947V5a1 1 0 0 0-1-1h-10z\"}}]})(props);\n};\nexport function BsInboxFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm-1.17-.437A1.5 1.5 0 0 1 4.98 3h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 4a.5.5 0 0 0-.39.188L1.54 8H6a.5.5 0 0 1 .5.5 1.5 1.5 0 1 0 3 0A.5.5 0 0 1 10 8h4.46l-3.05-3.812A.5.5 0 0 0 11.02 4H4.98zm9.954 5H10.45a2.5 2.5 0 0 1-4.9 0H1.066l.32 2.562a.5.5 0 0 0 .497.438h12.234a.5.5 0 0 0 .496-.438L14.933 9zM3.809 3.563A1.5 1.5 0 0 1 4.981 3h6.038a1.5 1.5 0 0 1 1.172.563l3.7 4.625a.5.5 0 0 1 .105.374l-.39 3.124A1.5 1.5 0 0 1 14.117 13H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .106-.374l3.7-4.625z\"}}]})(props);\n};\nexport function BsInboxesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zM3.81.563A1.5 1.5 0 0 1 4.98 0h6.04a1.5 1.5 0 0 1 1.17.563l3.7 4.625a.5.5 0 0 1 .106.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393z\"}}]})(props);\n};\nexport function BsInboxes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.98 1a.5.5 0 0 0-.39.188L1.54 5H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0A.5.5 0 0 1 10 5h4.46l-3.05-3.812A.5.5 0 0 0 11.02 1H4.98zm9.954 5H10.45a2.5 2.5 0 0 1-4.9 0H1.066l.32 2.562A.5.5 0 0 0 1.884 9h12.234a.5.5 0 0 0 .496-.438L14.933 6zM3.809.563A1.5 1.5 0 0 1 4.981 0h6.038a1.5 1.5 0 0 1 1.172.563l3.7 4.625a.5.5 0 0 1 .105.374l-.39 3.124A1.5 1.5 0 0 1 14.117 10H1.883A1.5 1.5 0 0 1 .394 8.686l-.39-3.124a.5.5 0 0 1 .106-.374L3.81.563zM.125 11.17A.5.5 0 0 1 .5 11H6a.5.5 0 0 1 .5.5 1.5 1.5 0 0 0 3 0 .5.5 0 0 1 .5-.5h5.5a.5.5 0 0 1 .496.562l-.39 3.124A1.5 1.5 0 0 1 14.117 16H1.883a1.5 1.5 0 0 1-1.489-1.314l-.39-3.124a.5.5 0 0 1 .121-.393zm.941.83.32 2.562a.5.5 0 0 0 .497.438h12.234a.5.5 0 0 0 .496-.438l.32-2.562H10.45a2.5 2.5 0 0 1-4.9 0H1.066z\"}}]})(props);\n};\nexport function BsInfoCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInfoLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m10.277 5.433-4.031.505-.145.67.794.145c.516.123.619.309.505.824L6.101 13.68c-.34 1.578.186 2.32 1.423 2.32.959 0 2.072-.443 2.577-1.052l.155-.732c-.35.31-.866.434-1.206.434-.485 0-.66-.34-.536-.939l1.763-8.278zm.122-3.673a1.76 1.76 0 1 1-3.52 0 1.76 1.76 0 0 1 3.52 0z\"}}]})(props);\n};\nexport function BsInfoSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm8.93 4.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM8 5.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsInfoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsInputCursorText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a.5.5 0 0 1 .5-.5c.862 0 1.573.287 2.06.566.174.099.321.198.44.286.119-.088.266-.187.44-.286A4.165 4.165 0 0 1 10.5 1.5a.5.5 0 0 1 0 1c-.638 0-1.177.213-1.564.434a3.49 3.49 0 0 0-.436.294V7.5H9a.5.5 0 0 1 0 1h-.5v4.272c.1.08.248.187.436.294.387.221.926.434 1.564.434a.5.5 0 0 1 0 1 4.165 4.165 0 0 1-2.06-.566A4.561 4.561 0 0 1 8 13.65a4.561 4.561 0 0 1-.44.285 4.165 4.165 0 0 1-2.06.566.5.5 0 0 1 0-1c.638 0 1.177-.213 1.564-.434.188-.107.335-.214.436-.294V8.5H7a.5.5 0 0 1 0-1h.5V3.228a3.49 3.49 0 0 0-.436-.294A3.166 3.166 0 0 0 5.5 2.5.5.5 0 0 1 5 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4v1h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4v1zM6 5V4H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v-1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4z\"}}]})(props);\n};\nexport function BsInputCursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-4v1h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4v1zM6 5V4H2a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4v-1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13A.5.5 0 0 1 8 1z\"}}]})(props);\n};\nexport function BsInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0C5.829 0 5.556.01 4.703.048 3.85.088 3.269.222 2.76.42a3.917 3.917 0 0 0-1.417.923A3.927 3.927 0 0 0 .42 2.76C.222 3.268.087 3.85.048 4.7.01 5.555 0 5.827 0 8.001c0 2.172.01 2.444.048 3.297.04.852.174 1.433.372 1.942.205.526.478.972.923 1.417.444.445.89.719 1.416.923.51.198 1.09.333 1.942.372C5.555 15.99 5.827 16 8 16s2.444-.01 3.298-.048c.851-.04 1.434-.174 1.943-.372a3.916 3.916 0 0 0 1.416-.923c.445-.445.718-.891.923-1.417.197-.509.332-1.09.372-1.942C15.99 10.445 16 10.173 16 8s-.01-2.445-.048-3.299c-.04-.851-.175-1.433-.372-1.941a3.926 3.926 0 0 0-.923-1.417A3.911 3.911 0 0 0 13.24.42c-.51-.198-1.092-.333-1.943-.372C10.443.01 10.172 0 7.998 0h.003zm-.717 1.442h.718c2.136 0 2.389.007 3.232.046.78.035 1.204.166 1.486.275.373.145.64.319.92.599.28.28.453.546.598.92.11.281.24.705.275 1.485.039.843.047 1.096.047 3.231s-.008 2.389-.047 3.232c-.035.78-.166 1.203-.275 1.485a2.47 2.47 0 0 1-.599.919c-.28.28-.546.453-.92.598-.28.11-.704.24-1.485.276-.843.038-1.096.047-3.232.047s-2.39-.009-3.233-.047c-.78-.036-1.203-.166-1.485-.276a2.478 2.478 0 0 1-.92-.598 2.48 2.48 0 0 1-.6-.92c-.109-.281-.24-.705-.275-1.485-.038-.843-.046-1.096-.046-3.233 0-2.136.008-2.388.046-3.231.036-.78.166-1.204.276-1.486.145-.373.319-.64.599-.92.28-.28.546-.453.92-.598.282-.11.705-.24 1.485-.276.738-.034 1.024-.044 2.515-.045v.002zm4.988 1.328a.96.96 0 1 0 0 1.92.96.96 0 0 0 0-1.92zm-4.27 1.122a4.109 4.109 0 1 0 0 8.217 4.109 4.109 0 0 0 0-8.217zm0 1.441a2.667 2.667 0 1 1 0 5.334 2.667 2.667 0 0 1 0-5.334z\"}}]})(props);\n};\nexport function BsIntersect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm5 10v2a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2v5a2 2 0 0 1-2 2H5zm6-8V2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2V6a2 2 0 0 1 2-2h5z\"}}]})(props);\n};\nexport function BsJournalAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a.5.5 0 0 0-.5.5v5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5h-5zm1 7a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5a.5.5 0 0 1 .5.5v3.793l1.146-1.147a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 1 1 .708-.708L7.5 9.293V5.5A.5.5 0 0 1 8 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 11a.5.5 0 0 0 .5-.5V6.707l1.146 1.147a.5.5 0 0 0 .708-.708l-2-2a.5.5 0 0 0-.708 0l-2 2a.5.5 0 1 0 .708.708L7.5 6.707V10.5a.5.5 0 0 0 .5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalBookmarkFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1h6v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8V1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 8V1h1v6.117L8.743 6.07a.5.5 0 0 1 .514 0L11 7.117V1h1v7a.5.5 0 0 1-.757.429L9 7.083 6.757 8.43A.5.5 0 0 1 6 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.646 5.646a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L10.293 8 8.646 6.354a.5.5 0 0 1 0-.708zm-1.292 0a.5.5 0 0 0-.708 0l-2 2a.5.5 0 0 0 0 .708l2 2a.5.5 0 0 0 .708-.708L5.707 8l1.647-1.646a.5.5 0 0 0 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a.5.5 0 0 1 .5.5v.634l.549-.317a.5.5 0 1 1 .5.866L9 6l.549.317a.5.5 0 1 1-.5.866L8.5 6.866V7.5a.5.5 0 0 1-1 0v-.634l-.549.317a.5.5 0 1 1-.5-.866L7 6l-.549-.317a.5.5 0 0 1 .5-.866l.549.317V4.5A.5.5 0 0 1 8 4zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalRichtext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 3.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm-.861 1.542 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047L11 4.75V7a.5.5 0 0 1-.5.5h-5A.5.5 0 0 1 5 7v-.5s1.54-1.274 1.639-1.208zM5 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0-2a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournalX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.146 6.146a.5.5 0 0 1 .708 0L8 7.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 8l1.147 1.146a.5.5 0 0 1-.708.708L8 8.707 6.854 9.854a.5.5 0 0 1-.708-.708L7.293 8 6.146 6.854a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-1h1v1a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v1H1V2a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 5v-.5a.5.5 0 0 1 1 0V5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V8h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0v.5h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1z\"}}]})(props);\n};\nexport function BsJournals (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 0h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2 2 2 0 0 1-2 2H3a2 2 0 0 1-2-2h1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1H1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v9a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H5a1 1 0 0 0-1 1H3a2 2 0 0 1 2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 6v-.5a.5.5 0 0 1 1 0V6h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 3v-.5a.5.5 0 0 1 1 0V9h.5a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1H1zm0 2.5v.5H.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1H2v-.5a.5.5 0 0 0-1 0z\"}}]})(props);\n};\nexport function BsJoystick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2a2 2 0 0 1-1.5 1.937v5.087c.863.083 1.5.377 1.5.726 0 .414-.895.75-2 .75s-2-.336-2-.75c0-.35.637-.643 1.5-.726V3.937A2 2 0 1 1 10 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 9.665v1.717a1 1 0 0 0 .553.894l6.553 3.277a2 2 0 0 0 1.788 0l6.553-3.277a1 1 0 0 0 .553-.894V9.665c0-.1-.06-.19-.152-.23L9.5 6.715v.993l5.227 2.178a.125.125 0 0 1 .001.23l-5.94 2.546a2 2 0 0 1-1.576 0l-5.94-2.546a.125.125 0 0 1 .001-.23L6.5 7.708l-.013-.988L.152 9.435a.25.25 0 0 0-.152.23z\"}}]})(props);\n};\nexport function BsJustifyLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsJustifyRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsKanbanFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11zm5 2h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm-5 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm9-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsKanban (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h11zm-11-1a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 3a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm-4 0a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm8 0a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3z\"}}]})(props);\n};\nexport function BsKeyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 11.5a3.5 3.5 0 1 1 3.163-5H14L15.5 8 14 9.5l-1-1-1 1-1-1-1 1-1-1-1 1H6.663a3.5 3.5 0 0 1-3.163 2zM2.5 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 8a4 4 0 0 1 7.465-2H14a.5.5 0 0 1 .354.146l1.5 1.5a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0L13 9.207l-.646.647a.5.5 0 0 1-.708 0L11 9.207l-.646.647a.5.5 0 0 1-.708 0L9 9.207l-.646.647A.5.5 0 0 1 8 10h-.535A4 4 0 0 1 0 8zm4-3a3 3 0 1 0 2.712 4.285A.5.5 0 0 1 7.163 9h.63l.853-.854a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.793-.793-1-1h-6.63a.5.5 0 0 1-.451-.285A3 3 0 0 0 4 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsKeyboardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm13 .25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM2.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 3 8.75v-.5A.25.25 0 0 0 2.75 8h-.5zM4 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 5 8.75v-.5A.25.25 0 0 0 4.75 8h-.5a.25.25 0 0 0-.25.25zM6.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 7 8.75v-.5A.25.25 0 0 0 6.75 8h-.5zM8 8.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 9 8.75v-.5A.25.25 0 0 0 8.75 8h-.5a.25.25 0 0 0-.25.25zM13.25 8a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm0 2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zm-3-2a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-1.5zm.75 2.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM11.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5zM9 6.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5A.25.25 0 0 0 9.75 6h-.5a.25.25 0 0 0-.25.25zM7.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 8 6.75v-.5A.25.25 0 0 0 7.75 6h-.5zM5 6.25v.5c0 .138.112.25.25.25h.5A.25.25 0 0 0 6 6.75v-.5A.25.25 0 0 0 5.75 6h-.5a.25.25 0 0 0-.25.25zM2.25 6a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h1.5A.25.25 0 0 0 4 6.75v-.5A.25.25 0 0 0 3.75 6h-1.5zM2 10.25v.5c0 .138.112.25.25.25h.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25zM4.25 10a.25.25 0 0 0-.25.25v.5c0 .138.112.25.25.25h5.5a.25.25 0 0 0 .25-.25v-.5a.25.25 0 0 0-.25-.25h-5.5z\"}}]})(props);\n};\nexport function BsKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12zM2 4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10.25a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm0-2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-5 0A.25.25 0 0 1 8.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 8 8.75v-.5zm2 0a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-.5zm1 2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-5-2A.25.25 0 0 1 6.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 6 8.75v-.5zm-2 0A.25.25 0 0 1 4.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 4 8.75v-.5zm-2 0A.25.25 0 0 1 2.25 8h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 2 8.75v-.5zm11-2a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-2 0a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm-2 0A.25.25 0 0 1 9.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 9 6.75v-.5zm-2 0A.25.25 0 0 1 7.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 7 6.75v-.5zm-2 0A.25.25 0 0 1 5.25 6h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5A.25.25 0 0 1 5 6.75v-.5zm-3 0A.25.25 0 0 1 2.25 6h1.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-1.5A.25.25 0 0 1 2 6.75v-.5zm0 4a.25.25 0 0 1 .25-.25h.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-.5a.25.25 0 0 1-.25-.25v-.5zm2 0a.25.25 0 0 1 .25-.25h5.5a.25.25 0 0 1 .25.25v.5a.25.25 0 0 1-.25.25h-5.5a.25.25 0 0 1-.25-.25v-.5z\"}}]})(props);\n};\nexport function BsLadder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 1a.5.5 0 0 1 .5.5V2h6v-.5a.5.5 0 0 1 1 0v14a.5.5 0 0 1-1 0V15H5v.5a.5.5 0 0 1-1 0v-14a.5.5 0 0 1 .5-.5zM5 14h6v-2H5v2zm0-3h6V9H5v2zm0-3h6V6H5v2zm0-3h6V3H5v2z\"}}]})(props);\n};\nexport function BsLampFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3zm5.5-2 .276-.553a.25.25 0 0 1 .448 0L8.5 1h-1zm-.615 8h2.23C9.968 10.595 11 12.69 11 13.5c0 1.38-1.343 2.5-3 2.5s-3-1.12-3-2.5c0-.81 1.032-2.905 1.885-4.5z\"}}]})(props);\n};\nexport function BsLamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3v4H3V3h10zM3 2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3zm4.5-1 .276-.553a.25.25 0 0 1 .448 0L8.5 1h-1zm-.012 9h1.024c.337.646.677 1.33.95 1.949.176.396.318.75.413 1.042.048.146.081.266.102.36A1.347 1.347 0 0 1 10 13.5c0 .665-.717 1.5-2 1.5s-2-.835-2-1.5c0 0 0-.013.004-.039.003-.027.01-.063.02-.11.02-.094.053-.214.1-.36.096-.291.238-.646.413-1.042.274-.62.614-1.303.95-1.949zm1.627-1h-2.23C6.032 10.595 5 12.69 5 13.5 5 14.88 6.343 16 8 16s3-1.12 3-2.5c0-.81-1.032-2.905-1.885-4.5z\"}}]})(props);\n};\nexport function BsLaptopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 2A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 3a.5.5 0 0 1 .5.5V11H2V3.5a.5.5 0 0 1 .5-.5h11zm-11-1A1.5 1.5 0 0 0 1 3.5V12h14V3.5A1.5 1.5 0 0 0 13.5 2h-11zM0 12.5h16a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5z\"}}]})(props);\n};\nexport function BsLayerBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354 15.854a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 0-.708l1-1a.5.5 0 0 1 .708 0l.646.647V4H1a1 1 0 0 1-1-1V1a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H9v7.793l.646-.647a.5.5 0 0 1 .708 0l1 1a.5.5 0 0 1 0 .708l-3 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 9a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4.5a.5.5 0 0 1 0 1H1v2h4.5a.5.5 0 0 1 0 1H1zm9.5 0a.5.5 0 0 1 0-1H15V6h-4.5a.5.5 0 0 1 0-1H15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-4.5z\"}}]})(props);\n};\nexport function BsLayerForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.354.146a.5.5 0 0 0-.708 0l-3 3a.5.5 0 0 0 0 .708l1 1a.5.5 0 0 0 .708 0L7 4.207V12H1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9V4.207l.646.647a.5.5 0 0 0 .708 0l1-1a.5.5 0 0 0 0-.708l-3-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 7a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h4.5a.5.5 0 0 0 0-1H1V8h4.5a.5.5 0 0 0 0-1H1zm9.5 0a.5.5 0 0 0 0 1H15v2h-4.5a.5.5 0 0 0 0 1H15a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1h-4.5z\"}}]})(props);\n};\nexport function BsLayersFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.765 1.559a.5.5 0 0 1 .47 0l7.5 4a.5.5 0 0 1 0 .882l-7.5 4a.5.5 0 0 1-.47 0l-7.5-4a.5.5 0 0 1 0-.882l7.5-4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m2.125 8.567-1.86.992a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882l-1.86-.992-5.17 2.756a1.5 1.5 0 0 1-1.41 0l-5.17-2.756z\"}}]})(props);\n};\nexport function BsLayersHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.235 1.559a.5.5 0 0 0-.47 0l-7.5 4a.5.5 0 0 0 0 .882L3.188 8 .264 9.559a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882L12.813 8l2.922-1.559a.5.5 0 0 0 0-.882l-7.5-4zM8 9.433 1.562 6 8 2.567 14.438 6 8 9.433z\"}}]})(props);\n};\nexport function BsLayers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.235 1.559a.5.5 0 0 0-.47 0l-7.5 4a.5.5 0 0 0 0 .882L3.188 8 .264 9.559a.5.5 0 0 0 0 .882l7.5 4a.5.5 0 0 0 .47 0l7.5-4a.5.5 0 0 0 0-.882L12.813 8l2.922-1.559a.5.5 0 0 0 0-.882l-7.5-4zm3.515 7.008L14.438 10 8 13.433 1.562 10 4.25 8.567l3.515 1.874a.5.5 0 0 0 .47 0l3.515-1.874zM8 9.433 1.562 6 8 2.567 14.438 6 8 9.433z\"}}]})(props);\n};\nexport function BsLayoutSidebarInsetReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsLayoutSidebarInset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12zM2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4z\"}}]})(props);\n};\nexport function BsLayoutSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3zm-5-1v12H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h9zm1 0h2a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-2V2z\"}}]})(props);\n};\nexport function BsLayoutSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm5-1v12h9a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H5zM4 2H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h2V2z\"}}]})(props);\n};\nexport function BsLayoutSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm8.5-1v12H14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H8.5zm-1 0H2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h5.5V2z\"}}]})(props);\n};\nexport function BsLayoutTextSidebarReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm0 3a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5zm.5 3.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2zM4 1v14H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h2zm1 0h9a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5V1z\"}}]})(props);\n};\nexport function BsLayoutTextSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zM3 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm12-1v14h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1h-2zm-1 0H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h9V1z\"}}]})(props);\n};\nexport function BsLayoutTextWindowReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6.5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm0 3a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 .5-.5zm-.5 2.5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1h5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12zM2 1a1 1 0 0 0-1 1v1h14V2a1 1 0 0 0-1-1H2zM1 4v10a1 1 0 0 0 1 1h2V4H1zm4 0v11h9a1 1 0 0 0 1-1V4H5z\"}}]})(props);\n};\nexport function BsLayoutTextWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v1H1V2a1 1 0 0 1 1-1h12zm1 3v10a1 1 0 0 1-1 1h-2V4h3zm-4 0v11H2a1 1 0 0 1-1-1V4h10z\"}}]})(props);\n};\nexport function BsLayoutThreeColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5H5V1H1.5zM10 15V1H6v14h4zm1 0h3.5a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5H11v14z\"}}]})(props);\n};\nexport function BsLayoutWtf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1v8H1V1h4zM1 0a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1zm13 2v5H9V2h5zM9 1a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9zM5 13v2H3v-2h2zm-2-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H3zm12-1v2H9v-2h6zm-6-1a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1H9z\"}}]})(props);\n};\nexport function BsLifePreserver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm6.43-5.228a7.025 7.025 0 0 1-3.658 3.658l-1.115-2.788a4.015 4.015 0 0 0 1.985-1.985l2.788 1.115zM5.228 14.43a7.025 7.025 0 0 1-3.658-3.658l2.788-1.115a4.015 4.015 0 0 0 1.985 1.985L5.228 14.43zm9.202-9.202-2.788 1.115a4.015 4.015 0 0 0-1.985-1.985l1.115-2.788a7.025 7.025 0 0 1 3.658 3.658zm-8.087-.87a4.015 4.015 0 0 0-1.985 1.985L1.57 5.228A7.025 7.025 0 0 1 5.228 1.57l1.115 2.788zM8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsLightbulbFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm3 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsLightbulbOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6c0-.572.08-1.125.23-1.65l8.558 8.559A.5.5 0 0 1 10.5 13h-5a.5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm10.303 4.181L3.818 1.697a6 6 0 0 1 8.484 8.484zM5 14.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1-.5-.5zM2.354 1.646a.5.5 0 1 0-.708.708l12 12a.5.5 0 0 0 .708-.708l-12-12z\"}}]})(props);\n};\nexport function BsLightbulbOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.23 4.35A6.004 6.004 0 0 0 2 6c0 1.691.7 3.22 1.826 4.31.203.196.359.4.453.619l.762 1.769A.5.5 0 0 0 5.5 13a.5.5 0 0 0 0 1 .5.5 0 0 0 0 1l.224.447a1 1 0 0 0 .894.553h2.764a1 1 0 0 0 .894-.553L10.5 15a.5.5 0 0 0 0-1 .5.5 0 0 0 0-1 .5.5 0 0 0 .288-.091L9.878 12H5.83l-.632-1.467a2.954 2.954 0 0 0-.676-.941 4.984 4.984 0 0 1-1.455-4.405l-.837-.836zm1.588-2.653.708.707a5 5 0 0 1 7.07 7.07l.707.707a6 6 0 0 0-8.484-8.484zm-2.172-.051a.5.5 0 0 1 .708 0l12 12a.5.5 0 0 1-.708.708l-12-12a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsLightbulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a6 6 0 1 1 10.174 4.31c-.203.196-.359.4-.453.619l-.762 1.769A.5.5 0 0 1 10.5 13a.5.5 0 0 1 0 1 .5.5 0 0 1 0 1l-.224.447a1 1 0 0 1-.894.553H6.618a1 1 0 0 1-.894-.553L5.5 15a.5.5 0 0 1 0-1 .5.5 0 0 1 0-1 .5.5 0 0 1-.46-.302l-.761-1.77a1.964 1.964 0 0 0-.453-.618A5.984 5.984 0 0 1 2 6zm6-5a5 5 0 0 0-3.479 8.592c.263.254.514.564.676.941L5.83 12h4.342l.632-1.467c.162-.377.413-.687.676-.941A5 5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsLightningChargeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z\"}}]})(props);\n};\nexport function BsLightningCharge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09zM4.157 8.5H7a.5.5 0 0 1 .478.647L6.11 13.59l5.732-6.09H9a.5.5 0 0 1-.478-.647L9.89 2.41 4.157 8.5z\"}}]})(props);\n};\nexport function BsLightningFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5z\"}}]})(props);\n};\nexport function BsLightning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.52.359A.5.5 0 0 1 6 0h4a.5.5 0 0 1 .474.658L8.694 6H12.5a.5.5 0 0 1 .395.807l-7 9a.5.5 0 0 1-.873-.454L6.823 9.5H3.5a.5.5 0 0 1-.48-.641l2.5-8.5zM6.374 1 4.168 8.5H7.5a.5.5 0 0 1 .478.647L6.78 13.04 11.478 7H8a.5.5 0 0 1-.474-.658L9.306 1H6.374z\"}}]})(props);\n};\nexport function BsLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c4.411 0 8 2.912 8 6.492 0 1.433-.555 2.723-1.715 3.994-1.678 1.932-5.431 4.285-6.285 4.645-.83.35-.734-.197-.696-.413l.003-.018.114-.685c.027-.204.055-.521-.026-.723-.09-.223-.444-.339-.704-.395C2.846 12.39 0 9.701 0 6.492 0 2.912 3.59 0 8 0zM5.022 7.686H3.497V4.918a.156.156 0 0 0-.155-.156H2.78a.156.156 0 0 0-.156.156v3.486c0 .041.017.08.044.107v.001l.002.002.002.002a.154.154 0 0 0 .108.043h2.242c.086 0 .155-.07.155-.156v-.56a.156.156 0 0 0-.155-.157zm.791-2.924h.562c.086 0 .155.07.155.156v3.486c0 .086-.07.155-.155.155h-.562a.156.156 0 0 1-.156-.155V4.918c0-.086.07-.156.156-.156zm3.863 0h.56c.087 0 .157.07.157.156v3.486c0 .086-.07.155-.156.155h-.561a.155.155 0 0 1-.04-.005h-.002a.168.168 0 0 1-.011-.004l-.005-.002-.007-.003a.066.066 0 0 1-.008-.004L9.6 8.54l-.01-.006-.001-.001a.154.154 0 0 1-.04-.039l-1.6-2.16v2.07a.155.155 0 0 1-.155.156h-.561a.156.156 0 0 1-.156-.155V4.918c0-.086.07-.156.156-.156H7.8l.005.001h.006l.003.001h.006l.01.003h.002l.002.001.01.003.005.002a.09.09 0 0 1 .009.004l.003.001.002.001a.113.113 0 0 1 .013.008l.003.002.005.003v.001c.002 0 .003.002.004.003a.092.092 0 0 1 .008.006l.003.003a.17.17 0 0 1 .023.026L9.52 6.99V4.918c0-.086.07-.156.156-.156zm3.815.717c0 .086-.07.156-.155.156H11.81v.59h1.525c.086 0 .155.07.155.155v.561c0 .086-.07.156-.155.156H11.81v.59h1.525c.086 0 .155.07.155.155v.561c0 .086-.07.156-.155.156h-2.242a.155.155 0 0 1-.11-.045l-.002-.003a.155.155 0 0 1-.044-.107V4.918c0-.042.017-.08.043-.107l.003-.003.001-.001a.155.155 0 0 1 .109-.045h2.242c.086 0 .155.07.155.156v.561z\"}}]})(props);\n};\nexport function BsLink45Deg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.715 6.542 3.343 7.914a3 3 0 1 0 4.243 4.243l1.828-1.829A3 3 0 0 0 8.586 5.5L8 6.086a1.002 1.002 0 0 0-.154.199 2 2 0 0 1 .861 3.337L6.88 11.45a2 2 0 1 1-2.83-2.83l.793-.792a4.018 4.018 0 0 1-.128-1.287z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.586 4.672A3 3 0 0 0 7.414 9.5l.775-.776a2 2 0 0 1-.896-3.346L9.12 3.55a2 2 0 1 1 2.83 2.83l-.793.792c.112.42.155.855.128 1.287l1.372-1.372a3 3 0 1 0-4.243-4.243L6.586 4.672z\"}}]})(props);\n};\nexport function BsLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9c-.086 0-.17.01-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4.02 4.02 0 0 1-.82 1H12a3 3 0 1 0 0-6H9z\"}}]})(props);\n};\nexport function BsLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z\"}}]})(props);\n};\nexport function BsListCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM3.854 2.146a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 3.293l1.146-1.147a.5.5 0 0 1 .708 0zm0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708L2 7.293l1.146-1.147a.5.5 0 0 1 .708 0zm0 4a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsListNested (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsListOl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.713 11.865v-.474H2c.217 0 .363-.137.363-.317 0-.185-.158-.31-.361-.31-.223 0-.367.152-.373.31h-.59c.016-.467.373-.787.986-.787.588-.002.954.291.957.703a.595.595 0 0 1-.492.594v.033a.615.615 0 0 1 .569.631c.003.533-.502.8-1.051.8-.656 0-1-.37-1.008-.794h.582c.008.178.186.306.422.309.254 0 .424-.145.422-.35-.002-.195-.155-.348-.414-.348h-.3zm-.004-4.699h-.604v-.035c0-.408.295-.844.958-.844.583 0 .96.326.96.756 0 .389-.257.617-.476.848l-.537.572v.03h1.054V9H1.143v-.395l.957-.99c.138-.142.293-.304.293-.508 0-.18-.147-.32-.342-.32a.33.33 0 0 0-.342.338v.041zM2.564 5h-.635V2.924h-.031l-.598.42v-.567l.629-.443h.635V5z\"}}]})(props);\n};\nexport function BsListStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.242 2.194a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.256-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53zm0 4a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.255-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53zm0 4a.27.27 0 0 1 .516 0l.162.53c.035.115.14.194.258.194h.551c.259 0 .37.333.164.493l-.468.363a.277.277 0 0 0-.094.3l.173.569c.078.255-.213.462-.423.3l-.417-.324a.267.267 0 0 0-.328 0l-.417.323c-.21.163-.5-.043-.423-.299l.173-.57a.277.277 0 0 0-.094-.299l-.468-.363c-.206-.16-.095-.493.164-.493h.55a.271.271 0 0 0 .259-.194l.162-.53z\"}}]})(props);\n};\nexport function BsListTask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H2zM3 3H2v1h1V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM5.5 7a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.5 7a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5V7zM2 7h1v1H2V7zm0 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5H2zm1 .5H2v1h1v-1z\"}}]})(props);\n};\nexport function BsListUl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm-3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsMailbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a3 3 0 0 0-3 3v6h6V7a3 3 0 0 0-3-3zm0-1h8a4 4 0 0 1 4 4v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a4 4 0 0 1 4-4zm2.646 1A3.99 3.99 0 0 1 8 7v6h7V7a3 3 0 0 0-3-3H6.646z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.793 8.5H9v-1h5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.354-.146l-.853-.854zM5 7c0 .552-.448 0-1 0s-1 .552-1 0a1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsMailbox2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8.5h2.793l.853.854A.5.5 0 0 0 13 9.5h1a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5H9v1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 3H4a4 4 0 0 0-4 4v6a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V7a4 4 0 0 0-4-4zM8 7a3.99 3.99 0 0 0-1.354-3H12a3 3 0 0 1 3 3v6H8V7zm-3.415.157C4.42 7.087 4.218 7 4 7c-.218 0-.42.086-.585.157C3.164 7.264 3 7.334 3 7a1 1 0 0 1 2 0c0 .334-.164.264-.415.157z\"}}]})(props);\n};\nexport function BsMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 .5a.5.5 0 0 0-.598-.49L10.5.99 5.598.01a.5.5 0 0 0-.196 0l-5 1A.5.5 0 0 0 0 1.5v14a.5.5 0 0 0 .598.49l4.902-.98 4.902.98a.502.502 0 0 0 .196 0l5-1A.5.5 0 0 0 16 14.5V.5zM5 14.09V1.11l.5-.1.5.1v12.98l-.402-.08a.498.498 0 0 0-.196 0L5 14.09zm5 .8V1.91l.402.08a.5.5 0 0 0 .196 0L11 1.91v12.98l-.5.1-.5-.1z\"}}]})(props);\n};\nexport function BsMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.817.113A.5.5 0 0 1 16 .5v14a.5.5 0 0 1-.402.49l-5 1a.502.502 0 0 1-.196 0L5.5 15.01l-4.902.98A.5.5 0 0 1 0 15.5v-14a.5.5 0 0 1 .402-.49l5-1a.5.5 0 0 1 .196 0L10.5.99l4.902-.98a.5.5 0 0 1 .415.103zM10 1.91l-4-.8v12.98l4 .8V1.91zm1 12.98 4-.8V1.11l-4 .8v12.98zm-6-.8V1.11l-4 .8v12.98l4-.8z\"}}]})(props);\n};\nexport function BsMarkdownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm11.5 1a.5.5 0 0 0-.5.5v3.793L9.854 8.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L12 9.293V5.5a.5.5 0 0 0-.5-.5zM3.56 7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06V7.01z\"}}]})(props);\n};\nexport function BsMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h12zM2 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.146 8.146a.5.5 0 0 1 .708 0L11.5 9.793l1.646-1.647a.5.5 0 0 1 .708.708l-2 2a.5.5 0 0 1-.708 0l-2-2a.5.5 0 0 1 0-.708z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0v-4a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.56 11V7.01h.056l1.428 3.239h.774l1.42-3.24h.056V11h1.073V5.001h-1.2l-1.71 3.894h-.039l-1.71-3.894H2.5V11h1.06z\"}}]})(props);\n};\nexport function BsMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.225 1.227A7.5 7.5 0 0 1 10.5 8a7.5 7.5 0 0 1-4.275 6.773 7 7 0 1 0 0-13.546zM4.187.966a8 8 0 1 1 7.627 14.069A8 8 0 0 1 4.186.964z\"}}]})(props);\n};\nexport function BsMastodon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z\"}}]})(props);\n};\nexport function BsMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.025 8c0 2.485-2.02 4.5-4.513 4.5A4.506 4.506 0 0 1 0 8c0-2.486 2.02-4.5 4.512-4.5A4.506 4.506 0 0 1 9.025 8zm4.95 0c0 2.34-1.01 4.236-2.256 4.236-1.246 0-2.256-1.897-2.256-4.236 0-2.34 1.01-4.236 2.256-4.236 1.246 0 2.256 1.897 2.256 4.236zM16 8c0 2.096-.355 3.795-.794 3.795-.438 0-.793-1.7-.793-3.795 0-2.096.355-3.795.794-3.795.438 0 .793 1.699.793 3.795z\"}}]})(props);\n};\nexport function BsMegaphoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-11zm-1 .724c-2.067.95-4.539 1.481-7 1.656v6.237a25.222 25.222 0 0 1 1.088.085c2.053.204 4.038.668 5.912 1.56V3.224zm-8 7.841V4.934c-.68.027-1.399.043-2.008.053A2.02 2.02 0 0 0 0 7v2c0 1.106.896 1.996 1.994 2.009a68.14 68.14 0 0 1 .496.008 64 64 0 0 1 1.51.048zm1.39 1.081c.285.021.569.047.85.078l.253 1.69a1 1 0 0 1-.983 1.187h-.548a1 1 0 0 1-.916-.599l-1.314-2.48a65.81 65.81 0 0 1 1.692.064c.327.017.65.037.966.06z\"}}]})(props);\n};\nexport function BsMegaphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 2.5a1.5 1.5 0 0 1 3 0v11a1.5 1.5 0 0 1-3 0v-.214c-2.162-1.241-4.49-1.843-6.912-2.083l.405 2.712A1 1 0 0 1 5.51 15.1h-.548a1 1 0 0 1-.916-.599l-1.85-3.49a68.14 68.14 0 0 0-.202-.003A2.014 2.014 0 0 1 0 9V7a2.02 2.02 0 0 1 1.992-2.013 74.663 74.663 0 0 0 2.483-.075c3.043-.154 6.148-.849 8.525-2.199V2.5zm1 0v11a.5.5 0 0 0 1 0v-11a.5.5 0 0 0-1 0zm-1 1.35c-2.344 1.205-5.209 1.842-8 2.033v4.233c.18.01.359.022.537.036 2.568.189 5.093.744 7.463 1.993V3.85zm-9 6.215v-4.13a95.09 95.09 0 0 1-1.992.052A1.02 1.02 0 0 0 1 7v2c0 .55.448 1.002 1.006 1.009A60.49 60.49 0 0 1 4 10.065zm-.657.975 1.609 3.037.01.024h.548l-.002-.014-.443-2.966a68.019 68.019 0 0 0-1.722-.082z\"}}]})(props);\n};\nexport function BsMenuAppFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuApp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h2A1.5 1.5 0 0 1 5 1.5v2A1.5 1.5 0 0 1 3.5 5h-2A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-2zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h8A1.5 1.5 0 0 0 11 3.5v-2A1.5 1.5 0 0 0 9.5 0h-8zm5.927 2.427A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonWideFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButtonWide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v2A1.5 1.5 0 0 1 14.5 5h-13A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm10.823.323-.396-.396A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuButton (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5A1.5 1.5 0 0 1 1.5 0h8A1.5 1.5 0 0 1 11 1.5v2A1.5 1.5 0 0 1 9.5 5h-8A1.5 1.5 0 0 1 0 3.5v-2zM1.5 1a.5.5 0 0 0-.5.5v2a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m7.823 2.823-.396-.396A.25.25 0 0 1 7.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646.146a.5.5 0 0 1 .708 0L10.207 2H14a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h3.793L7.646.146zM1 7v3h14V7H1zm14-1V4a1 1 0 0 0-1-1h-3.793a1 1 0 0 1-.707-.293L8 1.207l-1.5 1.5A1 1 0 0 1 5.793 3H2a1 1 0 0 0-1 1v2h14zm0 5H1v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2zM2 4.5a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 0 1h-8a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMenuUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 15.854a.5.5 0 0 0 .708 0L10.207 14H14a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3.793l1.853 1.854zM1 9V6h14v3H1zm14 1v2a1 1 0 0 1-1 1h-3.793a1 1 0 0 0-.707.293l-1.5 1.5-1.5-1.5A1 1 0 0 0 5.793 13H2a1 1 0 0 1-1-1v-2h14zm0-5H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v2zM2 11.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 0-1h-8a.5.5 0 0 0-.5.5zm0-4a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 0-1h-11a.5.5 0 0 0-.5.5zm0-4a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1h-6a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsMessenger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7.76C0 3.301 3.493 0 8 0s8 3.301 8 7.76-3.493 7.76-8 7.76c-.81 0-1.586-.107-2.316-.307a.639.639 0 0 0-.427.03l-1.588.702a.64.64 0 0 1-.898-.566l-.044-1.423a.639.639 0 0 0-.215-.456C.956 12.108 0 10.092 0 7.76zm5.546-1.459-2.35 3.728c-.225.358.214.761.551.506l2.525-1.916a.48.48 0 0 1 .578-.002l1.869 1.402a1.2 1.2 0 0 0 1.735-.32l2.35-3.728c.226-.358-.214-.761-.551-.506L9.728 7.381a.48.48 0 0 1-.578.002L7.281 5.98a1.2 1.2 0 0 0-1.735.32z\"}}]})(props);\n};\nexport function BsMicFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a3 3 0 0 1 6 0v5a3 3 0 0 1-6 0V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsMicMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879L5.158 2.037A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.486 10.607 5 6.12V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsMicMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 8c0 .564-.094 1.107-.266 1.613l-.814-.814A4.02 4.02 0 0 0 12 8V7a.5.5 0 0 1 1 0v1zm-5 4c.818 0 1.578-.245 2.212-.667l.718.719a4.973 4.973 0 0 1-2.43.923V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 1 0v1a4 4 0 0 0 4 4zm3-9v4.879l-1-1V3a2 2 0 0 0-3.997-.118l-.845-.845A3.001 3.001 0 0 1 11 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m9.486 10.607-.748-.748A2 2 0 0 1 6 8v-.878l-1-1V8a3 3 0 0 0 4.486 2.607zm-7.84-9.253 12 12 .708-.708-12-12-.708.708z\"}}]})(props);\n};\nexport function BsMic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0V3a2 2 0 1 1 4 0v5zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z\"}}]})(props);\n};\nexport function BsMicrosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.462 0H0v7.19h7.462V0zM16 0H8.538v7.19H16V0zM7.462 8.211H0V16h7.462V8.211zm8.538 0H8.538V16H16V8.211z\"}}]})(props);\n};\nexport function BsMinecartLoaded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8-1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM.115 3.18A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 14 12H2a.5.5 0 0 1-.491-.408l-1.5-8a.5.5 0 0 1 .106-.411zm.987.82 1.313 7h11.17l1.313-7H1.102z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 1a2.498 2.498 0 0 1 4 0c.818 0 1.545.394 2 1 .67 0 1.552.57 2 1h-2c-.314 0-.611-.15-.8-.4-.274-.365-.71-.6-1.2-.6-.314 0-.611-.15-.8-.4a1.497 1.497 0 0 0-2.4 0c-.189.25-.486.4-.8.4-.507 0-.955.251-1.228.638-.09.13-.194.25-.308.362H3c.13-.147.401-.432.562-.545a1.63 1.63 0 0 0 .393-.393A2.498 2.498 0 0 1 6 1z\"}}]})(props);\n};\nexport function BsMinecart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm8-1a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4zM.115 3.18A.5.5 0 0 1 .5 3h15a.5.5 0 0 1 .491.592l-1.5 8A.5.5 0 0 1 14 12H2a.5.5 0 0 1-.491-.408l-1.5-8a.5.5 0 0 1 .106-.411zm.987.82 1.313 7h11.17l1.313-7H1.102z\"}}]})(props);\n};\nexport function BsMoisture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 0a.5.5 0 0 0 0 1H15v2.75h-.5a.5.5 0 0 0 0 1h.5V7.5h-1.5a.5.5 0 0 0 0 1H15v2.75h-.5a.5.5 0 0 0 0 1h.5V15h-1.5a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5V.5a.5.5 0 0 0-.5-.5h-2zM7 1.5l.364-.343a.5.5 0 0 0-.728 0l-.002.002-.006.007-.022.023-.08.088a28.458 28.458 0 0 0-1.274 1.517c-.769.983-1.714 2.325-2.385 3.727C2.368 7.564 2 8.682 2 9.733 2 12.614 4.212 15 7 15s5-2.386 5-5.267c0-1.05-.368-2.169-.867-3.212-.671-1.402-1.616-2.744-2.385-3.727a28.458 28.458 0 0 0-1.354-1.605l-.022-.023-.006-.007-.002-.001L7 1.5zm0 0-.364-.343L7 1.5zm-.016.766L7 2.247l.016.019c.24.274.572.667.944 1.144.611.781 1.32 1.776 1.901 2.827H4.14c.58-1.051 1.29-2.046 1.9-2.827.373-.477.706-.87.945-1.144zM3 9.733c0-.755.244-1.612.638-2.496h6.724c.395.884.638 1.741.638 2.496C11 12.117 9.182 14 7 14s-4-1.883-4-4.267z\"}}]})(props);\n};\nexport function BsMoonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}}]})(props);\n};\nexport function BsMoonStarsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsMoonStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z\"}}]})(props);\n};\nexport function BsMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278zM4.858 1.311A7.269 7.269 0 0 0 1.025 7.71c0 4.02 3.279 7.276 7.319 7.276a7.316 7.316 0 0 0 5.205-2.162c-.337.042-.68.063-1.029.063-4.61 0-8.343-3.714-8.343-8.29 0-1.167.242-2.278.681-3.286z\"}}]})(props);\n};\nexport function BsMouseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a5 5 0 0 1 10 0v6a5 5 0 0 1-10 0V5zm5.5-1.5a.5.5 0 0 0-1 0v2a.5.5 0 0 0 1 0v-2z\"}}]})(props);\n};\nexport function BsMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 3zm4 8a4 4 0 0 1-8 0V5a4 4 0 1 1 8 0v6zM8 0a5 5 0 0 0-5 5v6a5 5 0 0 0 10 0V5a5 5 0 0 0-5-5z\"}}]})(props);\n};\nexport function BsMouse2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5.026C4.958.286 3 2.515 3 5.188V5.5h4.5V.026zm1 0V5.5H13v-.312C13 2.515 11.042.286 8.5.026zM13 6.5H3v4.313C3 13.658 5.22 16 8 16s5-2.342 5-5.188V6.5z\"}}]})(props);\n};\nexport function BsMouse2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.188C3 2.341 5.22 0 8 0s5 2.342 5 5.188v5.625C13 13.658 10.78 16 8 16s-5-2.342-5-5.188V5.189zm4.5-4.155C5.541 1.289 4 3.035 4 5.188V5.5h3.5V1.033zm1 0V5.5H12v-.313c0-2.152-1.541-3.898-3.5-4.154zM12 6.5H4v4.313C4 13.145 5.81 15 8 15s4-1.855 4-4.188V6.5z\"}}]})(props);\n};\nexport function BsMouse3Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5.069A15.328 15.328 0 0 0 7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208-.386.873-.522 2.01-.54 3.206l4.497 1V.069zM3.71 5.836 3.381 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V8.123l-9-2v.003l.008.353c.007.3.023.715.053 1.175.063.937.186 2.005.413 2.688a.5.5 0 1 1-.948.316c-.273-.817-.4-2-.462-2.937A30.16 30.16 0 0 1 4 6.003c0-.034.003-.067.01-.1l-.3-.067zM14 7.1V5.187c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59A7.495 7.495 0 0 0 9.5.212v5.887l4.5 1z\"}}]})(props);\n};\nexport function BsMouse3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 0c-.593 0-1.104.157-1.527.463-.418.302-.717.726-.93 1.208C4.123 2.619 4 3.879 4 5.187v.504L3.382 6A2.5 2.5 0 0 0 2 8.236v2.576C2 13.659 4.22 16 7 16h2c2.78 0 5-2.342 5-5.188V7.51a.71.71 0 0 0 0-.02V5.186c0-1.13-.272-2.044-.748-2.772-.474-.726-1.13-1.235-1.849-1.59C9.981.123 8.26 0 7 0zm2.5 6.099V1.232c.51.11 1.008.267 1.46.49.596.293 1.099.694 1.455 1.24.355.543.585 1.262.585 2.225v1.69l-3.5-.778zm-1-5.025v4.803L5 5.099c.006-1.242.134-2.293.457-3.024.162-.366.363-.63.602-.801C6.292 1.105 6.593 1 7 1c.468 0 .98.018 1.5.074zM5 6.124 13 7.9v2.912C13 13.145 11.19 15 9 15H7c-2.19 0-4-1.855-4-4.188V8.236a1.5 1.5 0 0 1 .83-1.342l.187-.093c.01.265.024.58.047.92.062.938.19 2.12.462 2.937a.5.5 0 1 0 .948-.316c-.227-.683-.35-1.75-.413-2.688a29.17 29.17 0 0 1-.06-1.528v-.002z\"}}]})(props);\n};\nexport function BsMusicNoteBeamed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13c0 1.105-1.12 2-2.5 2S1 14.105 1 13c0-1.104 1.12-2 2.5-2s2.5.896 2.5 2zm9-2c0 1.105-1.12 2-2.5 2s-2.5-.895-2.5-2 1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14 11V2h1v9h-1zM6 3v10H5V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 2.905a1 1 0 0 1 .9-.995l8-.8a1 1 0 0 1 1.1.995V3L5 4V2.905z\"}}]})(props);\n};\nexport function BsMusicNoteList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13c0 1.105-1.12 2-2.5 2S7 14.105 7 13s1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 3v10h-1V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 16 2.22V4l-5 1V2.82z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5H4a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 .5 7H8a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5zm0-4A.5.5 0 0 1 .5 3H8a.5.5 0 0 1 0 1H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsMusicNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13c0 1.105-1.12 2-2.5 2S4 14.105 4 13s1.12-2 2.5-2 2.5.895 2.5 2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 3v10H8V3h1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2.82a1 1 0 0 1 .804-.98l3-.6A1 1 0 0 1 13 2.22V4L8 5V2.82z\"}}]})(props);\n};\nexport function BsMusicPlayerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm1 2h6a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm3 12a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsMusicPlayer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V3zm1 0v3h6V3H5zm3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm-3 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H4z\"}}]})(props);\n};\nexport function BsNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2.5A1.5 1.5 0 0 1 1.5 1h11A1.5 1.5 0 0 1 14 2.5v10.528c0 .3-.05.654-.238.972h.738a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 1 1 0v9a1.5 1.5 0 0 1-1.5 1.5H1.497A1.497 1.497 0 0 1 0 13.5v-11zM12 14c.37 0 .654-.211.853-.441.092-.106.147-.279.147-.531V2.5a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5v11c0 .278.223.5.497.5H12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3h10v2H2V3zm0 3h4v3H2V6zm0 4h4v1H2v-1zm0 2h4v1H2v-1zm5-6h2v1H7V6zm3 0h2v1h-2V6zM7 8h2v1H7V8zm3 0h2v1h-2V8zm-3 2h2v1H7v-1zm3 0h2v1h-2v-1zm-3 2h2v1H7v-1zm3 0h2v1h-2v-1z\"}}]})(props);\n};\nexport function BsNodeMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16 8a5 5 0 0 1-9.975.5H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025A5 5 0 0 1 16 8zm-2 0a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h5A.5.5 0 0 0 14 8z\"}}]})(props);\n};\nexport function BsNodeMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM6.025 7.5a5 5 0 1 1 0 1H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025zM1.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM8 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5A.5.5 0 0 1 8 8z\"}}]})(props);\n};\nexport function BsNodePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13a5 5 0 1 0-4.975-5.5H4A1.5 1.5 0 0 0 2.5 6h-1A1.5 1.5 0 0 0 0 7.5v1A1.5 1.5 0 0 0 1.5 10h1A1.5 1.5 0 0 0 4 8.5h2.025A5 5 0 0 0 11 13zm.5-7.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsNodePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8zM6.025 7.5a5 5 0 1 1 0 1H4A1.5 1.5 0 0 1 2.5 10h-1A1.5 1.5 0 0 1 0 8.5v-1A1.5 1.5 0 0 1 1.5 6h1A1.5 1.5 0 0 1 4 7.5h2.025zM11 5a.5.5 0 0 1 .5.5v2h2a.5.5 0 0 1 0 1h-2v2a.5.5 0 0 1-1 0v-2h-2a.5.5 0 0 1 0-1h2v-2A.5.5 0 0 1 11 5zM1.5 7a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1z\"}}]})(props);\n};\nexport function BsNutFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58zm5.018 9.696a3 3 0 1 1-3-5.196 3 3 0 0 1 3 5.196z\"}}]})(props);\n};\nexport function BsNut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.42 2 3.428 6-3.428 6H4.58L1.152 8 4.58 2h6.84zM4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.848 5.933a2.5 2.5 0 1 0 2.5 4.33 2.5 2.5 0 0 0-2.5-4.33zm-1.78 3.915a3.5 3.5 0 1 1 6.061-3.5 3.5 3.5 0 0 1-6.062 3.5z\"}}]})(props);\n};\nexport function BsOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.107 0a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146A.5.5 0 0 1 4.893 0h6.214z\"}}]})(props);\n};\nexport function BsOctagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM8 15h2.9l4.1-4.1V5.1L10.9 1H8v14z\"}}]})(props);\n};\nexport function BsOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}}]})(props);\n};\nexport function BsOption (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a.5.5 0 0 1 .5-.5h3.797a.5.5 0 0 1 .439.26L11 13h3.5a.5.5 0 0 1 0 1h-3.797a.5.5 0 0 1-.439-.26L5 3H1.5a.5.5 0 0 1-.5-.5zm10 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsOutlet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.34 2.994c.275-.338.68-.494 1.074-.494h7.172c.393 0 .798.156 1.074.494.578.708 1.84 2.534 1.84 5.006 0 2.472-1.262 4.297-1.84 5.006-.276.338-.68.494-1.074.494H4.414c-.394 0-.799-.156-1.074-.494C2.762 12.297 1.5 10.472 1.5 8c0-2.472 1.262-4.297 1.84-5.006zm1.074.506a.376.376 0 0 0-.299.126C3.599 4.259 2.5 5.863 2.5 8c0 2.137 1.099 3.74 1.615 4.374.06.073.163.126.3.126h7.17c.137 0 .24-.053.3-.126.516-.633 1.615-2.237 1.615-4.374 0-2.137-1.099-3.74-1.615-4.374a.376.376 0 0 0-.3-.126h-7.17z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 5.5a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v1.5a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zM7 10v1h2v-1a1 1 0 0 0-2 0z\"}}]})(props);\n};\nexport function BsPaintBucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.192 2.78c-.458-.677-.927-1.248-1.35-1.643a2.972 2.972 0 0 0-.71-.515c-.217-.104-.56-.205-.882-.02-.367.213-.427.63-.43.896-.003.304.064.664.173 1.044.196.687.556 1.528 1.035 2.402L.752 8.22c-.277.277-.269.656-.218.918.055.283.187.593.36.903.348.627.92 1.361 1.626 2.068.707.707 1.441 1.278 2.068 1.626.31.173.62.305.903.36.262.05.64.059.918-.218l5.615-5.615c.118.257.092.512.05.939-.03.292-.068.665-.073 1.176v.123h.003a1 1 0 0 0 1.993 0H14v-.057a1.01 1.01 0 0 0-.004-.117c-.055-1.25-.7-2.738-1.86-3.494a4.322 4.322 0 0 0-.211-.434c-.349-.626-.92-1.36-1.627-2.067-.707-.707-1.441-1.279-2.068-1.627-.31-.172-.62-.304-.903-.36-.262-.05-.64-.058-.918.219l-.217.216zM4.16 1.867c.381.356.844.922 1.311 1.632l-.704.705c-.382-.727-.66-1.402-.813-1.938a3.283 3.283 0 0 1-.131-.673c.091.061.204.15.337.274zm.394 3.965c.54.852 1.107 1.567 1.607 2.033a.5.5 0 1 0 .682-.732c-.453-.422-1.017-1.136-1.564-2.027l1.088-1.088c.054.12.115.243.183.365.349.627.92 1.361 1.627 2.068.706.707 1.44 1.278 2.068 1.626.122.068.244.13.365.183l-4.861 4.862a.571.571 0 0 1-.068-.01c-.137-.027-.342-.104-.608-.252-.524-.292-1.186-.8-1.846-1.46-.66-.66-1.168-1.32-1.46-1.846-.147-.265-.225-.47-.251-.607a.573.573 0 0 1-.01-.068l3.048-3.047zm2.87-1.935a2.44 2.44 0 0 1-.241-.561c.135.033.324.11.562.241.524.292 1.186.8 1.846 1.46.45.45.83.901 1.118 1.31a3.497 3.497 0 0 0-1.066.091 11.27 11.27 0 0 1-.76-.694c-.66-.66-1.167-1.322-1.458-1.847z\"}}]})(props);\n};\nexport function BsPaletteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.433 10.07C14.133 10.585 16 11.15 16 8a8 8 0 1 0-8 8c1.996 0 1.826-1.504 1.649-3.08-.124-1.101-.252-2.237.351-2.92.465-.527 1.42-.237 2.433.07zM8 5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM5 6.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm4 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM5.5 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8c0 3.15-1.866 2.585-3.567 2.07C11.42 9.763 10.465 9.473 10 10c-.603.683-.475 1.819-.351 2.92C9.826 14.495 9.996 16 8 16a8 8 0 1 1 8-8zm-8 7c.611 0 .654-.171.655-.176.078-.146.124-.464.07-1.119-.014-.168-.037-.37-.061-.591-.052-.464-.112-1.005-.118-1.462-.01-.707.083-1.61.704-2.314.369-.417.845-.578 1.272-.618.404-.038.812.026 1.16.104.343.077.702.186 1.025.284l.028.008c.346.105.658.199.953.266.653.148.904.083.991.024C14.717 9.38 15 9.161 15 8a7 7 0 1 0-7 7z\"}}]})(props);\n};\nexport function BsPalette2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 .5.5v5.277l4.147-4.131a.5.5 0 0 1 .707 0l3.535 3.536a.5.5 0 0 1 0 .708L10.261 10H15.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H3a2.99 2.99 0 0 1-2.121-.879A2.99 2.99 0 0 1 0 13.044m6-.21 7.328-7.3-2.829-2.828L6 7.188v5.647zM4.5 13a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zM15 15v-4H9.258l-4.015 4H15zM0 .5v12.495V.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12.995V13a3.07 3.07 0 0 0 0-.005z\"}}]})(props);\n};\nexport function BsPaperclip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0V3z\"}}]})(props);\n};\nexport function BsParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 15a.5.5 0 0 1-.5-.5V2H9v12.5a.5.5 0 0 1-1 0V9H7a4 4 0 1 1 0-8h5.5a.5.5 0 0 1 0 1H11v12.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsPatchCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsPatchCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.354 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchExclamationFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"}}]})(props);\n};\nexport function BsPatchExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM6 7.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1 0-1z\"}}]})(props);\n};\nexport function BsPatchMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 8a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zM8.5 6v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsPatchPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 5.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V10a.5.5 0 0 1-1 0V8.5H6a.5.5 0 0 1 0-1h1.5V6a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}}]})(props);\n};\nexport function BsPatchQuestionFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.933.87a2.89 2.89 0 0 1 4.134 0l.622.638.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636zM7.002 11a1 1 0 1 0 2 0 1 1 0 0 0-2 0zm1.602-2.027c.04-.534.198-.815.846-1.26.674-.475 1.05-1.09 1.05-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745.336 0 .504-.24.554-.627z\"}}]})(props);\n};\nexport function BsPatchQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.05 9.6c.336 0 .504-.24.554-.627.04-.534.198-.815.847-1.26.673-.475 1.049-1.09 1.049-1.986 0-1.325-.92-2.227-2.262-2.227-1.02 0-1.792.492-2.1 1.29A1.71 1.71 0 0 0 6 5.48c0 .393.203.64.545.64.272 0 .455-.147.564-.51.158-.592.525-.915 1.074-.915.61 0 1.03.446 1.03 1.084 0 .563-.208.885-.822 1.325-.619.433-.926.914-.926 1.64v.111c0 .428.208.745.585.745z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m10.273 2.513-.921-.944.715-.698.622.637.89-.011a2.89 2.89 0 0 1 2.924 2.924l-.01.89.636.622a2.89 2.89 0 0 1 0 4.134l-.637.622.011.89a2.89 2.89 0 0 1-2.924 2.924l-.89-.01-.622.636a2.89 2.89 0 0 1-4.134 0l-.622-.637-.89.011a2.89 2.89 0 0 1-2.924-2.924l.01-.89-.636-.622a2.89 2.89 0 0 1 0-4.134l.637-.622-.011-.89a2.89 2.89 0 0 1 2.924-2.924l.89.01.622-.636a2.89 2.89 0 0 1 4.134 0l-.715.698a1.89 1.89 0 0 0-2.704 0l-.92.944-1.32-.016a1.89 1.89 0 0 0-1.911 1.912l.016 1.318-.944.921a1.89 1.89 0 0 0 0 2.704l.944.92-.016 1.32a1.89 1.89 0 0 0 1.912 1.911l1.318-.016.921.944a1.89 1.89 0 0 0 2.704 0l.92-.944 1.32.016a1.89 1.89 0 0 0 1.911-1.912l-.016-1.318.944-.921a1.89 1.89 0 0 0 0-2.704l-.944-.92.016-1.32a1.89 1.89 0 0 0-1.912-1.911l-1.318.016z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}}]})(props);\n};\nexport function BsPauseBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.25-7C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsPauseBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsPauseCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.25 5C5.56 5 5 5.56 5 6.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C7.5 5.56 6.94 5 6.25 5zm3.5 0c-.69 0-1.25.56-1.25 1.25v3.5a1.25 1.25 0 1 0 2.5 0v-3.5C11 5.56 10.44 5 9.75 5z\"}}]})(props);\n};\nexport function BsPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.25a1.25 1.25 0 1 1 2.5 0v3.5a1.25 1.25 0 1 1-2.5 0v-3.5zm3.5 0a1.25 1.25 0 1 1 2.5 0v3.5a1.25 1.25 0 1 1-2.5 0v-3.5z\"}}]})(props);\n};\nexport function BsPauseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z\"}}]})(props);\n};\nexport function BsPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.06 3.713c.12-1.071-.093-1.832-.702-2.526C12.628.356 11.312 0 9.626 0H4.734a.7.7 0 0 0-.691.59L2.005 13.509a.42.42 0 0 0 .415.486h2.756l-.202 1.28a.628.628 0 0 0 .62.726H8.14c.429 0 .793-.31.862-.731l.025-.13.48-3.043.03-.164.001-.007a.351.351 0 0 1 .348-.297h.38c1.266 0 2.425-.256 3.345-.91.379-.27.712-.603.993-1.005a4.942 4.942 0 0 0 .88-2.195c.242-1.246.13-2.356-.57-3.154a2.687 2.687 0 0 0-.76-.59l-.094-.061zM6.543 8.82l-.845 5.213v.001l-.208 1.32c-.01.066.04.123.105.123H8.14c.173 0 .32-.125.348-.296v-.005l.026-.129.48-3.043.03-.164a.873.873 0 0 1 .862-.734h.38c1.201 0 2.24-.244 3.043-.815.797-.567 1.39-1.477 1.663-2.874.229-1.175.096-2.087-.45-2.71a2.126 2.126 0 0 0-.548-.438l-.003.016c-.645 3.312-2.853 4.456-5.672 4.456H6.864a.695.695 0 0 0-.321.079z\"}}]})(props);\n};\nexport function BsPeaceFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.292A8 8 0 0 0 8.5.015v7.778l5.5 5.5zm-.708.708L8.5 9.206v6.778a7.967 7.967 0 0 0 4.792-1.986zM7.5 15.985V9.207L2.708 14A7.967 7.967 0 0 0 7.5 15.985zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5z\"}}]})(props);\n};\nexport function BsPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.018a7 7 0 0 0-4.79 11.566L7.5 7.793V1.018zm1 0v6.775l4.79 4.79A7 7 0 0 0 8.5 1.018zm4.084 12.273L8.5 9.207v5.775a6.97 6.97 0 0 0 4.084-1.691zM7.5 14.982V9.207l-4.084 4.084A6.97 6.97 0 0 0 7.5 14.982zM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsPenFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001z\"}}]})(props);\n};\nexport function BsPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m13.498.795.149-.149a1.207 1.207 0 1 1 1.707 1.708l-.149.148a1.5 1.5 0 0 1-.059 2.059L4.854 14.854a.5.5 0 0 1-.233.131l-4 1a.5.5 0 0 1-.606-.606l1-4a.5.5 0 0 1 .131-.232l9.642-9.642a.5.5 0 0 0-.642.056L6.854 4.854a.5.5 0 1 1-.708-.708L9.44.854A1.5 1.5 0 0 1 11.5.796a1.5 1.5 0 0 1 1.998-.001zm-.644.766a.5.5 0 0 0-.707 0L1.95 11.756l-.764 3.057 3.057-.764L14.44 3.854a.5.5 0 0 0 0-.708l-1.585-1.585z\"}}]})(props);\n};\nexport function BsPencilFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z\"}}]})(props);\n};\nexport function BsPencilSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z\"}}]})(props);\n};\nexport function BsPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z\"}}]})(props);\n};\nexport function BsPentagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 0 8 6.5-3 9.5H3L0 6.5 8 0z\"}}]})(props);\n};\nexport function BsPentagonHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 1.288 6.842 5.56L12.267 15H8V1.288zM16 6.5 8 0 0 6.5 3 16h10l3-9.5z\"}}]})(props);\n};\nexport function BsPentagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 1.288 6.842 5.56L12.267 15H3.733L1.158 6.847 8 1.288zM16 6.5 8 0 0 6.5 3 16h10l3-9.5z\"}}]})(props);\n};\nexport function BsPeopleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H7zm4-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.216 14A2.238 2.238 0 0 1 5 13c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 0 0 5 9c-4 0-5 3-5 4s1 1 1 1h4.216z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]})(props);\n};\nexport function BsPeople (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1h8zm-7.978-1A.261.261 0 0 1 7 12.996c.001-.264.167-1.03.76-1.72C8.312 10.629 9.282 10 11 10c1.717 0 2.687.63 3.24 1.276.593.69.758 1.457.76 1.72l-.008.002a.274.274 0 0 1-.014.002H7.022zM11 7a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm3-2a3 3 0 1 1-6 0 3 3 0 0 1 6 0zM6.936 9.28a5.88 5.88 0 0 0-1.23-.247A7.35 7.35 0 0 0 5 9c-4 0-5 3-5 4 0 .667.333 1 1 1h4.216A2.238 2.238 0 0 1 5 13c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816zM4.92 10A5.493 5.493 0 0 0 4 13H1c0-.26.164-1.03.76-1.724.545-.636 1.492-1.256 3.16-1.275zM1.5 5.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm3-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4z\"}}]})(props);\n};\nexport function BsPercent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.442 2.558a.625.625 0 0 1 0 .884l-10 10a.625.625 0 1 1-.884-.884l10-10a.625.625 0 0 1 .884 0zM4.5 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm7 6a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 1a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z\"}}]})(props);\n};\nexport function BsPersonBadgeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm4.5 0a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm5 2.755C12.146 12.825 10.623 12 8 12s-4.146.826-5 1.755V14a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-.245z\"}}]})(props);\n};\nexport function BsPersonBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z\"}}]})(props);\n};\nexport function BsPersonBoundingBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsPersonCheckFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L12.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsPersonCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsPersonDashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11 7.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsPersonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsPersonLinesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-5 6s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zM11 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5zm.5 2.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4zm2 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2zm0 3a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1h-2z\"}}]})(props);\n};\nexport function BsPersonPlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPersonPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.5 5a.5.5 0 0 1 .5.5V7h1.5a.5.5 0 0 1 0 1H14v1.5a.5.5 0 0 1-1 0V8h-1.5a.5.5 0 0 1 0-1H13V5.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPersonSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1v-1c0-1-1-4-6-4s-6 3-6 4v1a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsPersonXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm6.146-2.854a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsPersonX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H1s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C9.516 10.68 8.289 10 6 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.146 5.146a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsPerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z\"}}]})(props);\n};\nexport function BsPhoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V2zm6 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsPhoneLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.5a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2zm11-6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsPhoneLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4.5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-6zm-1 6a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-6a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7.5a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsPhoneVibrateFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4zm5 7a1 1 0 1 0-2 0 1 1 0 0 0 2 0zM1.807 4.734a.5.5 0 1 0-.884-.468A7.967 7.967 0 0 0 0 8c0 1.347.334 2.618.923 3.734a.5.5 0 1 0 .884-.468A6.967 6.967 0 0 1 1 8c0-1.18.292-2.292.807-3.266zm13.27-.468a.5.5 0 0 0-.884.468C14.708 5.708 15 6.819 15 8c0 1.18-.292 2.292-.807 3.266a.5.5 0 0 0 .884.468A7.967 7.967 0 0 0 16 8a7.967 7.967 0 0 0-.923-3.734zM3.34 6.182a.5.5 0 1 0-.93-.364A5.986 5.986 0 0 0 2 8c0 .769.145 1.505.41 2.182a.5.5 0 1 0 .93-.364A4.986 4.986 0 0 1 3 8c0-.642.12-1.255.34-1.818zm10.25-.364a.5.5 0 0 0-.93.364c.22.563.34 1.176.34 1.818 0 .642-.12 1.255-.34 1.818a.5.5 0 0 0 .93.364C13.856 9.505 14 8.769 14 8c0-.769-.145-1.505-.41-2.182z\"}}]})(props);\n};\nexport function BsPhoneVibrate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4zM6 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM1.599 4.058a.5.5 0 0 1 .208.676A6.967 6.967 0 0 0 1 8c0 1.18.292 2.292.807 3.266a.5.5 0 0 1-.884.468A7.968 7.968 0 0 1 0 8c0-1.347.334-2.619.923-3.734a.5.5 0 0 1 .676-.208zm12.802 0a.5.5 0 0 1 .676.208A7.967 7.967 0 0 1 16 8a7.967 7.967 0 0 1-.923 3.734.5.5 0 0 1-.884-.468A6.967 6.967 0 0 0 15 8c0-1.18-.292-2.292-.807-3.266a.5.5 0 0 1 .208-.676zM3.057 5.534a.5.5 0 0 1 .284.648A4.986 4.986 0 0 0 3 8c0 .642.12 1.255.34 1.818a.5.5 0 1 1-.93.364A5.986 5.986 0 0 1 2 8c0-.769.145-1.505.41-2.182a.5.5 0 0 1 .647-.284zm9.886 0a.5.5 0 0 1 .648.284C13.855 6.495 14 7.231 14 8c0 .769-.145 1.505-.41 2.182a.5.5 0 0 1-.93-.364C12.88 9.255 13 8.642 13 8c0-.642-.12-1.255-.34-1.818a.5.5 0 0 1 .283-.648z\"}}]})(props);\n};\nexport function BsPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h6zM5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsPieChartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.985 8.5H8.207l-5.5 5.5a8 8 0 0 0 13.277-5.5zM2 13.292A8 8 0 0 1 7.5.015v7.778l-5.5 5.5zM8.5.015V7.5h7.485A8.001 8.001 0 0 0 8.5.015z\"}}]})(props);\n};\nexport function BsPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1.018a7 7 0 0 0-4.79 11.566L7.5 7.793V1.018zm1 0V7.5h6.482A7.001 7.001 0 0 0 8.5 1.018zM14.982 8.5H8.207l-4.79 4.79A7 7 0 0 0 14.982 8.5zM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsPiggyBankFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595zm7.173 3.876a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199zm-8.999-.65A6.613 6.613 0 0 1 7.964 4.5c.666 0 1.303.097 1.893.273a.5.5 0 1 0 .286-.958A7.601 7.601 0 0 0 7.964 3.5c-.734 0-1.441.103-2.102.292a.5.5 0 1 0 .276.962zM5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0z\"}}]})(props);\n};\nexport function BsPiggyBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm1.138-1.496A6.613 6.613 0 0 1 7.964 4.5c.666 0 1.303.097 1.893.273a.5.5 0 0 0 .286-.958A7.602 7.602 0 0 0 7.964 3.5c-.734 0-1.441.103-2.102.292a.5.5 0 1 0 .276.962z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.964 1.527c-2.977 0-5.571 1.704-6.32 4.125h-.55A1 1 0 0 0 .11 6.824l.254 1.46a1.5 1.5 0 0 0 1.478 1.243h.263c.3.513.688.978 1.145 1.382l-.729 2.477a.5.5 0 0 0 .48.641h2a.5.5 0 0 0 .471-.332l.482-1.351c.635.173 1.31.267 2.011.267.707 0 1.388-.095 2.028-.272l.543 1.372a.5.5 0 0 0 .465.316h2a.5.5 0 0 0 .478-.645l-.761-2.506C13.81 9.895 14.5 8.559 14.5 7.069c0-.145-.007-.29-.02-.431.261-.11.508-.266.705-.444.315.306.815.306.815-.417 0 .223-.5.223-.461-.026a.95.95 0 0 0 .09-.255.7.7 0 0 0-.202-.645.58.58 0 0 0-.707-.098.735.735 0 0 0-.375.562c-.024.243.082.48.32.654a2.112 2.112 0 0 1-.259.153c-.534-2.664-3.284-4.595-6.442-4.595zM2.516 6.26c.455-2.066 2.667-3.733 5.448-3.733 3.146 0 5.536 2.114 5.536 4.542 0 1.254-.624 2.41-1.67 3.248a.5.5 0 0 0-.165.535l.66 2.175h-.985l-.59-1.487a.5.5 0 0 0-.629-.288c-.661.23-1.39.359-2.157.359a6.558 6.558 0 0 1-2.157-.359.5.5 0 0 0-.635.304l-.525 1.471h-.979l.633-2.15a.5.5 0 0 0-.17-.534 4.649 4.649 0 0 1-1.284-1.541.5.5 0 0 0-.446-.275h-.56a.5.5 0 0 1-.492-.414l-.254-1.46h.933a.5.5 0 0 0 .488-.393zm12.621-.857a.565.565 0 0 1-.098.21.704.704 0 0 1-.044-.025c-.146-.09-.157-.175-.152-.223a.236.236 0 0 1 .117-.173c.049-.027.08-.021.113.012a.202.202 0 0 1 .064.199z\"}}]})(props);\n};\nexport function BsPinAngleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146z\"}}]})(props);\n};\nexport function BsPinAngle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.828.722a.5.5 0 0 1 .354.146l4.95 4.95a.5.5 0 0 1 0 .707c-.48.48-1.072.588-1.503.588-.177 0-.335-.018-.46-.039l-3.134 3.134a5.927 5.927 0 0 1 .16 1.013c.046.702-.032 1.687-.72 2.375a.5.5 0 0 1-.707 0l-2.829-2.828-3.182 3.182c-.195.195-1.219.902-1.414.707-.195-.195.512-1.22.707-1.414l3.182-3.182-2.828-2.829a.5.5 0 0 1 0-.707c.688-.688 1.673-.767 2.375-.72a5.922 5.922 0 0 1 1.013.16l3.134-3.133a2.772 2.772 0 0 1-.04-.461c0-.43.108-1.022.589-1.503a.5.5 0 0 1 .353-.146zm.122 2.112v-.002.002zm0-.002v.002a.5.5 0 0 1-.122.51L6.293 6.878a.5.5 0 0 1-.511.12H5.78l-.014-.004a4.507 4.507 0 0 0-.288-.076 4.922 4.922 0 0 0-.765-.116c-.422-.028-.836.008-1.175.15l5.51 5.509c.141-.34.177-.753.149-1.175a4.924 4.924 0 0 0-.192-1.054l-.004-.013v-.001a.5.5 0 0 1 .12-.512l3.536-3.535a.5.5 0 0 1 .532-.115l.096.022c.087.017.208.034.344.034.114 0 .23-.011.343-.04L9.927 2.028c-.029.113-.04.23-.04.343a1.779 1.779 0 0 0 .062.46z\"}}]})(props);\n};\nexport function BsPinFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354z\"}}]})(props);\n};\nexport function BsPinMapFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsPinMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.1 11.2a.5.5 0 0 1 .4-.2H6a.5.5 0 0 1 0 1H3.75L1.5 15h13l-2.25-3H10a.5.5 0 0 1 0-1h2.5a.5.5 0 0 1 .4.2l3 4a.5.5 0 0 1-.4.8H.5a.5.5 0 0 1-.4-.8l3-4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zM4 4a4 4 0 1 1 4.5 3.969V13.5a.5.5 0 0 1-1 0V7.97A4 4 0 0 1 4 3.999z\"}}]})(props);\n};\nexport function BsPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.146.146A.5.5 0 0 1 4.5 0h7a.5.5 0 0 1 .5.5c0 .68-.342 1.174-.646 1.479-.126.125-.25.224-.354.298v4.431l.078.048c.203.127.476.314.751.555C12.36 7.775 13 8.527 13 9.5a.5.5 0 0 1-.5.5h-4v4.5c0 .276-.224 1.5-.5 1.5s-.5-1.224-.5-1.5V10h-4a.5.5 0 0 1-.5-.5c0-.973.64-1.725 1.17-2.189A5.921 5.921 0 0 1 5 6.708V2.277a2.77 2.77 0 0 1-.354-.298C4.342 1.674 4 1.179 4 .5a.5.5 0 0 1 .146-.354zm1.58 1.408-.002-.001.002.001zm-.002-.001.002.001A.5.5 0 0 1 6 2v5a.5.5 0 0 1-.276.447h-.002l-.012.007-.054.03a4.922 4.922 0 0 0-.827.58c-.318.278-.585.596-.725.936h7.792c-.14-.34-.407-.658-.725-.936a4.915 4.915 0 0 0-.881-.61l-.012-.006h-.002A.5.5 0 0 1 10 7V2a.5.5 0 0 1 .295-.458 1.775 1.775 0 0 0 .351-.271c.08-.08.155-.17.214-.271H5.14c.06.1.133.191.214.271a1.78 1.78 0 0 0 .37.282z\"}}]})(props);\n};\nexport function BsPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 0 0-2.915 15.452c-.07-.633-.134-1.606.027-2.297.146-.625.938-3.977.938-3.977s-.239-.479-.239-1.187c0-1.113.645-1.943 1.448-1.943.682 0 1.012.512 1.012 1.127 0 .686-.437 1.712-.663 2.663-.188.796.4 1.446 1.185 1.446 1.422 0 2.515-1.5 2.515-3.664 0-1.915-1.377-3.254-3.342-3.254-2.276 0-3.612 1.707-3.612 3.471 0 .688.265 1.425.595 1.826a.24.24 0 0 1 .056.23c-.061.252-.196.796-.222.907-.035.146-.116.177-.268.107-1-.465-1.624-1.926-1.624-3.1 0-2.523 1.834-4.84 5.286-4.84 2.775 0 4.932 1.977 4.932 4.62 0 2.757-1.739 4.976-4.151 4.976-.811 0-1.573-.421-1.834-.919l-.498 1.902c-.181.695-.669 1.566-.995 2.097A8 8 0 1 0 8 0z\"}}]})(props);\n};\nexport function BsPipFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm7 6h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsPip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h13A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 12.5v-9zM1.5 3a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-3z\"}}]})(props);\n};\nexport function BsPlayBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsPlayBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsPlayCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407l3.5-2.5a.5.5 0 0 0 0-.814l-3.5-2.5z\"}}]})(props);\n};\nexport function BsPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.271 5.055a.5.5 0 0 1 .52.038l3.5 2.5a.5.5 0 0 1 0 .814l-3.5 2.5A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsPlayFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z\"}}]})(props);\n};\nexport function BsPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.804 8 5 4.633v6.734L10.804 8zm.792-.696a.802.802 0 0 1 0 1.392l-6.363 3.692C4.713 12.69 4 12.345 4 11.692V4.308c0-.653.713-.998 1.233-.696l6.363 3.692z\"}}]})(props);\n};\nexport function BsPlugFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 0a.5.5 0 0 1 .5.5V3h3V.5a.5.5 0 0 1 1 0V3h1a.5.5 0 0 1 .5.5v3A3.5 3.5 0 0 1 8.5 10c-.002.434-.01.845-.04 1.22-.041.514-.126 1.003-.317 1.424a2.083 2.083 0 0 1-.97 1.028C6.725 13.9 6.169 14 5.5 14c-.998 0-1.61.33-1.974.718A1.922 1.922 0 0 0 3 16H2c0-.616.232-1.367.797-1.968C3.374 13.42 4.261 13 5.5 13c.581 0 .962-.088 1.218-.219.241-.123.4-.3.514-.55.121-.266.193-.621.23-1.09.027-.34.035-.718.037-1.141A3.5 3.5 0 0 1 4 6.5v-3a.5.5 0 0 1 .5-.5h1V.5A.5.5 0 0 1 6 0zM5 4v2.5A2.5 2.5 0 0 0 7.5 9h1A2.5 2.5 0 0 0 11 6.5V4H5z\"}}]})(props);\n};\nexport function BsPlusCircleDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.176 0-.35.006-.523.017l.064.998a7.117 7.117 0 0 1 .918 0l.064-.998A8.113 8.113 0 0 0 8 0zM6.44.152c-.346.069-.684.16-1.012.27l.321.948c.287-.098.582-.177.884-.237L6.44.153zm4.132.271a7.946 7.946 0 0 0-1.011-.27l-.194.98c.302.06.597.14.884.237l.321-.947zm1.873.925a8 8 0 0 0-.906-.524l-.443.896c.275.136.54.29.793.459l.556-.831zM4.46.824c-.314.155-.616.33-.905.524l.556.83a7.07 7.07 0 0 1 .793-.458L4.46.824zM2.725 1.985c-.262.23-.51.478-.74.74l.752.66c.202-.23.418-.446.648-.648l-.66-.752zm11.29.74a8.058 8.058 0 0 0-.74-.74l-.66.752c.23.202.447.418.648.648l.752-.66zm1.161 1.735a7.98 7.98 0 0 0-.524-.905l-.83.556c.169.253.322.518.458.793l.896-.443zM1.348 3.555c-.194.289-.37.591-.524.906l.896.443c.136-.275.29-.54.459-.793l-.831-.556zM.423 5.428a7.945 7.945 0 0 0-.27 1.011l.98.194c.06-.302.14-.597.237-.884l-.947-.321zM15.848 6.44a7.943 7.943 0 0 0-.27-1.012l-.948.321c.098.287.177.582.237.884l.98-.194zM.017 7.477a8.113 8.113 0 0 0 0 1.046l.998-.064a7.117 7.117 0 0 1 0-.918l-.998-.064zM16 8a8.1 8.1 0 0 0-.017-.523l-.998.064a7.11 7.11 0 0 1 0 .918l.998.064A8.1 8.1 0 0 0 16 8zM.152 9.56c.069.346.16.684.27 1.012l.948-.321a6.944 6.944 0 0 1-.237-.884l-.98.194zm15.425 1.012c.112-.328.202-.666.27-1.011l-.98-.194c-.06.302-.14.597-.237.884l.947.321zM.824 11.54a8 8 0 0 0 .524.905l.83-.556a6.999 6.999 0 0 1-.458-.793l-.896.443zm13.828.905c.194-.289.37-.591.524-.906l-.896-.443c-.136.275-.29.54-.459.793l.831.556zm-12.667.83c.23.262.478.51.74.74l.66-.752a7.047 7.047 0 0 1-.648-.648l-.752.66zm11.29.74c.262-.23.51-.478.74-.74l-.752-.66c-.201.23-.418.447-.648.648l.66.752zm-1.735 1.161c.314-.155.616-.33.905-.524l-.556-.83a7.07 7.07 0 0 1-.793.458l.443.896zm-7.985-.524c.289.194.591.37.906.524l.443-.896a6.998 6.998 0 0 1-.793-.459l-.556.831zm1.873.925c.328.112.666.202 1.011.27l.194-.98a6.953 6.953 0 0 1-.884-.237l-.321.947zm4.132.271a7.944 7.944 0 0 0 1.012-.27l-.321-.948a6.954 6.954 0 0 1-.884.237l.194.98zm-2.083.135a8.1 8.1 0 0 0 1.046 0l-.064-.998a7.11 7.11 0 0 1-.918 0l-.064.998zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPlusLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a1 1 0 0 1 1 1v6h6a1 1 0 1 1 0 2H9v6a1 1 0 1 1-2 0V9H1a1 1 0 0 1 0-2h6V1a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsPlusSquareDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0c-.166 0-.33.016-.487.048l.194.98A1.51 1.51 0 0 1 2.5 1h.458V0H2.5zm2.292 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zm1.833 0h-.916v1h.916V0zm1.834 0h-.917v1h.917V0zm1.833 0h-.917v1h.917V0zM13.5 0h-.458v1h.458c.1 0 .199.01.293.029l.194-.981A2.51 2.51 0 0 0 13.5 0zm2.079 1.11a2.511 2.511 0 0 0-.69-.689l-.556.831c.164.11.305.251.415.415l.83-.556zM1.11.421a2.511 2.511 0 0 0-.689.69l.831.556c.11-.164.251-.305.415-.415L1.11.422zM16 2.5c0-.166-.016-.33-.048-.487l-.98.194c.018.094.028.192.028.293v.458h1V2.5zM.048 2.013A2.51 2.51 0 0 0 0 2.5v.458h1V2.5c0-.1.01-.199.029-.293l-.981-.194zM0 3.875v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 5.708v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zM0 7.542v.916h1v-.916H0zm15 .916h1v-.916h-1v.916zM0 9.375v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .916v.917h1v-.917H0zm16 .917v-.917h-1v.917h1zm-16 .917v.458c0 .166.016.33.048.487l.98-.194A1.51 1.51 0 0 1 1 13.5v-.458H0zm16 .458v-.458h-1v.458c0 .1-.01.199-.029.293l.981.194c.032-.158.048-.32.048-.487zM.421 14.89c.183.272.417.506.69.689l.556-.831a1.51 1.51 0 0 1-.415-.415l-.83.556zm14.469.689c.272-.183.506-.417.689-.69l-.831-.556c-.11.164-.251.305-.415.415l.556.83zm-12.877.373c.158.032.32.048.487.048h.458v-1H2.5c-.1 0-.199-.01-.293-.029l-.194.981zM13.5 16c.166 0 .33-.016.487-.048l-.194-.98A1.51 1.51 0 0 1 13.5 15h-.458v1h.458zm-9.625 0h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zm1.834-1v1h.916v-1h-.916zm1.833 1h.917v-1h-.917v1zm1.833 0h.917v-1h-.917v1zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z\"}}]})(props);\n};\nexport function BsPlusSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"}}]})(props);\n};\nexport function BsPower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.5 1v7h1V1h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8.812a4.999 4.999 0 0 1 2.578-4.375l-.485-.874A6 6 0 1 0 11 3.616l-.501.865A5 5 0 1 1 3 8.812z\"}}]})(props);\n};\nexport function BsPrinterFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}}]})(props);\n};\nexport function BsPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 8a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1a2 2 0 0 0-2 2v2H2a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h1v1a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-1h1a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-1V3a2 2 0 0 0-2-2H5zM4 3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2H4V3zm1 5a2 2 0 0 0-2 2v1H2a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1v-1a2 2 0 0 0-2-2H5zm7 2v3a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1z\"}}]})(props);\n};\nexport function BsPuzzleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .036-.054l.003-.01v-.008a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003l-.003-.01a.214.214 0 0 0-.036-.053.859.859 0 0 0-.27-.194C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.036.054l-.003.01v.002l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855z\"}}]})(props);\n};\nexport function BsPuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.112 3.645A1.5 1.5 0 0 1 4.605 2H7a.5.5 0 0 1 .5.5v.382c0 .696-.497 1.182-.872 1.469a.459.459 0 0 0-.115.118.113.113 0 0 0-.012.025L6.5 4.5v.003l.003.01c.004.01.014.028.036.053a.86.86 0 0 0 .27.194C7.09 4.9 7.51 5 8 5c.492 0 .912-.1 1.19-.24a.86.86 0 0 0 .271-.194.213.213 0 0 0 .039-.063v-.009a.112.112 0 0 0-.012-.025.459.459 0 0 0-.115-.118c-.375-.287-.872-.773-.872-1.469V2.5A.5.5 0 0 1 9 2h2.395a1.5 1.5 0 0 1 1.493 1.645L12.645 6.5h.237c.195 0 .42-.147.675-.48.21-.274.528-.52.943-.52.568 0 .947.447 1.154.862C15.877 6.807 16 7.387 16 8s-.123 1.193-.346 1.638c-.207.415-.586.862-1.154.862-.415 0-.733-.246-.943-.52-.255-.333-.48-.48-.675-.48h-.237l.243 2.855A1.5 1.5 0 0 1 11.395 14H9a.5.5 0 0 1-.5-.5v-.382c0-.696.497-1.182.872-1.469a.459.459 0 0 0 .115-.118.113.113 0 0 0 .012-.025L9.5 11.5v-.003a.214.214 0 0 0-.039-.064.859.859 0 0 0-.27-.193C8.91 11.1 8.49 11 8 11c-.491 0-.912.1-1.19.24a.859.859 0 0 0-.271.194.214.214 0 0 0-.039.063v.003l.001.006a.113.113 0 0 0 .012.025c.016.027.05.068.115.118.375.287.872.773.872 1.469v.382a.5.5 0 0 1-.5.5H4.605a1.5 1.5 0 0 1-1.493-1.645L3.356 9.5h-.238c-.195 0-.42.147-.675.48-.21.274-.528.52-.943.52-.568 0-.947-.447-1.154-.862C.123 9.193 0 8.613 0 8s.123-1.193.346-1.638C.553 5.947.932 5.5 1.5 5.5c.415 0 .733.246.943.52.255.333.48.48.675.48h.238l-.244-2.855zM4.605 3a.5.5 0 0 0-.498.55l.001.007.29 3.4A.5.5 0 0 1 3.9 7.5h-.782c-.696 0-1.182-.497-1.469-.872a.459.459 0 0 0-.118-.115.112.112 0 0 0-.025-.012L1.5 6.5h-.003a.213.213 0 0 0-.064.039.86.86 0 0 0-.193.27C1.1 7.09 1 7.51 1 8c0 .491.1.912.24 1.19.07.14.14.225.194.271a.213.213 0 0 0 .063.039H1.5l.006-.001a.112.112 0 0 0 .025-.012.459.459 0 0 0 .118-.115c.287-.375.773-.872 1.469-.872H3.9a.5.5 0 0 1 .498.542l-.29 3.408a.5.5 0 0 0 .497.55h1.878c-.048-.166-.195-.352-.463-.557-.274-.21-.52-.528-.52-.943 0-.568.447-.947.862-1.154C6.807 10.123 7.387 10 8 10s1.193.123 1.638.346c.415.207.862.586.862 1.154 0 .415-.246.733-.52.943-.268.205-.415.39-.463.557h1.878a.5.5 0 0 0 .498-.55l-.001-.007-.29-3.4A.5.5 0 0 1 12.1 8.5h.782c.696 0 1.182.497 1.469.872.05.065.091.099.118.115.013.008.021.01.025.012a.02.02 0 0 0 .006.001h.003a.214.214 0 0 0 .064-.039.86.86 0 0 0 .193-.27c.14-.28.24-.7.24-1.191 0-.492-.1-.912-.24-1.19a.86.86 0 0 0-.194-.271.215.215 0 0 0-.063-.039H14.5l-.006.001a.113.113 0 0 0-.025.012.459.459 0 0 0-.118.115c-.287.375-.773.872-1.469.872H12.1a.5.5 0 0 1-.498-.543l.29-3.407a.5.5 0 0 0-.497-.55H9.517c.048.166.195.352.463.557.274.21.52.528.52.943 0 .568-.447.947-.862 1.154C9.193 5.877 8.613 6 8 6s-1.193-.123-1.638-.346C5.947 5.447 5.5 5.068 5.5 4.5c0-.415.246-.733.52-.943.268-.205.415-.39.463-.557H4.605z\"}}]})(props);\n};\nexport function BsQuestionCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.496 6.033h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286a.237.237 0 0 0 .241.247zm2.325 6.443c.61 0 1.029-.394 1.029-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94 0 .533.425.927 1.01.927z\"}}]})(props);\n};\nexport function BsQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L.436 6.95c-.58.58-.58 1.519 0 2.098l6.516 6.516c.58.58 1.519.58 2.098 0l6.516-6.516c.58-.58.58-1.519 0-2.098L9.05.435zM5.495 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.95.435c.58-.58 1.52-.58 2.1 0l6.515 6.516c.58.58.58 1.519 0 2.098L9.05 15.565c-.58.58-1.519.58-2.098 0L.435 9.05a1.482 1.482 0 0 1 0-2.098L6.95.435zm1.4.7a.495.495 0 0 0-.7 0L1.134 7.65a.495.495 0 0 0 0 .7l6.516 6.516a.495.495 0 0 0 .7 0l6.516-6.516a.495.495 0 0 0 0-.7L8.35 1.134z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.075a.423.423 0 0 0 .43.44H4.9c.247 0 .442-.2.475-.445.159-1.17.962-2.022 2.393-2.022 1.222 0 2.342.611 2.342 2.082 0 1.132-.668 1.652-1.72 2.444-1.2.872-2.15 1.89-2.082 3.542l.005.386c.003.244.202.44.446.44h1.445c.247 0 .446-.2.446-.446v-.188c0-1.278.487-1.652 1.8-2.647 1.086-.826 2.217-1.743 2.217-3.667C12.667 1.301 10.393 0 7.903 0 5.645 0 3.17 1.053 3.001 4.075zm2.776 10.273c0 .95.758 1.652 1.8 1.652 1.085 0 1.832-.702 1.832-1.652 0-.985-.747-1.675-1.833-1.675-1.04 0-1.799.69-1.799 1.675z\"}}]})(props);\n};\nexport function BsQuestionOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zM5.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestionSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.496 6.033a.237.237 0 0 1-.24-.247C5.35 4.091 6.737 3.5 8.005 3.5c1.396 0 2.672.73 2.672 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.105a.25.25 0 0 1-.25.25h-.81a.25.25 0 0 1-.25-.246l-.004-.217c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.803 0-1.253.478-1.342 1.134-.018.137-.128.25-.266.25h-.825zm2.325 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\"}}]})(props);\n};\nexport function BsQuestionSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.255 5.786a.237.237 0 0 0 .241.247h.825c.138 0 .248-.113.266-.25.09-.656.54-1.134 1.342-1.134.686 0 1.314.343 1.314 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.003.217a.25.25 0 0 0 .25.246h.811a.25.25 0 0 0 .25-.25v-.105c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.267 0-2.655.59-2.75 2.286zm1.557 5.763c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"}}]})(props);\n};\nexport function BsRainbow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5a7 7 0 0 0-7 7 .5.5 0 0 1-1 0 8 8 0 1 1 16 0 .5.5 0 0 1-1 0 7 7 0 0 0-7-7zm0 2a5 5 0 0 0-5 5 .5.5 0 0 1-1 0 6 6 0 1 1 12 0 .5.5 0 0 1-1 0 5 5 0 0 0-5-5zm0 2a3 3 0 0 0-3 3 .5.5 0 0 1-1 0 4 4 0 1 1 8 0 .5.5 0 0 1-1 0 3 3 0 0 0-3-3zm0 2a1 1 0 0 0-1 1 .5.5 0 0 1-1 0 2 2 0 1 1 4 0 .5.5 0 0 1-1 0 1 1 0 0 0-1-1z\"}}]})(props);\n};\nexport function BsReceiptCutoff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zM11.5 4a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1zm0 2a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.354.646a.5.5 0 0 0-.801.13l-.5 1A.5.5 0 0 0 1 2v13H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1H15V2a.5.5 0 0 0-.053-.224l-.5-1a.5.5 0 0 0-.8-.13L13 1.293l-.646-.647a.5.5 0 0 0-.708 0L11 1.293l-.646-.647a.5.5 0 0 0-.708 0L9 1.293 8.354.646a.5.5 0 0 0-.708 0L7 1.293 6.354.646a.5.5 0 0 0-.708 0L5 1.293 4.354.646a.5.5 0 0 0-.708 0L3 1.293 2.354.646zm-.217 1.198.51.51a.5.5 0 0 0 .707 0L4 1.707l.646.647a.5.5 0 0 0 .708 0L6 1.707l.646.647a.5.5 0 0 0 .708 0L8 1.707l.646.647a.5.5 0 0 0 .708 0L10 1.707l.646.647a.5.5 0 0 0 .708 0L12 1.707l.646.647a.5.5 0 0 0 .708 0l.509-.51.137.274V15H2V2.118l.137-.274z\"}}]})(props);\n};\nexport function BsReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.92.506a.5.5 0 0 1 .434.14L3 1.293l.646-.647a.5.5 0 0 1 .708 0L5 1.293l.646-.647a.5.5 0 0 1 .708 0L7 1.293l.646-.647a.5.5 0 0 1 .708 0L9 1.293l.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .708 0l.646.647.646-.647a.5.5 0 0 1 .801.13l.5 1A.5.5 0 0 1 15 2v12a.5.5 0 0 1-.053.224l-.5 1a.5.5 0 0 1-.8.13L13 14.707l-.646.647a.5.5 0 0 1-.708 0L11 14.707l-.646.647a.5.5 0 0 1-.708 0L9 14.707l-.646.647a.5.5 0 0 1-.708 0L7 14.707l-.646.647a.5.5 0 0 1-.708 0L5 14.707l-.646.647a.5.5 0 0 1-.708 0L3 14.707l-.646.647a.5.5 0 0 1-.801-.13l-.5-1A.5.5 0 0 1 1 14V2a.5.5 0 0 1 .053-.224l.5-1a.5.5 0 0 1 .367-.27zm.217 1.338L2 2.118v11.764l.137.274.51-.51a.5.5 0 0 1 .707 0l.646.647.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.646.646.646-.646a.5.5 0 0 1 .708 0l.509.509.137-.274V2.118l-.137-.274-.51.51a.5.5 0 0 1-.707 0L12 1.707l-.646.647a.5.5 0 0 1-.708 0L10 1.707l-.646.647a.5.5 0 0 1-.708 0L8 1.707l-.646.647a.5.5 0 0 1-.708 0L6 1.707l-.646.647a.5.5 0 0 1-.708 0L4 1.707l-.646.647a.5.5 0 0 1-.708 0l-.509-.51z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 1 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm8-6a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5zm0 2a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 0 1h-1a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception0 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 13.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4 2a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4 5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5zm4 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8zm4 8a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsReception4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 11.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-2zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-5zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-8zm4-3a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1-.5-.5v-11z\"}}]})(props);\n};\nexport function BsRecordBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsRecordBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsRecordCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z\"}}]})(props);\n};\nexport function BsRecordCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z\"}}]})(props);\n};\nexport function BsRecordFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsRecord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsRecord2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13A5 5 0 1 0 8 3a5 5 0 0 0 0 10zm0-2a3 3 0 1 1 0-6 3 3 0 0 1 0 6z\"}}]})(props);\n};\nexport function BsRecord2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 8 3a5 5 0 0 0 0 10z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8a2 2 0 1 1-4 0 2 2 0 0 1 4 0z\"}}]})(props);\n};\nexport function BsRecycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.302 1.256a1.5 1.5 0 0 0-2.604 0l-1.704 2.98a.5.5 0 0 0 .869.497l1.703-2.981a.5.5 0 0 1 .868 0l2.54 4.444-1.256-.337a.5.5 0 1 0-.26.966l2.415.647a.5.5 0 0 0 .613-.353l.647-2.415a.5.5 0 1 0-.966-.259l-.333 1.242-2.532-4.431zM2.973 7.773l-1.255.337a.5.5 0 1 1-.26-.966l2.416-.647a.5.5 0 0 1 .612.353l.647 2.415a.5.5 0 0 1-.966.259l-.333-1.242-2.545 4.454a.5.5 0 0 0 .434.748H5a.5.5 0 0 1 0 1H1.723A1.5 1.5 0 0 1 .421 12.24l2.552-4.467zm10.89 1.463a.5.5 0 1 0-.868.496l1.716 3.004a.5.5 0 0 1-.434.748h-5.57l.647-.646a.5.5 0 1 0-.708-.707l-1.5 1.5a.498.498 0 0 0 0 .707l1.5 1.5a.5.5 0 1 0 .708-.707l-.647-.647h5.57a1.5 1.5 0 0 0 1.302-2.244l-1.716-3.004z\"}}]})(props);\n};\nexport function BsReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.167 8a.831.831 0 0 0-.83.83c0 .459.372.84.83.831a.831.831 0 0 0 0-1.661zm1.843 3.647c.315 0 1.403-.038 1.976-.611a.232.232 0 0 0 0-.306.213.213 0 0 0-.306 0c-.353.363-1.126.487-1.67.487-.545 0-1.308-.124-1.671-.487a.213.213 0 0 0-.306 0 .213.213 0 0 0 0 .306c.564.563 1.652.61 1.977.61zm.992-2.807c0 .458.373.83.831.83.458 0 .83-.381.83-.83a.831.831 0 0 0-1.66 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.828-1.165c-.315 0-.602.124-.812.325-.801-.573-1.9-.945-3.121-.993l.534-2.501 1.738.372a.83.83 0 1 0 .83-.869.83.83 0 0 0-.744.468l-1.938-.41a.203.203 0 0 0-.153.028.186.186 0 0 0-.086.134l-.592 2.788c-1.24.038-2.358.41-3.17.992-.21-.2-.496-.324-.81-.324a1.163 1.163 0 0 0-.478 2.224c-.02.115-.029.23-.029.353 0 1.795 2.091 3.256 4.669 3.256 2.577 0 4.668-1.451 4.668-3.256 0-.114-.01-.238-.029-.353.401-.181.688-.592.688-1.069 0-.65-.525-1.165-1.165-1.165z\"}}]})(props);\n};\nexport function BsReplyAllFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.021 11.9 3.453 8.62a.719.719 0 0 1 0-1.238L8.021 4.1a.716.716 0 0 1 1.079.619V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 1-.106.7L1.114 7.945a.5.5 0 0 1-.042.028.147.147 0 0 0 0 .252.503.503 0 0 1 .042.028l4.012 2.954a.5.5 0 1 1-.593.805L.539 9.073a1.147 1.147 0 0 1 0-1.946l3.994-2.94a.5.5 0 0 1 .699.106z\"}}]})(props);\n};\nexport function BsReplyAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.098 5.013a.144.144 0 0 1 .202.134V6.3a.5.5 0 0 0 .5.5c.667 0 2.013.005 3.3.822.984.624 1.99 1.76 2.595 3.876-1.02-.983-2.185-1.516-3.205-1.799a8.74 8.74 0 0 0-1.921-.306 7.404 7.404 0 0 0-.798.008h-.013l-.005.001h-.001L8.8 9.9l-.05-.498a.5.5 0 0 0-.45.498v1.153c0 .108-.11.176-.202.134L4.114 8.254a.502.502 0 0 0-.042-.028.147.147 0 0 1 0-.252.497.497 0 0 0 .042-.028l3.984-2.933zM9.3 10.386c.068 0 .143.003.223.006.434.02 1.034.086 1.7.271 1.326.368 2.896 1.202 3.94 3.08a.5.5 0 0 0 .933-.305c-.464-3.71-1.886-5.662-3.46-6.66-1.245-.79-2.527-.942-3.336-.971v-.66a1.144 1.144 0 0 0-1.767-.96l-3.994 2.94a1.147 1.147 0 0 0 0 1.946l3.994 2.94a1.144 1.144 0 0 0 1.767-.96v-.667z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.232 4.293a.5.5 0 0 0-.7-.106L.54 7.127a1.147 1.147 0 0 0 0 1.946l3.994 2.94a.5.5 0 1 0 .593-.805L1.114 8.254a.503.503 0 0 0-.042-.028.147.147 0 0 1 0-.252.5.5 0 0 0 .042-.028l4.012-2.954a.5.5 0 0 0 .106-.699z\"}}]})(props);\n};\nexport function BsReplyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.921 11.9 1.353 8.62a.719.719 0 0 1 0-1.238L5.921 4.1A.716.716 0 0 1 7 4.719V6c1.5 0 6 0 7 8-2.5-4.5-7-4-7-4v1.281c0 .56-.606.898-1.079.62z\"}}]})(props);\n};\nexport function BsReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.598 5.013a.144.144 0 0 1 .202.134V6.3a.5.5 0 0 0 .5.5c.667 0 2.013.005 3.3.822.984.624 1.99 1.76 2.595 3.876-1.02-.983-2.185-1.516-3.205-1.799a8.74 8.74 0 0 0-1.921-.306 7.404 7.404 0 0 0-.798.008h-.013l-.005.001h-.001L7.3 9.9l-.05-.498a.5.5 0 0 0-.45.498v1.153c0 .108-.11.176-.202.134L2.614 8.254a.503.503 0 0 0-.042-.028.147.147 0 0 1 0-.252.499.499 0 0 0 .042-.028l3.984-2.933zM7.8 10.386c.068 0 .143.003.223.006.434.02 1.034.086 1.7.271 1.326.368 2.896 1.202 3.94 3.08a.5.5 0 0 0 .933-.305c-.464-3.71-1.886-5.662-3.46-6.66-1.245-.79-2.527-.942-3.336-.971v-.66a1.144 1.144 0 0 0-1.767-.96l-3.994 2.94a1.147 1.147 0 0 0 0 1.946l3.994 2.94a1.144 1.144 0 0 0 1.767-.96v-.667z\"}}]})(props);\n};\nexport function BsRssFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2zm0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2zm.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-3-8.5a1 1 0 0 1 1-1c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1-1-1zm0 4a1 1 0 0 1 1-1 6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1-1-1z\"}}]})(props);\n};\nexport function BsRulers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h5v-1H2v-1h4v-1H4v-1h2v-1H2v-1h4V9H4V8h2V7H2V6h4V2h1v4h1V4h1v2h1V2h1v4h1V4h1v2h1V2h1v4h1V1a1 1 0 0 0-1-1H1z\"}}]})(props);\n};\nexport function BsSafeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.778 9.414A2 2 0 1 1 6.95 6.586a2 2 0 0 1 2.828 2.828z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 0A1.5 1.5 0 0 0 1 1.5V3H.5a.5.5 0 0 0 0 1H1v3.5H.5a.5.5 0 0 0 0 1H1V12H.5a.5.5 0 0 0 0 1H1v1.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 14.5 0h-12zm3.036 4.464 1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 1 1 .708-.708zM14 6.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsSafe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 1.5A1.5 1.5 0 0 1 2.5 0h12A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 14.5V13H.5a.5.5 0 0 1 0-1H1V8.5H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1V1.5zM2.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5h-12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5zM4.828 4.464a.5.5 0 0 1 .708 0l1.09 1.09a3.003 3.003 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3.002 3.002 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3.003 3.003 0 0 1 0-3.476l-1.09-1.09a.5.5 0 0 1 0-.708zM6.95 6.586a2 2 0 1 0 2.828 2.828A2 2 0 0 0 6.95 6.586z\"}}]})(props);\n};\nexport function BsSafe2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.563 8H5.035a3.482 3.482 0 0 1 .662-1.596l1.08 1.08c-.094.16-.167.332-.214.516zm.921-1.223-1.08-1.08A3.482 3.482 0 0 1 8 5.035v1.528c-.184.047-.357.12-.516.214zM9 6.563V5.035a3.482 3.482 0 0 1 1.596.662l-1.08 1.08A1.988 1.988 0 0 0 9 6.563zm1.223.921 1.08-1.08c.343.458.577 1.003.662 1.596h-1.528a1.989 1.989 0 0 0-.214-.516zM10.437 9h1.528a3.483 3.483 0 0 1-.662 1.596l-1.08-1.08c.094-.16.167-.332.214-.516zm-.921 1.223 1.08 1.08A3.483 3.483 0 0 1 9 11.965v-1.528c.184-.047.357-.12.516-.214zM8 10.437v1.528a3.483 3.483 0 0 1-1.596-.662l1.08-1.08c.16.094.332.167.516.214zm-1.223-.921-1.08 1.08A3.482 3.482 0 0 1 5.035 9h1.528c.047.184.12.357.214.516zM7.5 8.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5V3H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v4H.5a.5.5 0 0 0 0 1H1v.5A1.5 1.5 0 0 0 2.5 16h12a1.5 1.5 0 0 0 1.5-1.5v-12A1.5 1.5 0 0 0 14.5 1h-12zm6 3a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9z\"}}]})(props);\n};\nexport function BsSafe2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5A1.5 1.5 0 0 1 2.5 1h12A1.5 1.5 0 0 1 16 2.5v12a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 14.5V14H.5a.5.5 0 0 1 0-1H1V9H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1v-.5zM2.5 2a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-12a.5.5 0 0 0-.5-.5h-12z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.035 8h1.528c.047-.184.12-.357.214-.516l-1.08-1.08A3.482 3.482 0 0 0 5.035 8zm1.369-2.303 1.08 1.08c.16-.094.332-.167.516-.214V5.035a3.482 3.482 0 0 0-1.596.662zM9 5.035v1.528c.184.047.357.12.516.214l1.08-1.08A3.482 3.482 0 0 0 9 5.035zm2.303 1.369-1.08 1.08c.094.16.167.332.214.516h1.528a3.483 3.483 0 0 0-.662-1.596zM11.965 9h-1.528c-.047.184-.12.357-.214.516l1.08 1.08A3.483 3.483 0 0 0 11.965 9zm-1.369 2.303-1.08-1.08c-.16.094-.332.167-.516.214v1.528a3.483 3.483 0 0 0 1.596-.662zM8 11.965v-1.528a1.989 1.989 0 0 1-.516-.214l-1.08 1.08A3.483 3.483 0 0 0 8 11.965zm-2.303-1.369 1.08-1.08A1.988 1.988 0 0 1 6.563 9H5.035c.085.593.319 1.138.662 1.596zM4 8.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0zm4.5-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsSaveFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v7.793L4.854 6.646a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l3.5-3.5a.5.5 0 0 0-.708-.708L8.5 9.293V1.5z\"}}]})(props);\n};\nexport function BsSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v7.293l2.646-2.647a.5.5 0 0 1 .708.708l-3.5 3.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L7.5 9.293V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z\"}}]})(props);\n};\nexport function BsSave2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 1.5A1.5 1.5 0 0 1 10 0h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h6c-.314.418-.5.937-.5 1.5v6h-2a.5.5 0 0 0-.354.854l2.5 2.5a.5.5 0 0 0 .708 0l2.5-2.5A.5.5 0 0 0 10.5 7.5h-2v-6z\"}}]})(props);\n};\nexport function BsSave2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H9.5a1 1 0 0 0-1 1v4.5h2a.5.5 0 0 1 .354.854l-2.5 2.5a.5.5 0 0 1-.708 0l-2.5-2.5A.5.5 0 0 1 5.5 6.5h2V2a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h2.5a.5.5 0 0 1 0 1H2z\"}}]})(props);\n};\nexport function BsScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.5c-.614-.884-.074-1.962.858-2.5L8 7.226 11.642 1c.932.538 1.472 1.616.858 2.5L8.81 8.61l1.556 2.661a2.5 2.5 0 1 1-.794.637L8 9.73l-1.572 2.177a2.5 2.5 0 1 1-.794-.637L7.19 8.61 3.5 3.5zm2.5 10a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zm7 0a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0z\"}}]})(props);\n};\nexport function BsScrewdriver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m0 1 1-1 3.081 2.2a1 1 0 0 1 .419.815v.07a1 1 0 0 0 .293.708L10.5 9.5l.914-.305a1 1 0 0 1 1.023.242l3.356 3.356a1 1 0 0 1 0 1.414l-1.586 1.586a1 1 0 0 1-1.414 0l-3.356-3.356a1 1 0 0 1-.242-1.023L9.5 10.5 3.793 4.793a1 1 0 0 0-.707-.293h-.071a1 1 0 0 1-.814-.419L0 1zm11.354 9.646a.5.5 0 0 0-.708.708l3 3a.5.5 0 0 0 .708-.708l-3-3z\"}}]})(props);\n};\nexport function BsSdCardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 0H5.914a1.5 1.5 0 0 0-1.06.44L2.439 2.853A1.5 1.5 0 0 0 2 3.914V14.5A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 12.5 0zm-7 2.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2 0a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75zm2.75.75a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm1.25-.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2a.75.75 0 0 1 .75-.75z\"}}]})(props);\n};\nexport function BsSdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.25 3.5a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2zm2 0a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0v-2z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.914 0H12.5A1.5 1.5 0 0 1 14 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5V3.914c0-.398.158-.78.44-1.06L4.853.439A1.5 1.5 0 0 1 5.914 0zM13 1.5a.5.5 0 0 0-.5-.5H5.914a.5.5 0 0 0-.353.146L3.146 3.561A.5.5 0 0 0 3 3.914V14.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5v-13z\"}}]})(props);\n};\nexport function BsSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z\"}}]})(props);\n};\nexport function BsSegmentedNav (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6zm6 3h4V5H6v4zm9-1V6a1 1 0 0 0-1-1h-3v4h3a1 1 0 0 0 1-1z\"}}]})(props);\n};\nexport function BsServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.333 2.667C1.333 1.194 4.318 0 8 0s6.667 1.194 6.667 2.667V4c0 1.473-2.985 2.667-6.667 2.667S1.333 5.473 1.333 4V2.667z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.333 6.334v3C1.333 10.805 4.318 12 8 12s6.667-1.194 6.667-2.667V6.334a6.51 6.51 0 0 1-1.458.79C11.81 7.684 9.967 8 8 8c-1.966 0-3.809-.317-5.208-.876a6.508 6.508 0 0 1-1.458-.79z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.667 11.668a6.51 6.51 0 0 1-1.458.789c-1.4.56-3.242.876-5.21.876-1.966 0-3.809-.316-5.208-.876a6.51 6.51 0 0 1-1.458-.79v1.666C1.333 14.806 4.318 16 8 16s6.667-1.194 6.667-2.667v-1.665z\"}}]})(props);\n};\nexport function BsShareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5z\"}}]})(props);\n};\nexport function BsShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.499 2.499 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5zm-8.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z\"}}]})(props);\n};\nexport function BsShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.854 5.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsShieldExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.001 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.553.553 0 0 1-1.1 0L7.1 4.995z\"}}]})(props);\n};\nexport function BsShieldFillCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm2.146 5.146a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 7.793l2.646-2.647z\"}}]})(props);\n};\nexport function BsShieldFillExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm-.55 8.502L7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0zM8.002 12a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}}]})(props);\n};\nexport function BsShieldFillMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zM6 7.5a.5.5 0 0 1 0-1h4a.5.5 0 0 1 0 1H6z\"}}]})(props);\n};\nexport function BsShieldFillPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm-.5 5a.5.5 0 0 1 1 0v1.5H10a.5.5 0 0 1 0 1H8.5V9a.5.5 0 0 1-1 0V7.5H6a.5.5 0 0 1 0-1h1.5V5z\"}}]})(props);\n};\nexport function BsShieldFillX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zM6.854 5.146 8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsShieldFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShieldLockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0c-.69 0-1.843.265-2.928.56-1.11.3-2.229.655-2.887.87a1.54 1.54 0 0 0-1.044 1.262c-.596 4.477.787 7.795 2.465 9.99a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.775 11.775 0 0 0 2.517-2.453c1.678-2.195 3.061-5.513 2.465-9.99a1.541 1.541 0 0 0-1.044-1.263 62.467 62.467 0 0 0-2.887-.87C9.843.266 8.69 0 8 0zm0 5a1.5 1.5 0 0 1 .5 2.915l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99A1.5 1.5 0 0 1 8 5z\"}}]})(props);\n};\nexport function BsShieldLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 6.5a1.5 1.5 0 0 1-1 1.415l.385 1.99a.5.5 0 0 1-.491.595h-.788a.5.5 0 0 1-.49-.595l.384-1.99a1.5 1.5 0 1 1 2-1.415z\"}}]})(props);\n};\nexport function BsShieldMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 7a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsShieldPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V9a.5.5 0 0 1-1 0V7.5H6a.5.5 0 0 1 0-1h1.5V5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsShieldShaded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 14.933a.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067v13.866zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShieldSlashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525L1.093 3.093zm12.215 8.215L3.128 1.128A61.369 61.369 0 0 1 5.073.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616zm.338 3.046-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsShieldSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.093 3.093c-.465 4.275.885 7.46 2.513 9.589a11.777 11.777 0 0 0 2.517 2.453c.386.273.744.482 1.048.625.28.132.581.24.829.24s.548-.108.829-.24a7.159 7.159 0 0 0 1.048-.625 11.32 11.32 0 0 0 1.733-1.525l-.745-.745a10.27 10.27 0 0 1-1.578 1.392c-.346.244-.652.42-.893.533-.12.057-.218.095-.293.118a.55.55 0 0 1-.101.025.615.615 0 0 1-.1-.025 2.348 2.348 0 0 1-.294-.118 6.141 6.141 0 0 1-.893-.533 10.725 10.725 0 0 1-2.287-2.233C3.053 10.228 1.879 7.594 2.06 4.06l-.967-.967zM3.98 1.98l-.852-.852A58.935 58.935 0 0 1 5.072.559C6.157.266 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.483 3.626-.332 6.491-1.551 8.616l-.77-.77c1.042-1.915 1.72-4.469 1.29-7.702a.48.48 0 0 0-.33-.39c-.65-.213-1.75-.56-2.836-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524a49.7 49.7 0 0 0-1.357.39zm9.666 12.374-13-13 .708-.708 13 13-.707.707z\"}}]})(props);\n};\nexport function BsShieldX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.146 5.146a.5.5 0 0 1 .708 0L8 6.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 7l1.147 1.146a.5.5 0 0 1-.708.708L8 7.707 6.854 8.854a.5.5 0 1 1-.708-.708L7.293 7 6.146 5.854a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z\"}}]})(props);\n};\nexport function BsShiftFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047z\"}}]})(props);\n};\nexport function BsShift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.27 2.047a1 1 0 0 1 1.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H11.5v3a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1v-3H1.654C.78 10.5.326 9.455.924 8.816L7.27 2.047zM14.346 9.5 8 2.731 1.654 9.5H4.5a1 1 0 0 1 1 1v3h5v-3a1 1 0 0 1 1-1h2.846z\"}}]})(props);\n};\nexport function BsShopWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 1.35A1 1 0 0 1 3.73 1h8.54a1 1 0 0 1 .76.35l2.609 3.044A1.5 1.5 0 0 1 16 5.37v.255a2.375 2.375 0 0 1-4.25 1.458A2.371 2.371 0 0 1 9.875 8 2.37 2.37 0 0 1 8 7.083 2.37 2.37 0 0 1 6.125 8a2.37 2.37 0 0 1-1.875-.917A2.375 2.375 0 0 1 0 5.625V5.37a1.5 1.5 0 0 1 .361-.976l2.61-3.045zm1.78 4.275a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 1 0 2.75 0V5.37a.5.5 0 0 0-.12-.325L12.27 2H3.73L1.12 5.045A.5.5 0 0 0 1 5.37v.255a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0zM1.5 8.5A.5.5 0 0 1 2 9v6h12V9a.5.5 0 0 1 1 0v6h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V9a.5.5 0 0 1 .5-.5zm2 .5a.5.5 0 0 1 .5.5V13h8V9.5a.5.5 0 0 1 1 0V13a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V9.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsShop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.97 1.35A1 1 0 0 1 3.73 1h8.54a1 1 0 0 1 .76.35l2.609 3.044A1.5 1.5 0 0 1 16 5.37v.255a2.375 2.375 0 0 1-4.25 1.458A2.371 2.371 0 0 1 9.875 8 2.37 2.37 0 0 1 8 7.083 2.37 2.37 0 0 1 6.125 8a2.37 2.37 0 0 1-1.875-.917A2.375 2.375 0 0 1 0 5.625V5.37a1.5 1.5 0 0 1 .361-.976l2.61-3.045zm1.78 4.275a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0 1.375 1.375 0 1 0 2.75 0V5.37a.5.5 0 0 0-.12-.325L12.27 2H3.73L1.12 5.045A.5.5 0 0 0 1 5.37v.255a1.375 1.375 0 0 0 2.75 0 .5.5 0 0 1 1 0zM1.5 8.5A.5.5 0 0 1 2 9v6h1v-5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v5h6V9a.5.5 0 0 1 1 0v6h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1V9a.5.5 0 0 1 .5-.5zM4 15h3v-5H4v5zm5-5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1v-3zm3 0h-2v3h2v-3z\"}}]})(props);\n};\nexport function BsShuffle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 3.5A.5.5 0 0 1 .5 3H1c2.202 0 3.827 1.24 4.874 2.418.49.552.865 1.102 1.126 1.532.26-.43.636-.98 1.126-1.532C9.173 4.24 10.798 3 13 3v1c-1.798 0-3.173 1.01-4.126 2.082A9.624 9.624 0 0 0 7.556 8a9.624 9.624 0 0 0 1.317 1.918C9.828 10.99 11.204 12 13 12v1c-2.202 0-3.827-1.24-4.874-2.418A10.595 10.595 0 0 1 7 9.05c-.26.43-.636.98-1.126 1.532C4.827 11.76 3.202 13 1 13H.5a.5.5 0 0 1 0-1H1c1.798 0 3.173-1.01 4.126-2.082A9.624 9.624 0 0 0 6.444 8a9.624 9.624 0 0 0-1.317-1.918C4.172 5.01 2.796 4 1 4H.5a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5.466V1.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192zm0 9v-3.932a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384l-2.36 1.966a.25.25 0 0 1-.41-.192z\"}}]})(props);\n};\nexport function BsSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m6.08.234.179.727a7.264 7.264 0 0 0-2.01.832l-.383-.643A7.9 7.9 0 0 1 6.079.234zm3.84 0L9.742.96a7.265 7.265 0 0 1 2.01.832l.388-.643A7.957 7.957 0 0 0 9.92.234zm-8.77 3.63a7.944 7.944 0 0 0-.916 2.215l.727.18a7.264 7.264 0 0 1 .832-2.01l-.643-.386zM.75 8a7.3 7.3 0 0 1 .081-1.086L.091 6.8a8 8 0 0 0 0 2.398l.74-.112A7.262 7.262 0 0 1 .75 8zm11.384 6.848-.384-.64a7.23 7.23 0 0 1-2.007.831l.18.728a7.965 7.965 0 0 0 2.211-.919zM15.251 8c0 .364-.028.727-.082 1.086l.74.112a7.966 7.966 0 0 0 0-2.398l-.74.114c.054.36.082.722.082 1.086zm.516 1.918-.728-.18a7.252 7.252 0 0 1-.832 2.012l.643.387a7.933 7.933 0 0 0 .917-2.219zm-6.68 5.25c-.72.11-1.453.11-2.173 0l-.112.742a7.99 7.99 0 0 0 2.396 0l-.112-.741zm4.75-2.868a7.229 7.229 0 0 1-1.537 1.534l.446.605a8.07 8.07 0 0 0 1.695-1.689l-.604-.45zM12.3 2.163c.587.432 1.105.95 1.537 1.537l.604-.45a8.06 8.06 0 0 0-1.69-1.691l-.45.604zM2.163 3.7A7.242 7.242 0 0 1 3.7 2.163l-.45-.604a8.06 8.06 0 0 0-1.691 1.69l.604.45zm12.688.163-.644.387c.377.623.658 1.3.832 2.007l.728-.18a7.931 7.931 0 0 0-.916-2.214zM6.913.831a7.254 7.254 0 0 1 2.172 0l.112-.74a7.985 7.985 0 0 0-2.396 0l.112.74zM2.547 14.64 1 15l.36-1.549-.729-.17-.361 1.548a.75.75 0 0 0 .9.902l1.548-.357-.17-.734zM.786 12.612l.732.168.25-1.073A7.187 7.187 0 0 1 .96 9.74l-.727.18a8 8 0 0 0 .736 1.902l-.184.79zm3.5 1.623-1.073.25.17.731.79-.184c.6.327 1.239.574 1.902.737l.18-.728a7.197 7.197 0 0 1-1.962-.811l-.007.005zM8 1.5a6.502 6.502 0 0 0-6.498 6.502 6.516 6.516 0 0 0 .998 3.455l-.625 2.668L4.54 13.5a6.502 6.502 0 0 0 6.93-11A6.516 6.516 0 0 0 8 1.5\"}}]})(props);\n};\nexport function BsSignpost2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsSignpost2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 1.414V2H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h5v1H2.5a1 1 0 0 0-.8.4L.725 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4H7v5h2v-5h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H9V6h4.5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.3 2.4a1 1 0 0 0-.8-.4H9v-.586a1 1 0 0 0-2 0zM13.5 3l.75 1-.75 1H2V3h11.5zm.5 5v2H2.5l-.75-1 .75-1H14z\"}}]})(props);\n};\nexport function BsSignpostFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.293.707A1 1 0 0 0 7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414A1 1 0 0 0 7.293.707z\"}}]})(props);\n};\nexport function BsSignpostSplitFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 16h2V6h5a1 1 0 0 0 .8-.4l.975-1.3a.5.5 0 0 0 0-.6L14.8 2.4A1 1 0 0 0 14 2H9v-.586a1 1 0 0 0-2 0V7H2a1 1 0 0 0-.8.4L.225 8.7a.5.5 0 0 0 0 .6l.975 1.3a1 1 0 0 0 .8.4h5v5z\"}}]})(props);\n};\nexport function BsSignpostSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7V1.414a1 1 0 0 1 2 0V2h5a1 1 0 0 1 .8.4l.975 1.3a.5.5 0 0 1 0 .6L14.8 5.6a1 1 0 0 1-.8.4H9v10H7v-5H2a1 1 0 0 1-.8-.4L.225 9.3a.5.5 0 0 1 0-.6L1.2 7.4A1 1 0 0 1 2 7h5zm1 3V8H2l-.75 1L2 10h6zm0-5h6l.75-1L14 3H8v2z\"}}]})(props);\n};\nexport function BsSignpost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 1.414V4H2a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h5v6h2v-6h3.532a1 1 0 0 0 .768-.36l1.933-2.32a.5.5 0 0 0 0-.64L13.3 4.36a1 1 0 0 0-.768-.36H9V1.414a1 1 0 0 0-2 0zM12.532 5l1.666 2-1.666 2H2V5h10.532z\"}}]})(props);\n};\nexport function BsSimFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4.5a.5.5 0 0 1 .5-.5h2v2H5V4.5zM8.5 6V4h2a.5.5 0 0 1 .5.5V6H8.5zM5 7h6v2H5V7zm3.5 3H11v1.5a.5.5 0 0 1-.5.5h-2v-2zm-1 0v2h-2a.5.5 0 0 1-.5-.5V10h2.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 0A1.5 1.5 0 0 0 2 1.5v13A1.5 1.5 0 0 0 3.5 16h9a1.5 1.5 0 0 0 1.5-1.5V3.414a1.5 1.5 0 0 0-.44-1.06L11.647.439A1.5 1.5 0 0 0 10.586 0H3.5zm2 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7A1.5 1.5 0 0 1 5.5 3z\"}}]})(props);\n};\nexport function BsSim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1.5A1.5 1.5 0 0 1 3.5 0h7.086a1.5 1.5 0 0 1 1.06.44l1.915 1.914A1.5 1.5 0 0 1 14 3.414V14.5a1.5 1.5 0 0 1-1.5 1.5h-9A1.5 1.5 0 0 1 2 14.5v-13zM3.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V3.414a.5.5 0 0 0-.146-.353l-1.915-1.915A.5.5 0 0 0 10.586 1H3.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 4a.5.5 0 0 0-.5.5V6h2.5V4h-2zm3 0v2H11V4.5a.5.5 0 0 0-.5-.5h-2zM11 7H5v2h6V7zm0 3H8.5v2h2a.5.5 0 0 0 .5-.5V10zm-3.5 2v-2H5v1.5a.5.5 0 0 0 .5.5h2zM4 4.5A1.5 1.5 0 0 1 5.5 3h5A1.5 1.5 0 0 1 12 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-5A1.5 1.5 0 0 1 4 11.5v-7z\"}}]})(props);\n};\nexport function BsSkipBackwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm11.21-6.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipBackwardBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.21 5.093A.5.5 0 0 1 12 5.5v5a.5.5 0 0 1-.79.407L8.5 8.972V10.5a.5.5 0 0 1-.79.407L5 8.972V10.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0v1.528l2.71-1.935a.5.5 0 0 1 .79.407v1.528l2.71-1.935z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipBackwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.79-2.907L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipBackwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.729 5.055a.5.5 0 0 0-.52.038L8.5 7.028V5.5a.5.5 0 0 0-.79-.407L5 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407V8.972l2.71 1.935A.5.5 0 0 0 12 10.5v-5a.5.5 0 0 0-.271-.445z\"}}]})(props);\n};\nexport function BsSkipBackwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 0 0 4v8a.5.5 0 0 0 1 0V8.753l6.267 3.636c.54.313 1.233-.066 1.233-.697v-2.94l6.267 3.636c.54.314 1.233-.065 1.233-.696V4.308c0-.63-.693-1.01-1.233-.696L8.5 7.248v-2.94c0-.63-.692-1.01-1.233-.696L1 7.248V4a.5.5 0 0 0-.5-.5z\"}}]})(props);\n};\nexport function BsSkipBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 3.5A.5.5 0 0 1 1 4v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v2.94l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L8.5 8.752v2.94c0 .653-.713.998-1.233.696L1 8.752V12a.5.5 0 0 1-1 0V4a.5.5 0 0 1 .5-.5zm7 1.133L1.696 8 7.5 11.367V4.633zm7.5 0L9.196 8 15 11.367V4.633z\"}}]})(props);\n};\nexport function BsSkipEndBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.79-6.907A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsSkipEndBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.79 5.093 9.5 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .79-.407z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipEndCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.79 5.093A.5.5 0 0 0 6 5.5v5a.5.5 0 0 0 .79.407L9.5 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L6.79 5.093z\"}}]})(props);\n};\nexport function BsSkipEndCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.271 5.055a.5.5 0 0 1 .52.038L9.5 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935A.5.5 0 0 1 6 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsSkipEndFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.693 3.3 4 3.678 4 4.308v7.384c0 .63.692 1.01 1.233.697L11.5 8.753V12a.5.5 0 0 0 1 0V4z\"}}]})(props);\n};\nexport function BsSkipEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 4a.5.5 0 0 0-1 0v3.248L5.233 3.612C4.713 3.31 4 3.655 4 4.308v7.384c0 .653.713.998 1.233.696L11.5 8.752V12a.5.5 0 0 0 1 0V4zM5 4.633 10.804 8 5 11.367V4.633z\"}}]})(props);\n};\nexport function BsSkipForwardBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 10V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm4.79-6.907A.5.5 0 0 0 4 3.5v5a.5.5 0 0 0 .79.407L7.5 6.972V8.5a.5.5 0 0 0 .79.407L11 6.972V8.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 3.093a.5.5 0 0 0-.79.407v1.528L4.79 3.093z\"}}]})(props);\n};\nexport function BsSkipForwardBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipForwardCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.79 5.093A.5.5 0 0 0 4 5.5v5a.5.5 0 0 0 .79.407L7.5 8.972V10.5a.5.5 0 0 0 .79.407L11 8.972V10.5a.5.5 0 0 0 1 0v-5a.5.5 0 0 0-1 0v1.528L8.29 5.093a.5.5 0 0 0-.79.407v1.528L4.79 5.093z\"}}]})(props);\n};\nexport function BsSkipForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.271 5.055a.5.5 0 0 1 .52.038L7.5 7.028V5.5a.5.5 0 0 1 .79-.407L11 7.028V5.5a.5.5 0 0 1 1 0v5a.5.5 0 0 1-1 0V8.972l-2.71 1.935a.5.5 0 0 1-.79-.407V8.972l-2.71 1.935A.5.5 0 0 1 4 10.5v-5a.5.5 0 0 1 .271-.445z\"}}]})(props);\n};\nexport function BsSkipForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.753l-6.267 3.636c-.54.313-1.233-.066-1.233-.697v-2.94l-6.267 3.636C.693 12.703 0 12.324 0 11.693V4.308c0-.63.693-1.01 1.233-.696L7.5 7.248v-2.94c0-.63.693-1.01 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsSkipForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3.5a.5.5 0 0 1 .5.5v8a.5.5 0 0 1-1 0V8.752l-6.267 3.636c-.52.302-1.233-.043-1.233-.696v-2.94l-6.267 3.636C.713 12.69 0 12.345 0 11.692V4.308c0-.653.713-.998 1.233-.696L7.5 7.248v-2.94c0-.653.713-.998 1.233-.696L15 7.248V4a.5.5 0 0 1 .5-.5zM1 4.633v6.734L6.804 8 1 4.633zm7.5 0v6.734L14.304 8 8.5 4.633z\"}}]})(props);\n};\nexport function BsSkipStartBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm9.71-6.907L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipStartBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.71 5.093a.5.5 0 0 1 .79.407v5a.5.5 0 0 1-.79.407L7 8.972V10.5a.5.5 0 0 1-1 0v-5a.5.5 0 0 1 1 0v1.528l2.71-1.935z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsSkipStartCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM9.71 5.093 7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.79-.407z\"}}]})(props);\n};\nexport function BsSkipStartCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.229 5.055a.5.5 0 0 0-.52.038L7 7.028V5.5a.5.5 0 0 0-1 0v5a.5.5 0 0 0 1 0V8.972l2.71 1.935a.5.5 0 0 0 .79-.407v-5a.5.5 0 0 0-.271-.445z\"}}]})(props);\n};\nexport function BsSkipStartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.54-.313 1.232.066 1.232.696v7.384c0 .63-.692 1.01-1.232.697L5 8.753V12a.5.5 0 0 1-1 0V4z\"}}]})(props);\n};\nexport function BsSkipStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a.5.5 0 0 1 1 0v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L5 8.752V12a.5.5 0 0 1-1 0V4zm7.5.633L5.696 8l5.804 3.367V4.633z\"}}]})(props);\n};\nexport function BsSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.671 0c.88 0 1.733.247 2.468.702a7.423 7.423 0 0 1 6.02 2.118 7.372 7.372 0 0 1 2.167 5.215c0 .344-.024.687-.072 1.026a4.662 4.662 0 0 1 .6 2.281 4.645 4.645 0 0 1-1.37 3.294A4.673 4.673 0 0 1 11.18 16c-.84 0-1.658-.226-2.37-.644a7.423 7.423 0 0 1-6.114-2.107A7.374 7.374 0 0 1 .529 8.035c0-.363.026-.724.08-1.081a4.644 4.644 0 0 1 .76-5.59A4.68 4.68 0 0 1 4.67 0zm.447 7.01c.18.309.43.572.729.769a7.07 7.07 0 0 0 1.257.653c.492.205.873.38 1.145.523.229.112.437.264.615.448.135.142.21.331.21.528a.872.872 0 0 1-.335.723c-.291.196-.64.289-.99.264a2.618 2.618 0 0 1-1.048-.206 11.44 11.44 0 0 1-.532-.253 1.284 1.284 0 0 0-.587-.15.717.717 0 0 0-.501.176.63.63 0 0 0-.195.491.796.796 0 0 0 .148.482 1.2 1.2 0 0 0 .456.354 5.113 5.113 0 0 0 2.212.419 4.554 4.554 0 0 0 1.624-.265 2.296 2.296 0 0 0 1.08-.801c.267-.39.402-.855.386-1.327a2.09 2.09 0 0 0-.279-1.101 2.53 2.53 0 0 0-.772-.792A7.198 7.198 0 0 0 8.486 7.3a1.05 1.05 0 0 0-.145-.058 18.182 18.182 0 0 1-1.013-.447 1.827 1.827 0 0 1-.54-.387.727.727 0 0 1-.2-.508.805.805 0 0 1 .385-.723 1.76 1.76 0 0 1 .968-.247c.26-.003.52.03.772.096.274.079.542.177.802.293.105.049.22.075.336.076a.6.6 0 0 0 .453-.19.69.69 0 0 0 .18-.496.717.717 0 0 0-.17-.476 1.374 1.374 0 0 0-.556-.354 3.69 3.69 0 0 0-.708-.183 5.963 5.963 0 0 0-1.022-.078 4.53 4.53 0 0 0-1.536.258 2.71 2.71 0 0 0-1.174.784 1.91 1.91 0 0 0-.45 1.287c-.01.37.076.736.25 1.063z\"}}]})(props);\n};\nexport function BsSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.362 10.11c0 .926-.756 1.681-1.681 1.681S0 11.036 0 10.111C0 9.186.756 8.43 1.68 8.43h1.682v1.68zm.846 0c0-.924.756-1.68 1.681-1.68s1.681.756 1.681 1.68v4.21c0 .924-.756 1.68-1.68 1.68a1.685 1.685 0 0 1-1.682-1.68v-4.21zM5.89 3.362c-.926 0-1.682-.756-1.682-1.681S4.964 0 5.89 0s1.68.756 1.68 1.68v1.682H5.89zm0 .846c.924 0 1.68.756 1.68 1.681S6.814 7.57 5.89 7.57H1.68C.757 7.57 0 6.814 0 5.89c0-.926.756-1.682 1.68-1.682h4.21zm6.749 1.682c0-.926.755-1.682 1.68-1.682.925 0 1.681.756 1.681 1.681s-.756 1.681-1.68 1.681h-1.681V5.89zm-.848 0c0 .924-.755 1.68-1.68 1.68A1.685 1.685 0 0 1 8.43 5.89V1.68C8.43.757 9.186 0 10.11 0c.926 0 1.681.756 1.681 1.68v4.21zm-1.681 6.748c.926 0 1.682.756 1.682 1.681S11.036 16 10.11 16s-1.681-.756-1.681-1.68v-1.682h1.68zm0-.847c-.924 0-1.68-.755-1.68-1.68 0-.925.756-1.681 1.68-1.681h4.21c.924 0 1.68.756 1.68 1.68 0 .926-.756 1.681-1.68 1.681h-4.21z\"}}]})(props);\n};\nexport function BsSlashCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.646-2.646a.5.5 0 0 0-.708-.708l-6 6a.5.5 0 0 0 .708.708l6-6z\"}}]})(props);\n};\nexport function BsSlashCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 0-.708 0l-6 6a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708z\"}}]})(props);\n};\nexport function BsSlashLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.707 1.293a1 1 0 0 1 0 1.414l-12 12a1 1 0 0 1-1.414-1.414l12-12a1 1 0 0 1 1.414 0z\"}}]})(props);\n};\nexport function BsSlashSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm9.354 5.354-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708.708z\"}}]})(props);\n};\nexport function BsSlashSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 4.646a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708l6-6a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsSliders (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM9.05 3a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0V3h9.05zM4.5 7a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zM2.05 8a2.5 2.5 0 0 1 4.9 0H16v1H6.95a2.5 2.5 0 0 1-4.9 0H0V8h2.05zm9.45 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-2.45 1a2.5 2.5 0 0 1 4.9 0H16v1h-2.05a2.5 2.5 0 0 1-4.9 0H0v-1h9.05z\"}}]})(props);\n};\nexport function BsSmartwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 5a.5.5 0 0 0-1 0v3H6a.5.5 0 0 0 0 1h2.5a.5.5 0 0 0 .5-.5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1.667v.383A2.5 2.5 0 0 0 2 4.5v7a2.5 2.5 0 0 0 2 2.45v.383C4 15.253 4.746 16 5.667 16h4.666c.92 0 1.667-.746 1.667-1.667v-.383a2.5 2.5 0 0 0 2-2.45V8h.5a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5H14v-.5a2.5 2.5 0 0 0-2-2.45v-.383C12 .747 11.254 0 10.333 0H5.667C4.747 0 4 .746 4 1.667zM4.5 3h7A1.5 1.5 0 0 1 13 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-7A1.5 1.5 0 0 1 3 11.5v-7A1.5 1.5 0 0 1 4.5 3z\"}}]})(props);\n};\nexport function BsSnapchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.98 11.93c-.068-.232-.405-.395-.405-.395l-.082-.044a6.462 6.462 0 0 1-1.466-.96 5.028 5.028 0 0 1-.85-.966 3.775 3.775 0 0 1-.47-.966c-.03-.126-.027-.173 0-.238a.36.36 0 0 1 .116-.13c.187-.132.49-.33.677-.448.16-.106.3-.194.381-.252.262-.184.439-.367.544-.568a.987.987 0 0 0 .048-.827c-.143-.377-.497-.605-.946-.605-.098 0-.204.01-.306.034a4.325 4.325 0 0 0-.707.228c-.014.007-.03-.007-.03-.02.02-.507.043-1.188-.011-1.834-.051-.585-.17-1.078-.368-1.507a4.053 4.053 0 0 0-.656-.983 3.989 3.989 0 0 0-1.037-.833C9.697.207 8.88 0 7.992 0c-.888 0-1.7.207-2.419.616a4.043 4.043 0 0 0-1.037.833c-.2.231-.46.551-.656.983-.198.429-.317.922-.368 1.507-.054.65-.034 1.276-.01 1.833 0 .017-.017.028-.03.02a5.195 5.195 0 0 0-.705-.227 1.34 1.34 0 0 0-.306-.034c-.449 0-.803.228-.946.605a.975.975 0 0 0 .048.827c.105.2.286.388.544.568.082.058.218.146.381.252.18.119.476.31.664.442a.434.434 0 0 1 .129.14c.027.068.03.115-.004.248-.057.194-.19.54-.466.956a4.99 4.99 0 0 1-.85.966 6.468 6.468 0 0 1-1.456.959c-.027.014-.058.027-.092.047 0 0-.333.17-.394.388-.092.323.153.626.405.79.411.265.915.408 1.204.486.081.02.153.04.22.061a.457.457 0 0 1 .191.112c.058.072.065.164.085.266.03.17.102.38.313.527.232.16.527.17.898.187.391.014.878.034 1.432.218.259.085.49.228.762.394.565.347 1.266.78 2.466.78 1.201 0 1.909-.436 2.477-.783.268-.163.5-.306.752-.391.554-.184 1.04-.2 1.432-.218.374-.014.666-.024.898-.187.224-.156.292-.388.32-.565.016-.085.027-.163.078-.228.04-.054.139-.091.183-.108l.228-.065c.293-.078.657-.17 1.099-.422.537-.3.575-.67.517-.854z\"}}]})(props);\n};\nexport function BsSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793V8.866l-3.4 1.963-.496 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.884-.237a.5.5 0 1 1 .26-.966l1.848.495L7 8 3.6 6.037l-1.85.495a.5.5 0 0 1-.258-.966l.883-.237-1.12-.646a.5.5 0 1 1 .5-.866l1.12.646-.237-.883a.5.5 0 1 1 .966-.258l.495 1.849L7.5 7.134V3.207L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 1 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v3.927l3.4-1.963.496-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495L9 8l3.4 1.963 1.849-.495a.5.5 0 0 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-3.4-1.963v3.927l1.353 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsSnow2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793v-1.086l-.646.647a.5.5 0 0 1-.707-.708L7.5 10.293V8.866l-1.236.713-.495 1.85a.5.5 0 1 1-.966-.26l.237-.882-.94.542-.496 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.884-.237a.5.5 0 1 1 .26-.966l1.848.495.94-.542-.882-.237a.5.5 0 1 1 .258-.966l1.85.495L7 8l-1.236-.713-1.849.495a.5.5 0 1 1-.258-.966l.883-.237-.94-.542-1.85.495a.5.5 0 0 1-.258-.966l.883-.237-1.12-.646a.5.5 0 1 1 .5-.866l1.12.646-.237-.883a.5.5 0 0 1 .966-.258l.495 1.849.94.542-.236-.883a.5.5 0 0 1 .966-.258l.495 1.849 1.236.713V5.707L6.147 4.354a.5.5 0 1 1 .707-.708l.646.647V3.207L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 0 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v1.086l.647-.647a.5.5 0 1 1 .707.708L8.5 5.707v1.427l1.236-.713.495-1.85a.5.5 0 1 1 .966.26l-.236.882.94-.542.495-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495-.94.542.883.237a.5.5 0 1 1-.26.966l-1.848-.495L9 8l1.236.713 1.849-.495a.5.5 0 0 1 .259.966l-.883.237.94.542 1.849-.495a.5.5 0 0 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-.94-.542.236.883a.5.5 0 0 1-.966.258L9.736 9.58 8.5 8.866v1.427l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647v1.086l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsSnow3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7.5a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16a.5.5 0 0 1-.5-.5v-1.293l-.646.647a.5.5 0 0 1-.707-.708L7.5 12.793v-1.51l-2.053-1.232-1.348.778-.495 1.85a.5.5 0 1 1-.966-.26l.237-.882-1.12.646a.5.5 0 0 1-.5-.866l1.12-.646-.883-.237a.5.5 0 1 1 .258-.966l1.85.495L5 9.155v-2.31l-1.4-.808-1.85.495a.5.5 0 1 1-.259-.966l.884-.237-1.12-.646a.5.5 0 0 1 .5-.866l1.12.646-.237-.883a.5.5 0 1 1 .966-.258l.495 1.849 1.348.778L7.5 4.717v-1.51L6.147 1.854a.5.5 0 1 1 .707-.708l.646.647V.5a.5.5 0 0 1 1 0v1.293l.647-.647a.5.5 0 1 1 .707.708L8.5 3.207v1.51l2.053 1.232 1.348-.778.495-1.85a.5.5 0 1 1 .966.26l-.236.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.883.237a.5.5 0 1 1-.26.966l-1.848-.495-1.4.808v2.31l1.4.808 1.849-.495a.5.5 0 1 1 .259.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.236.883a.5.5 0 1 1-.966.258l-.495-1.849-1.348-.778L8.5 11.283v1.51l1.354 1.353a.5.5 0 0 1-.707.708l-.647-.647V15.5a.5.5 0 0 1-.5.5zm2-6.783V6.783l-2-1.2-2 1.2v2.434l2 1.2 2-1.2z\"}}]})(props);\n};\nexport function BsSortAlphaDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 7H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 12.629 9.664 14H8.598l1.789-5.332h1.234L13.402 14h-1.12l-.419-1.371h-1.781zm1.57-.785L11 9.688h-.047l-.652 2.156h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortAlphaDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zM4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortAlphaUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 7H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 12.629 9.664 14H8.598l1.789-5.332h1.234L13.402 14h-1.12l-.419-1.371h-1.781zm1.57-.785L11 9.688h-.047l-.652 2.156h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortAlphaUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.082 5.629 9.664 7H8.598l1.789-5.332h1.234L13.402 7h-1.12l-.419-1.371h-1.781zm1.57-.785L11 2.687h-.047l-.652 2.157h1.351z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.96 14H9.028v-.691l2.579-3.72v-.054H9.098v-.867h3.785v.691l-2.567 3.72v.054h2.645V14zm-8.46-.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 3.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 12.293V3.5zm4 .5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsSortDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsSortNumericDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 7.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.836 1.973-1.836 1.09 0 2.063.637 2.063 2.688 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 8.668V14H11.39V9.684h-.051l-1.211.859v-.969l1.262-.906h1.046zM4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortNumericDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 1.668V7H11.39V2.684h-.051l-1.211.859v-.969l1.262-.906h1.046z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 14.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.835 1.973-1.835 1.09 0 2.063.636 2.063 2.687 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 2.5a.5.5 0 0 0-1 0v9.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L4.5 12.293V2.5z\"}}]})(props);\n};\nexport function BsSortNumericUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 7.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.836 1.973-1.836 1.09 0 2.063.637 2.063 2.688 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 8.668V14H11.39V9.684h-.051l-1.211.859v-.969l1.262-.906h1.046zM4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortNumericUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.438 1.668V7H11.39V2.684h-.051l-1.211.859v-.969l1.262-.906h1.046z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.36 14.098c-1.137 0-1.708-.657-1.762-1.278h1.004c.058.223.343.45.773.45.824 0 1.164-.829 1.133-1.856h-.059c-.148.39-.57.742-1.261.742-.91 0-1.72-.613-1.72-1.758 0-1.148.848-1.835 1.973-1.835 1.09 0 2.063.636 2.063 2.687 0 1.867-.723 2.848-2.145 2.848zm.062-2.735c.504 0 .933-.336.933-.972 0-.633-.398-1.008-.94-1.008-.52 0-.927.375-.927 1 0 .64.418.98.934.98z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 13.5a.5.5 0 0 1-1 0V3.707L2.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L4.5 3.707V13.5z\"}}]})(props);\n};\nexport function BsSortUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 13.5a.5.5 0 0 1-1 0V4.707L1.354 5.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 4.707V13.5zm4-9.5a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1h-1zm0 3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1h-3zm0 3a.5.5 0 0 1 0-1h5a.5.5 0 0 1 0 1h-5zM7 12.5a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 0-1h-7a.5.5 0 0 0-.5.5z\"}}]})(props);\n};\nexport function BsSortUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z\"}}]})(props);\n};\nexport function BsSoundwave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.5 2a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5zm-2 2a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zm4 0a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zm-6 1.5A.5.5 0 0 1 5 6v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm8 0a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm-10 1A.5.5 0 0 1 3 7v2a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5zm12 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0V7a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsSpeakerFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-2.5 6.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4zm6 4a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM8 7a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7z\"}}]})(props);\n};\nexport function BsSpeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5zM8 6a2 2 0 1 0 0-4 2 2 0 0 0 0 4zm0 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm-3.5 1.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z\"}}]})(props);\n};\nexport function BsSpeedometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a.5.5 0 0 1 .5.5V4a.5.5 0 0 1-1 0V2.5A.5.5 0 0 1 8 2zM3.732 3.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707zM2 8a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 8zm9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5zm.754-4.246a.389.389 0 0 0-.527-.02L7.547 7.31A.91.91 0 1 0 8.85 8.569l3.434-4.297a.389.389 0 0 0-.029-.518z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.664 15.889A8 8 0 1 1 9.336.11a8 8 0 0 1-2.672 15.78zm-4.665-4.283A11.945 11.945 0 0 1 8 10c2.186 0 4.236.585 6.001 1.606a7 7 0 1 0-12.002 0z\"}}]})(props);\n};\nexport function BsSpeedometer2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 4a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-1 0V4.5A.5.5 0 0 1 8 4zM3.732 5.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707zM2 10a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 10zm9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5zm.754-4.246a.389.389 0 0 0-.527-.02L7.547 9.31a.91.91 0 1 0 1.302 1.258l3.434-4.297a.389.389 0 0 0-.029-.518z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 10a8 8 0 1 1 15.547 2.661c-.442 1.253-1.845 1.602-2.932 1.25C11.309 13.488 9.475 13 8 13c-1.474 0-3.31.488-4.615.911-1.087.352-2.49.003-2.932-1.25A7.988 7.988 0 0 1 0 10zm8-7a7 7 0 0 0-6.603 9.329c.203.575.923.876 1.68.63C4.397 12.533 6.358 12 8 12s3.604.532 4.923.96c.757.245 1.477-.056 1.68-.631A7 7 0 0 0 8 3z\"}}]})(props);\n};\nexport function BsSpellcheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.217 11.068c1.216 0 1.948-.869 1.948-2.31v-.702c0-1.44-.727-2.305-1.929-2.305-.742 0-1.328.347-1.499.889h-.063V3.983h-1.29V11h1.27v-.791h.064c.21.532.776.86 1.499.86zm-.43-1.025c-.66 0-1.113-.518-1.113-1.28V8.12c0-.825.42-1.343 1.098-1.343.684 0 1.075.518 1.075 1.416v.45c0 .888-.386 1.401-1.06 1.401zm-5.583 1.035c.767 0 1.201-.356 1.406-.737h.059V11h1.216V7.519c0-1.314-.947-1.783-2.11-1.783C1.355 5.736.75 6.42.69 7.27h1.216c.064-.323.313-.552.84-.552.527 0 .864.249.864.771v.464H2.346C1.145 7.953.5 8.568.5 9.496c0 .977.693 1.582 1.704 1.582zm.42-.947c-.44 0-.845-.235-.845-.718 0-.395.269-.684.84-.684h.991v.538c0 .503-.444.864-.986.864zm8.897.567c-.577-.4-.9-1.088-.9-1.983v-.65c0-1.42.894-2.338 2.305-2.338 1.352 0 2.119.82 2.139 1.806h-1.187c-.04-.351-.283-.776-.918-.776-.674 0-1.045.517-1.045 1.328v.625c0 .468.121.834.343 1.067l-.737.92z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.469 9.414a.75.75 0 0 1 .117 1.055l-4 5a.75.75 0 0 1-1.116.061l-2.5-2.5a.75.75 0 1 1 1.06-1.06l1.908 1.907 3.476-4.346a.75.75 0 0 1 1.055-.117z\"}}]})(props);\n};\nexport function BsSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.669 11.538a.498.498 0 0 1-.686.165c-1.879-1.147-4.243-1.407-7.028-.77a.499.499 0 0 1-.222-.973c3.048-.696 5.662-.397 7.77.892a.5.5 0 0 1 .166.686zm.979-2.178a.624.624 0 0 1-.858.205c-2.15-1.321-5.428-1.704-7.972-.932a.625.625 0 0 1-.362-1.194c2.905-.881 6.517-.454 8.986 1.063a.624.624 0 0 1 .206.858zm.084-2.268C10.154 5.56 5.9 5.419 3.438 6.166a.748.748 0 1 1-.434-1.432c2.825-.857 7.523-.692 10.492 1.07a.747.747 0 1 1-.764 1.288z\"}}]})(props);\n};\nexport function BsSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsSquareHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15V1h6a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H8zm6 1a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12z\"}}]})(props);\n};\nexport function BsSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}}]})(props);\n};\nexport function BsStackOverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.412 14.572V10.29h1.428V16H1v-5.71h1.428v4.282h9.984z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.857 13.145h7.137v-1.428H3.857v1.428zM10.254 0 9.108.852l4.26 5.727 1.146-.852L10.254 0zm-3.54 3.377 5.484 4.567.913-1.097L7.627 2.28l-.914 1.097zM4.922 6.55l6.47 3.013.603-1.294-6.47-3.013-.603 1.294zm-.925 3.344 6.985 1.469.294-1.398-6.985-1.468-.294 1.397z\"}}]})(props);\n};\nexport function BsStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m14.12 10.163 1.715.858c.22.11.22.424 0 .534L8.267 15.34a.598.598 0 0 1-.534 0L.165 11.555a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.66zM7.733.063a.598.598 0 0 1 .534 0l7.568 3.784a.3.3 0 0 1 0 .535L8.267 8.165a.598.598 0 0 1-.534 0L.165 4.382a.299.299 0 0 1 0-.535L7.733.063z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"m14.12 6.576 1.715.858c.22.11.22.424 0 .534l-7.568 3.784a.598.598 0 0 1-.534 0L.165 7.968a.299.299 0 0 1 0-.534l1.716-.858 5.317 2.659c.505.252 1.1.252 1.604 0l5.317-2.659z\"}}]})(props);\n};\nexport function BsStarFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"}}]})(props);\n};\nexport function BsStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.354 5.119 7.538.792A.516.516 0 0 1 8 .5c.183 0 .366.097.465.292l2.184 4.327 4.898.696A.537.537 0 0 1 16 6.32a.548.548 0 0 1-.17.445l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256a.52.52 0 0 1-.146.05c-.342.06-.668-.254-.6-.642l.83-4.73L.173 6.765a.55.55 0 0 1-.172-.403.58.58 0 0 1 .085-.302.513.513 0 0 1 .37-.245l4.898-.696zM8 12.027a.5.5 0 0 1 .232.056l3.686 1.894-.694-3.957a.565.565 0 0 1 .162-.505l2.907-2.77-4.052-.576a.525.525 0 0 1-.393-.288L8.001 2.223 8 2.226v9.8z\"}}]})(props);\n};\nexport function BsStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.866 14.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.522-3.356c.33-.314.16-.888-.282-.95l-4.898-.696L8.465.792a.513.513 0 0 0-.927 0L5.354 5.12l-4.898.696c-.441.062-.612.636-.283.95l3.523 3.356-.83 4.73zm4.905-2.767-3.686 1.894.694-3.957a.565.565 0 0 0-.163-.505L1.71 6.745l4.052-.576a.525.525 0 0 0 .393-.288L8 2.223l1.847 3.658a.525.525 0 0 0 .393.288l4.052.575-2.906 2.77a.565.565 0 0 0-.163.506l.694 3.957-3.686-1.894a.503.503 0 0 0-.461 0z\"}}]})(props);\n};\nexport function BsStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828l.645-1.937zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.734 1.734 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.734 1.734 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.734 1.734 0 0 0 3.407 2.31l.387-1.162zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L10.863.1z\"}}]})(props);\n};\nexport function BsStickiesFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5A1.5 1.5 0 0 0 0 1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V10.5z\"}}]})(props);\n};\nexport function BsStickies (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 0A1.5 1.5 0 0 0 0 1.5V13a1 1 0 0 0 1 1V1.5a.5.5 0 0 1 .5-.5H14a1 1 0 0 0-1-1H1.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 2A1.5 1.5 0 0 0 2 3.5v11A1.5 1.5 0 0 0 3.5 16h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 16 9.586V3.5A1.5 1.5 0 0 0 14.5 2h-11zM3 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V9h-4.5A1.5 1.5 0 0 0 9 10.5V15H3.5a.5.5 0 0 1-.5-.5v-11zm7 11.293V10.5a.5.5 0 0 1 .5-.5h4.293L10 14.793z\"}}]})(props);\n};\nexport function BsStickyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zm6 8.5a1 1 0 0 1 1-1h4.396a.25.25 0 0 1 .177.427l-5.146 5.146a.25.25 0 0 1-.427-.177V9.5z\"}}]})(props);\n};\nexport function BsSticky (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1A1.5 1.5 0 0 0 1 2.5v11A1.5 1.5 0 0 0 2.5 15h6.086a1.5 1.5 0 0 0 1.06-.44l4.915-4.914A1.5 1.5 0 0 0 15 8.586V2.5A1.5 1.5 0 0 0 13.5 1h-11zM2 2.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .5.5V8H9.5A1.5 1.5 0 0 0 8 9.5V14H2.5a.5.5 0 0 1-.5-.5v-11zm7 11.293V9.5a.5.5 0 0 1 .5-.5h4.293L9 13.793z\"}}]})(props);\n};\nexport function BsStopBtnFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 12V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm6.5-7A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsStopBtn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z\"}}]})(props);\n};\nexport function BsStopCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.5 5A1.5 1.5 0 0 0 5 6.5v3A1.5 1.5 0 0 0 6.5 11h3A1.5 1.5 0 0 0 11 9.5v-3A1.5 1.5 0 0 0 9.5 5h-3z\"}}]})(props);\n};\nexport function BsStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5v-3z\"}}]})(props);\n};\nexport function BsStopFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5A1.5 1.5 0 0 1 5 3.5z\"}}]})(props);\n};\nexport function BsStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 5A1.5 1.5 0 0 1 5 3.5h6A1.5 1.5 0 0 1 12.5 5v6a1.5 1.5 0 0 1-1.5 1.5H5A1.5 1.5 0 0 1 3.5 11V5zM5 4.5a.5.5 0 0 0-.5.5v6a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 .5-.5V5a.5.5 0 0 0-.5-.5H5z\"}}]})(props);\n};\nexport function BsStoplightsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 0a2 2 0 0 0-2 2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v2H2c.167.5.8 1.6 2 2v1a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-1c1.2-.4 1.833-1.5 2-2h-2V8c1.2-.4 1.833-1.5 2-2h-2V4c1.2-.4 1.833-1.5 2-2h-2a2 2 0 0 0-2-2H6zm3.5 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0 4a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zM8 13a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsStoplights (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm0 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm1.5 2.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 2a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2h2c-.167.5-.8 1.6-2 2v2h2c-.167.5-.8 1.6-2 2v2h2c-.167.5-.8 1.6-2 2v1a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-1c-1.2-.4-1.833-1.5-2-2h2V8c-1.2-.4-1.833-1.5-2-2h2V4c-1.2-.4-1.833-1.5-2-2h2zm2-1a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6z\"}}]})(props);\n};\nexport function BsStopwatchFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 0a.5.5 0 0 0 0 1H7v1.07A7.001 7.001 0 0 0 8 16a7 7 0 0 0 5.29-11.584.531.531 0 0 0 .013-.012l.354-.354.353.354a.5.5 0 1 0 .707-.707l-1.414-1.415a.5.5 0 1 0-.707.707l.354.354-.354.354a.717.717 0 0 0-.012.012A6.973 6.973 0 0 0 9 2.071V1h.5a.5.5 0 0 0 0-1h-3zm2 5.6V9a.5.5 0 0 1-.5.5H4.5a.5.5 0 0 1 0-1h3V5.6a.5.5 0 1 1 1 0z\"}}]})(props);\n};\nexport function BsStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5.6a.5.5 0 1 0-1 0v2.9h-3a.5.5 0 0 0 0 1H8a.5.5 0 0 0 .5-.5V5.6z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 1A.5.5 0 0 1 7 .5h2a.5.5 0 0 1 0 1v.57c1.36.196 2.594.78 3.584 1.64a.715.715 0 0 1 .012-.013l.354-.354-.354-.353a.5.5 0 0 1 .707-.708l1.414 1.415a.5.5 0 1 1-.707.707l-.353-.354-.354.354a.512.512 0 0 1-.013.012A7 7 0 1 1 7 2.071V1.5a.5.5 0 0 1-.5-.5zM8 3a6 6 0 1 0 .001 12A6 6 0 0 0 8 3z\"}}]})(props);\n};\nexport function BsStrava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.731 0 2 9.125h2.788L6.73 5.497l1.93 3.628h2.766L6.731 0zm4.694 9.125-1.372 2.756L8.66 9.125H6.547L10.053 16l3.484-6.875h-2.112z\"}}]})(props);\n};\nexport function BsSubtract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2z\"}}]})(props);\n};\nexport function BsSuitClubFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 12.5a3.493 3.493 0 0 1-2.684-1.254 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907 3.5 3.5 0 1 1-2.538-5.743 3.5 3.5 0 1 1 6.708 0A3.5 3.5 0 1 1 11.5 12.5z\"}}]})(props);\n};\nexport function BsSuitClub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 1a3.25 3.25 0 0 0-3.25 3.25c0 .186 0 .29.016.41.014.12.045.27.12.527l.19.665-.692-.028a3.25 3.25 0 1 0 2.357 5.334.5.5 0 0 1 .844.518l-.003.005-.006.015-.024.055a21.893 21.893 0 0 1-.438.92 22.38 22.38 0 0 1-1.266 2.197c-.013.018-.02.05.001.09.01.02.021.03.03.036A.036.036 0 0 0 5.9 15h4.2c.01 0 .016-.002.022-.006a.092.092 0 0 0 .029-.035c.02-.04.014-.073.001-.091a22.875 22.875 0 0 1-1.704-3.117l-.024-.054-.006-.015-.002-.004a.5.5 0 0 1 .838-.524c.601.7 1.516 1.168 2.496 1.168a3.25 3.25 0 1 0-.139-6.498l-.699.03.199-.671c.14-.47.14-.745.139-.927V4.25A3.25 3.25 0 0 0 8 1zm2.207 12.024c.225.405.487.848.78 1.294C11.437 15 10.975 16 10.1 16H5.9c-.876 0-1.338-1-.887-1.683.291-.442.552-.88.776-1.283a4.25 4.25 0 1 1-2.007-8.187 2.79 2.79 0 0 1-.009-.064c-.023-.187-.023-.348-.023-.52V4.25a4.25 4.25 0 0 1 8.5 0c0 .14 0 .333-.04.596a4.25 4.25 0 0 1-.46 8.476 4.186 4.186 0 0 1-1.543-.298z\"}}]})(props);\n};\nexport function BsSuitDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.45 7.4 7.2 1.067a1 1 0 0 1 1.6 0L13.55 7.4a1 1 0 0 1 0 1.2L8.8 14.933a1 1 0 0 1-1.6 0L2.45 8.6a1 1 0 0 1 0-1.2z\"}}]})(props);\n};\nexport function BsSuitDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.384 1.226a.463.463 0 0 0-.768 0l-4.56 6.468a.537.537 0 0 0 0 .612l4.56 6.469a.463.463 0 0 0 .768 0l4.56-6.469a.537.537 0 0 0 0-.612l-4.56-6.468zM6.848.613a1.39 1.39 0 0 1 2.304 0l4.56 6.468a1.61 1.61 0 0 1 0 1.838l-4.56 6.468a1.39 1.39 0 0 1-2.304 0L2.288 8.92a1.61 1.61 0 0 1 0-1.838L6.848.613z\"}}]})(props);\n};\nexport function BsSuitHeartFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 1c2.21 0 4 1.755 4 3.92C8 2.755 9.79 1 12 1s4 1.755 4 3.92c0 3.263-3.234 4.414-7.608 9.608a.513.513 0 0 1-.784 0C3.234 9.334 0 8.183 0 4.92 0 2.755 1.79 1 4 1z\"}}]})(props);\n};\nexport function BsSuitHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m8 6.236-.894-1.789c-.222-.443-.607-1.08-1.152-1.595C5.418 2.345 4.776 2 4 2 2.324 2 1 3.326 1 4.92c0 1.211.554 2.066 1.868 3.37.337.334.721.695 1.146 1.093C5.122 10.423 6.5 11.717 8 13.447c1.5-1.73 2.878-3.024 3.986-4.064.425-.398.81-.76 1.146-1.093C14.446 6.986 15 6.131 15 4.92 15 3.326 13.676 2 12 2c-.777 0-1.418.345-1.954.852-.545.515-.93 1.152-1.152 1.595L8 6.236zm.392 8.292a.513.513 0 0 1-.784 0c-1.601-1.902-3.05-3.262-4.243-4.381C1.3 8.208 0 6.989 0 4.92 0 2.755 1.79 1 4 1c1.6 0 2.719 1.05 3.404 2.008.26.365.458.716.596.992a7.55 7.55 0 0 1 .596-.992C9.281 2.049 10.4 1 12 1c2.21 0 4 1.755 4 3.92 0 2.069-1.3 3.288-3.365 5.227-1.193 1.12-2.642 2.48-4.243 4.38z\"}}]})(props);\n};\nexport function BsSuitSpadeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.184 11.246A3.5 3.5 0 0 1 1 9c0-1.602 1.14-2.633 2.66-4.008C4.986 3.792 6.602 2.33 8 0c1.398 2.33 3.014 3.792 4.34 4.992C13.86 6.367 15 7.398 15 9a3.5 3.5 0 0 1-6.184 2.246 19.92 19.92 0 0 0 1.582 2.907c.231.35-.02.847-.438.847H6.04c-.419 0-.67-.497-.438-.847a19.919 19.919 0 0 0 1.582-2.907z\"}}]})(props);\n};\nexport function BsSuitSpade (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .429.243c1.359 2.265 2.925 3.682 4.25 4.882.096.086.19.17.282.255C14.308 6.604 15.5 7.747 15.5 9.5a4 4 0 0 1-5.406 3.746c.235.39.491.782.722 1.131.434.659-.01 1.623-.856 1.623H6.04c-.845 0-1.29-.964-.856-1.623.263-.397.51-.777.728-1.134A4 4 0 0 1 .5 9.5c0-1.753 1.192-2.896 2.539-4.12l.281-.255c1.326-1.2 2.892-2.617 4.251-4.882A.5.5 0 0 1 8 0zM3.711 6.12C2.308 7.396 1.5 8.253 1.5 9.5a3 3 0 0 0 5.275 1.956.5.5 0 0 1 .868.43c-.094.438-.33.932-.611 1.428a29.247 29.247 0 0 1-1.013 1.614.03.03 0 0 0-.005.018.074.074 0 0 0 .024.054h3.924a.074.074 0 0 0 .024-.054.03.03 0 0 0-.005-.018c-.3-.455-.658-1.005-.96-1.535-.294-.514-.57-1.064-.664-1.507a.5.5 0 0 1 .868-.43A3 3 0 0 0 14.5 9.5c0-1.247-.808-2.104-2.211-3.38L12 5.86c-1.196-1.084-2.668-2.416-4-4.424-1.332 2.008-2.804 3.34-4 4.422l-.289.261z\"}}]})(props);\n};\nexport function BsSunFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z\"}}]})(props);\n};\nexport function BsSunglasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a2 2 0 0 0-2 2v.5H.5a.5.5 0 0 0 0 1H1V9a2 2 0 0 0 2 2h1a3 3 0 0 0 3-3 1 1 0 1 1 2 0 3 3 0 0 0 3 3h1a2 2 0 0 0 2-2v-.5h.5a.5.5 0 0 0 0-1H15V7a2 2 0 0 0-2-2h-2a2 2 0 0 0-1.888 1.338A1.99 1.99 0 0 0 8 6a1.99 1.99 0 0 0-1.112.338A2 2 0 0 0 5 5H3zm0 1h.941c.264 0 .348.356.112.474l-.457.228a2 2 0 0 0-.894.894l-.228.457C2.356 8.289 2 8.205 2 7.94V7a1 1 0 0 1 1-1z\"}}]})(props);\n};\nexport function BsSunriseFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunrise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l1.5 1.5a.5.5 0 0 1-.708.708L8.5 2.707V4.5a.5.5 0 0 1-1 0V2.707l-.646.647a.5.5 0 1 1-.708-.708l1.5-1.5zM2.343 4.343a.5.5 0 0 1 .707 0l1.414 1.414a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .707l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM8 7a3 3 0 0 1 2.599 4.5H5.4A3 3 0 0 1 8 7zm3.71 4.5a4 4 0 1 0-7.418 0H.499a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunsetFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM11.709 11.5a4 4 0 1 0-7.418 0H.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSunset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 4.854a.5.5 0 0 0 .708 0l1.5-1.5a.5.5 0 0 0-.708-.708l-.646.647V1.5a.5.5 0 0 0-1 0v1.793l-.646-.647a.5.5 0 1 0-.708.708l1.5 1.5zm-5.303-.51a.5.5 0 0 1 .707 0l1.414 1.413a.5.5 0 0 1-.707.707L2.343 5.05a.5.5 0 0 1 0-.707zm11.314 0a.5.5 0 0 1 0 .706l-1.414 1.414a.5.5 0 1 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zM8 7a3 3 0 0 1 2.599 4.5H5.4A3 3 0 0 1 8 7zm3.71 4.5a4 4 0 1 0-7.418 0H.499a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-3.79zM0 10a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2A.5.5 0 0 1 0 10zm13 0a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsSymmetryHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5 7a.5.5 0 0 0 .24-.939l-11-6A.5.5 0 0 0 2 .5v6a.5.5 0 0 0 .5.5h11zm.485 2.376a.5.5 0 0 1-.246.563l-11 6A.5.5 0 0 1 2 15.5v-6a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 .485.376zM11.539 10H3v4.658L11.54 10z\"}}]})(props);\n};\nexport function BsSymmetryVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 0-.939-.24l-6 11A.5.5 0 0 0 .5 14h6a.5.5 0 0 0 .5-.5v-11zm2.376-.484a.5.5 0 0 1 .563.245l6 11A.5.5 0 0 1 15.5 14h-6a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .376-.484zM10 4.46V13h4.658L10 4.46z\"}}]})(props);\n};\nexport function BsTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 2h-4v3h4V4zm0 4h-4v3h4V8zm0 4h-4v3h3a1 1 0 0 0 1-1v-2zm-5 3v-3H6v3h4zm-5 0v-3H1v2a1 1 0 0 0 1 1h3zm-4-4h4V8H1v3zm0-4h4V4H1v3zm5-3v3h4V4H6zm4 4H6v3h4V8z\"}}]})(props);\n};\nexport function BsTabletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm7 11a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsTabletLandscapeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 14a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2zm11-7a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsTabletLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 4a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4zm-1 8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8a1 1 0 1 0-2 0 1 1 0 0 0 2 0z\"}}]})(props);\n};\nexport function BsTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h8zM4 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}}]})(props);\n};\nexport function BsTagFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 6.586 1H2zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 4.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-1 0a.5.5 0 1 0-1 0 .5.5 0 0 0 1 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 1 6.586V2a1 1 0 0 1 1-1zm0 5.586 7 7L13.586 9l-7-7H2v4.586z\"}}]})(props);\n};\nexport function BsTagsFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2zm3.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 7.793A1 1 0 0 1 1 7.086V2a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l.043-.043-7.457-7.457z\"}}]})(props);\n};\nexport function BsTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 2v4.586l7 7L14.586 9l-7-7H3zM2 2a1 1 0 0 1 1-1h4.586a1 1 0 0 1 .707.293l7 7a1 1 0 0 1 0 1.414l-4.586 4.586a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 2 6.586V2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 5a.5.5 0 1 1 0-1 .5.5 0 0 1 0 1zm0 1a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM1 7.086a1 1 0 0 0 .293.707L8.75 15.25l-.043.043a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 0 7.586V3a1 1 0 0 1 1-1v5.086z\"}}]})(props);\n};\nexport function BsTelegram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.287 5.906c-.778.324-2.334.994-4.666 2.01-.378.15-.577.298-.595.442-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294.26.006.549-.1.868-.32 2.179-1.471 3.304-2.214 3.374-2.23.05-.012.12-.026.166.016.047.041.042.12.037.141-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8.154 8.154 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629.093.06.183.125.27.187.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.426 1.426 0 0 0-.013-.315.337.337 0 0 0-.114-.217.526.526 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09z\"}}]})(props);\n};\nexport function BsTelephoneFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneForwardFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.761.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm10.762.135a.5.5 0 0 1 .708 0l2.5 2.5a.5.5 0 0 1 0 .708l-2.5 2.5a.5.5 0 0 1-.708-.708L14.293 4H9.5a.5.5 0 0 1 0-1h4.793l-1.647-1.646a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneInboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsTelephoneInbound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.854.146a.5.5 0 0 1 0 .708L11.707 5H14.5a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 0 1 1 0v2.793L15.146.146a.5.5 0 0 1 .708 0zm-12.2 1.182a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneMinusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephoneMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTelephoneOutboundFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephoneOutbound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM11 .5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V1.707l-4.146 4.147a.5.5 0 0 1-.708-.708L14.293 1H11.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTelephonePlusFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zM12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsTelephonePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.5 1a.5.5 0 0 1 .5.5V3h1.5a.5.5 0 0 1 0 1H13v1.5a.5.5 0 0 1-1 0V4h-1.5a.5.5 0 0 1 0-1H12V1.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsTelephoneXFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M1.885.511a1.745 1.745 0 0 1 2.61.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511zm9.261 1.135a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephoneX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.146 1.646a.5.5 0 0 1 .708 0L13 2.793l1.146-1.147a.5.5 0 0 1 .708.708L13.707 3.5l1.147 1.146a.5.5 0 0 1-.708.708L13 4.207l-1.146 1.147a.5.5 0 0 1-.708-.708L12.293 3.5l-1.147-1.146a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsTelephone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z\"}}]})(props);\n};\nexport function BsTerminalFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3zm9.5 5.5h-3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1zm-6.354-.354a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146z\"}}]})(props);\n};\nexport function BsTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3A.5.5 0 0 1 6 9zM3.854 4.146a.5.5 0 1 0-.708.708L4.793 6.5 3.146 8.146a.5.5 0 1 0 .708.708l2-2a.5.5 0 0 0 0-.708l-2-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h12z\"}}]})(props);\n};\nexport function BsTextCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextIndentLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm.646 2.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1 0 .708l-2 2a.5.5 0 0 1-.708-.708L4.293 8 2.646 6.354a.5.5 0 0 1 0-.708zM7 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm-5 3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextIndentRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3.5a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm10.646 2.146a.5.5 0 0 1 .708.708L11.707 8l1.647 1.646a.5.5 0 0 1-.708.708l-2-2a.5.5 0 0 1 0-.708l2-2zM2 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5zm0 3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm0-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm4-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 12.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5zm4-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-4-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsTextareaResize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 4.5A2.5 2.5 0 0 1 2.5 2h11A2.5 2.5 0 0 1 16 4.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 11.5v-7zM2.5 3A1.5 1.5 0 0 0 1 4.5v7A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 13.5 3h-11zm10.854 4.646a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708l3-3a.5.5 0 0 1 .708 0zm0 2.5a.5.5 0 0 1 0 .708l-.5.5a.5.5 0 0 1-.708-.708l.5-.5a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsTextareaT (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2.5A1.5 1.5 0 0 1 3 1h10a1.5 1.5 0 0 1 1.5 1.5v3.563a2 2 0 0 1 0 3.874V13.5A1.5 1.5 0 0 1 13 15H3a1.5 1.5 0 0 1-1.5-1.5V9.937a2 2 0 0 1 0-3.874V2.5zm1 3.563a2 2 0 0 1 0 3.874V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V9.937a2 2 0 0 1 0-3.874V2.5A.5.5 0 0 0 13 2H3a.5.5 0 0 0-.5.5v3.563zM2 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.434 4H4.566L4.5 5.994h.386c.21-1.252.612-1.446 2.173-1.495l.343-.011v6.343c0 .537-.116.665-1.049.748V12h3.294v-.421c-.938-.083-1.054-.21-1.054-.748V4.488l.348.01c1.56.05 1.963.244 2.173 1.496h.386L11.434 4z\"}}]})(props);\n};\nexport function BsTextarea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2.5A1.5 1.5 0 0 1 3 1h10a1.5 1.5 0 0 1 1.5 1.5v3.563a2 2 0 0 1 0 3.874V13.5A1.5 1.5 0 0 1 13 15H3a1.5 1.5 0 0 1-1.5-1.5V9.937a2 2 0 0 1 0-3.874V2.5zm1 3.563a2 2 0 0 1 0 3.874V13.5a.5.5 0 0 0 .5.5h10a.5.5 0 0 0 .5-.5V9.937a2 2 0 0 1 0-3.874V2.5A.5.5 0 0 0 13 2H3a.5.5 0 0 0-.5.5v3.563zM2 7a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm12 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsThermometerHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V6.5a.5.5 0 0 1 1 0v4.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V2.5a.5.5 0 0 1 1 0v8.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 12.5a1.5 1.5 0 1 1-2-1.415V9.5a.5.5 0 0 1 1 0v1.585a1.5 1.5 0 0 1 1 1.415z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM8 1a1.5 1.5 0 0 0-1.5 1.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0l-.166-.15V2.5A1.5 1.5 0 0 0 8 1z\"}}]})(props);\n};\nexport function BsThermometerSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5a1.5 1.5 0 1 1-2-1.415V9.5a.5.5 0 0 1 1 0v1.585A1.5 1.5 0 0 1 5 12.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM3.5 1A1.5 1.5 0 0 0 2 2.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0L5 10.486V2.5A1.5 1.5 0 0 0 3.5 1zm5 1a.5.5 0 0 1 .5.5v1.293l.646-.647a.5.5 0 0 1 .708.708L9 5.207v1.927l1.669-.963.495-1.85a.5.5 0 1 1 .966.26l-.237.882 1.12-.646a.5.5 0 0 1 .5.866l-1.12.646.884.237a.5.5 0 1 1-.26.966l-1.848-.495L9.5 8l1.669.963 1.849-.495a.5.5 0 1 1 .258.966l-.883.237 1.12.646a.5.5 0 0 1-.5.866l-1.12-.646.237.883a.5.5 0 1 1-.966.258L10.67 9.83 9 8.866v1.927l1.354 1.353a.5.5 0 0 1-.708.708L9 12.207V13.5a.5.5 0 0 1-1 0v-11a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsThermometerSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.5a1.5 1.5 0 1 1-2-1.415V2.5a.5.5 0 0 1 1 0v8.585A1.5 1.5 0 0 1 5 12.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 2.5a2.5 2.5 0 0 1 5 0v7.55a3.5 3.5 0 1 1-5 0V2.5zM3.5 1A1.5 1.5 0 0 0 2 2.5v7.987l-.167.15a2.5 2.5 0 1 0 3.333 0L5 10.486V2.5A1.5 1.5 0 0 0 3.5 1zm5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5zm4.243 1.757a.5.5 0 0 1 0 .707l-.707.708a.5.5 0 1 1-.708-.708l.708-.707a.5.5 0 0 1 .707 0zM8 5.5a.5.5 0 0 1 .5-.5 3 3 0 1 1 0 6 .5.5 0 0 1 0-1 2 2 0 0 0 0-4 .5.5 0 0 1-.5-.5zM12.5 8a.5.5 0 0 1 .5-.5h1a.5.5 0 1 1 0 1h-1a.5.5 0 0 1-.5-.5zm-1.172 2.828a.5.5 0 0 1 .708 0l.707.708a.5.5 0 0 1-.707.707l-.708-.707a.5.5 0 0 1 0-.708zM8.5 12a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-1 0v-1a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 14a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a2.5 2.5 0 0 0-2.5 2.5v7.55a3.5 3.5 0 1 0 5 0V2.5A2.5 2.5 0 0 0 8 0zM6.5 2.5a1.5 1.5 0 1 1 3 0v7.987l.167.15a2.5 2.5 0 1 1-3.333 0l.166-.15V2.5z\"}}]})(props);\n};\nexport function BsThreeDotsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z\"}}]})(props);\n};\nexport function BsThreeDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsToggleOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4a4 4 0 0 1 0 8H8a4.992 4.992 0 0 0 2-4 4.992 4.992 0 0 0-2-4h3zm-6 8a4 4 0 1 1 0-8 4 4 0 0 1 0 8zM0 8a5 5 0 0 0 5 5h6a5 5 0 0 0 0-10H5a5 5 0 0 0-5 5z\"}}]})(props);\n};\nexport function BsToggleOn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a5 5 0 0 0 0 10h6a5 5 0 0 0 0-10H5zm6 9a4 4 0 1 1 0-8 4 4 0 0 1 0 8z\"}}]})(props);\n};\nexport function BsToggle2Off (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11c.628-.836 1-1.874 1-3a4.978 4.978 0 0 0-1-3h4a3 3 0 1 1 0 6H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0 1A5 5 0 1 0 5 3a5 5 0 0 0 0 10z\"}}]})(props);\n};\nexport function BsToggle2On (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5H3a3 3 0 0 0 0 6h4a4.995 4.995 0 0 1-.584-1H3a2 2 0 1 1 0-4h3.416c.156-.357.352-.692.584-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A5 5 0 1 1 6 8a5 5 0 0 1 10 0z\"}}]})(props);\n};\nexport function BsToggles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.5 9a3.5 3.5 0 1 0 0 7h7a3.5 3.5 0 1 0 0-7h-7zm7 6a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zm-7-14a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zm2.45 0A3.49 3.49 0 0 1 8 3.5 3.49 3.49 0 0 1 6.95 6h4.55a2.5 2.5 0 0 0 0-5H6.95zM4.5 0h7a3.5 3.5 0 1 1 0 7h-7a3.5 3.5 0 1 1 0-7z\"}}]})(props);\n};\nexport function BsToggles2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.465 10H12a2 2 0 1 1 0 4H9.465c.34-.588.535-1.271.535-2 0-.729-.195-1.412-.535-2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 1a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm.535-10a3.975 3.975 0 0 1-.409-1H4a1 1 0 0 1 0-2h2.126c.091-.355.23-.69.41-1H4a2 2 0 1 0 0 4h2.535z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4a4 4 0 1 1-8 0 4 4 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsTools (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.356 3.356a1 1 0 0 0 1.414 0l1.586-1.586a1 1 0 0 0 0-1.414l-3.356-3.356a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3c0-.269-.035-.53-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814L1 0zm9.646 10.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708zM3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026L3 11z\"}}]})(props);\n};\nexport function BsTornado (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.125 2.45A.892.892 0 0 1 1 2c0-.26.116-.474.258-.634a1.9 1.9 0 0 1 .513-.389c.387-.21.913-.385 1.52-.525C4.514.17 6.18 0 8 0c1.821 0 3.486.17 4.709.452.607.14 1.133.314 1.52.525.193.106.374.233.513.389.141.16.258.374.258.634 0 1.011-.35 1.612-.634 2.102-.04.07-.08.137-.116.203a2.55 2.55 0 0 0-.313.809 2.938 2.938 0 0 0-.011.891.5.5 0 0 1 .428.849c-.06.06-.133.126-.215.195.204 1.116.088 1.99-.3 2.711-.453.84-1.231 1.383-2.02 1.856-.204.123-.412.243-.62.364-1.444.832-2.928 1.689-3.735 3.706a.5.5 0 0 1-.748.226l-.001-.001-.002-.001-.004-.003-.01-.008a2.142 2.142 0 0 1-.147-.115 4.095 4.095 0 0 1-1.179-1.656 3.786 3.786 0 0 1-.247-1.296A.498.498 0 0 1 5 12.5v-.018a.62.62 0 0 1 .008-.079.728.728 0 0 1 .188-.386c.09-.489.272-1.014.573-1.574a.5.5 0 0 1 .073-.918 3.29 3.29 0 0 1 .617-.144l.15-.193c.285-.356.404-.639.437-.861a.948.948 0 0 0-.122-.619c-.249-.455-.815-.903-1.613-1.43-.193-.127-.398-.258-.609-.394l-.119-.076a12.307 12.307 0 0 1-1.241-.334.5.5 0 0 1-.285-.707l-.23-.18C2.117 4.01 1.463 3.32 1.125 2.45zm1.973 1.051c.113.104.233.207.358.308.472.381.99.722 1.515 1.06 1.54.317 3.632.5 5.43.14a.5.5 0 0 1 .197.981c-1.216.244-2.537.26-3.759.157.399.326.744.682.963 1.081.203.373.302.79.233 1.247-.05.33-.182.657-.39.985.075.017.148.035.22.053l.006.002c.481.12.863.213 1.47.01a.5.5 0 1 1 .317.95c-.888.295-1.505.141-2.023.012l-.006-.002a3.894 3.894 0 0 0-.644-.123c-.37.55-.598 1.05-.726 1.497.142.045.296.11.465.194a.5.5 0 1 1-.448.894 3.11 3.11 0 0 0-.148-.07c.012.345.084.643.18.895.14.369.342.666.528.886.992-1.903 2.583-2.814 3.885-3.56.203-.116.399-.228.584-.34.775-.464 1.34-.89 1.653-1.472.212-.393.33-.9.26-1.617A6.74 6.74 0 0 1 10 8.5a.5.5 0 0 1 0-1 5.76 5.76 0 0 0 3.017-.872.515.515 0 0 1-.007-.03c-.135-.673-.14-1.207-.056-1.665.084-.46.253-.81.421-1.113l.131-.23c.065-.112.126-.22.182-.327-.29.107-.62.202-.98.285C11.487 3.83 9.822 4 8 4c-1.821 0-3.486-.17-4.709-.452-.065-.015-.13-.03-.193-.047zM13.964 2a1.12 1.12 0 0 0-.214-.145c-.272-.148-.697-.297-1.266-.428C11.354 1.166 9.769 1 8 1c-1.769 0-3.354.166-4.484.427-.569.13-.994.28-1.266.428A1.12 1.12 0 0 0 2.036 2c.04.038.109.087.214.145.272.148.697.297 1.266.428C4.646 2.834 6.231 3 8 3c1.769 0 3.354-.166 4.484-.427.569-.13.994-.28 1.266-.428A1.12 1.12 0 0 0 13.964 2z\"}}]})(props);\n};\nexport function BsTranslate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.545 6.714 4.11 8H3l1.862-5h1.284L8 8H6.833l-.435-1.286H4.545zm1.634-.736L5.5 3.956h-.049l-.679 2.022H6.18z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h7a2 2 0 0 1 2 2v3h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-3H2a2 2 0 0 1-2-2V2zm2-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H2zm7.138 9.995c.193.301.402.583.63.846-.748.575-1.673 1.001-2.768 1.292.178.217.451.635.555.867 1.125-.359 2.08-.844 2.886-1.494.777.665 1.739 1.165 2.93 1.472.133-.254.414-.673.629-.89-1.125-.253-2.057-.694-2.82-1.284.681-.747 1.222-1.651 1.621-2.757H14V8h-3v1.047h.765c-.318.844-.74 1.546-1.272 2.13a6.066 6.066 0 0 1-.415-.492 1.988 1.988 0 0 1-.94.31z\"}}]})(props);\n};\nexport function BsTrashFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1H3v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V4h.5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H2.5zm3 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zM8 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5zm3 .5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 1 0z\"}}]})(props);\n};\nexport function BsTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4 4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z\"}}]})(props);\n};\nexport function BsTrash2Fill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225zm9.89-.69C10.966 2.214 9.578 2 8 2c-1.58 0-2.968.215-3.926.534-.477.16-.795.327-.975.466.18.14.498.307.975.466C5.032 3.786 6.42 4 8 4s2.967-.215 3.926-.534c.477-.16.795-.327.975-.466-.18-.14-.498-.307-.975-.466z\"}}]})(props);\n};\nexport function BsTrash2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 3a.702.702 0 0 1-.037.225l-1.684 10.104A2 2 0 0 1 10.305 15H5.694a2 2 0 0 1-1.973-1.671L2.037 3.225A.703.703 0 0 1 2 3c0-1.105 2.686-2 6-2s6 .895 6 2zM3.215 4.207l1.493 8.957a1 1 0 0 0 .986.836h4.612a1 1 0 0 0 .986-.836l1.493-8.957C11.69 4.689 9.954 5 8 5c-1.954 0-3.69-.311-4.785-.793z\"}}]})(props);\n};\nexport function BsTreeFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5z\"}}]})(props);\n};\nexport function BsTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.416.223a.5.5 0 0 0-.832 0l-3 4.5A.5.5 0 0 0 5 5.5h.098L3.076 8.735A.5.5 0 0 0 3.5 9.5h.191l-1.638 3.276a.5.5 0 0 0 .447.724H7V16h2v-2.5h4.5a.5.5 0 0 0 .447-.724L12.31 9.5h.191a.5.5 0 0 0 .424-.765L10.902 5.5H11a.5.5 0 0 0 .416-.777l-3-4.5zM6.437 4.758A.5.5 0 0 0 6 4.5h-.066L8 1.401 10.066 4.5H10a.5.5 0 0 0-.424.765L11.598 8.5H11.5a.5.5 0 0 0-.447.724L12.69 12.5H3.309l1.638-3.276A.5.5 0 0 0 4.5 8.5h-.098l2.022-3.235a.5.5 0 0 0 .013-.507z\"}}]})(props);\n};\nexport function BsTriangleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.022 1.566a1.13 1.13 0 0 1 1.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H1.144c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsTriangleHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.065 2.016A.13.13 0 0 0 8.002 2v11.983l6.856.017a.12.12 0 0 0 .066-.017.162.162 0 0 0 .054-.06.176.176 0 0 0-.002-.183L8.12 2.073a.146.146 0 0 0-.054-.057zm-1.043-.45a1.13 1.13 0 0 1 1.96 0l6.856 11.667c.458.778-.091 1.767-.98 1.767H1.146c-.889 0-1.437-.99-.98-1.767L7.022 1.566z\"}}]})(props);\n};\nexport function BsTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017.163.163 0 0 1-.054-.06.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z\"}}]})(props);\n};\nexport function BsTrophyFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935z\"}}]})(props);\n};\nexport function BsTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5.5A.5.5 0 0 1 3 0h10a.5.5 0 0 1 .5.5c0 .538-.012 1.05-.034 1.536a3 3 0 1 1-1.133 5.89c-.79 1.865-1.878 2.777-2.833 3.011v2.173l1.425.356c.194.048.377.135.537.255L13.3 15.1a.5.5 0 0 1-.3.9H3a.5.5 0 0 1-.3-.9l1.838-1.379c.16-.12.343-.207.537-.255L6.5 13.11v-2.173c-.955-.234-2.043-1.146-2.833-3.012a3 3 0 1 1-1.132-5.89A33.076 33.076 0 0 1 2.5.5zm.099 2.54a2 2 0 0 0 .72 3.935c-.333-1.05-.588-2.346-.72-3.935zm10.083 3.935a2 2 0 0 0 .72-3.935c-.133 1.59-.388 2.885-.72 3.935zM3.504 1c.007.517.026 1.006.056 1.469.13 2.028.457 3.546.87 4.667C5.294 9.48 6.484 10 7 10a.5.5 0 0 1 .5.5v2.61a1 1 0 0 1-.757.97l-1.426.356a.5.5 0 0 0-.179.085L4.5 15h7l-.638-.479a.501.501 0 0 0-.18-.085l-1.425-.356a1 1 0 0 1-.757-.97V10.5A.5.5 0 0 1 9 10c.516 0 1.706-.52 2.57-2.864.413-1.12.74-2.64.87-4.667.03-.463.049-.952.056-1.469H3.504z\"}}]})(props);\n};\nexport function BsTropicalStorm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.5 2c-.9 0-1.75.216-2.501.6A5 5 0 0 1 13 7.5a6.5 6.5 0 1 1-13 0 .5.5 0 0 1 1 0 5.5 5.5 0 0 0 8.001 4.9A5 5 0 0 1 3 7.5a6.5 6.5 0 0 1 13 0 .5.5 0 0 1-1 0A5.5 5.5 0 0 0 9.5 2zM8 3.5a4 4 0 1 0 0 8 4 4 0 0 0 0-8z\"}}]})(props);\n};\nexport function BsTruckFlatbed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 4a.5.5 0 0 1 .5.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-4 0 1 1 0 0 1-1-1v-1h11V4.5a.5.5 0 0 1 .5-.5zM3 11a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm9 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm1.732 0h.768a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12v4a2 2 0 0 1 1.732 1z\"}}]})(props);\n};\nexport function BsTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3.5A1.5 1.5 0 0 1 1.5 2h9A1.5 1.5 0 0 1 12 3.5V5h1.02a1.5 1.5 0 0 1 1.17.563l1.481 1.85a1.5 1.5 0 0 1 .329.938V10.5a1.5 1.5 0 0 1-1.5 1.5H14a2 2 0 1 1-4 0H5a2 2 0 1 1-3.998-.085A1.5 1.5 0 0 1 0 10.5v-7zm1.294 7.456A1.999 1.999 0 0 1 4.732 11h5.536a2.01 2.01 0 0 1 .732-.732V3.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v7a.5.5 0 0 0 .294.456zM12 10a2 2 0 0 1 1.732 1h.768a.5.5 0 0 0 .5-.5V8.35a.5.5 0 0 0-.11-.312l-1.48-1.85A.5.5 0 0 0 13.02 6H12v4zm-9 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm9 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"}}]})(props);\n};\nexport function BsTsunami (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.036 12.314a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65zm0 2a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65zM2.662 8.08c-.456 1.063-.994 2.098-1.842 2.804a.5.5 0 0 1-.64-.768c.652-.544 1.114-1.384 1.564-2.43.14-.328.281-.68.427-1.044.302-.754.624-1.559 1.01-2.308C3.763 3.2 4.528 2.105 5.7 1.299 6.877.49 8.418 0 10.5 0c1.463 0 2.511.4 3.179 1.058.67.66.893 1.518.819 2.302-.074.771-.441 1.516-1.02 1.965a1.878 1.878 0 0 1-1.904.27c-.65.642-.907 1.679-.71 2.614C11.076 9.215 11.784 10 13 10h2.5a.5.5 0 0 1 0 1H13c-1.784 0-2.826-1.215-3.114-2.585-.232-1.1.005-2.373.758-3.284L10.5 5.06l-.777.388a.5.5 0 0 1-.447 0l-1-.5a.5.5 0 0 1 .447-.894l.777.388.776-.388a.5.5 0 0 1 .447 0l1 .5a.493.493 0 0 1 .034.018c.44.264.81.195 1.108-.036.328-.255.586-.729.637-1.27.05-.529-.1-1.076-.525-1.495-.426-.42-1.19-.77-2.477-.77-1.918 0-3.252.448-4.232 1.123C5.283 2.8 4.61 3.738 4.07 4.79c-.365.71-.655 1.433-.945 2.16-.15.376-.301.753-.463 1.13z\"}}]})(props);\n};\nexport function BsTvFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM2 2h12s2 0 2 2v6s0 2-2 2H2s-2 0-2-2V4s0-2 2-2z\"}}]})(props);\n};\nexport function BsTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 13.5A.5.5 0 0 1 3 13h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zM13.991 3l.024.001a1.46 1.46 0 0 1 .538.143.757.757 0 0 1 .302.254c.067.1.145.277.145.602v5.991l-.001.024a1.464 1.464 0 0 1-.143.538.758.758 0 0 1-.254.302c-.1.067-.277.145-.602.145H2.009l-.024-.001a1.464 1.464 0 0 1-.538-.143.758.758 0 0 1-.302-.254C1.078 10.502 1 10.325 1 10V4.009l.001-.024a1.46 1.46 0 0 1 .143-.538.758.758 0 0 1 .254-.302C1.498 3.078 1.675 3 2 3h11.991zM14 2H2C0 2 0 4 0 4v6c0 2 2 2 2 2h12c2 0 2-2 2-2V4c0-2-2-2-2-2z\"}}]})(props);\n};\nexport function BsTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.857 0 1 2.857v10.286h3.429V16l2.857-2.857H9.57L14.714 8V0H3.857zm9.714 7.429-2.285 2.285H9l-2 2v-2H4.429V1.143h9.142v6.286z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.857 3.143h-1.143V6.57h1.143V3.143zm-3.143 0H7.571V6.57h1.143V3.143z\"}}]})(props);\n};\nexport function BsTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z\"}}]})(props);\n};\nexport function BsTypeBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.21 13c2.106 0 3.412-1.087 3.412-2.823 0-1.306-.984-2.283-2.324-2.386v-.055a2.176 2.176 0 0 0 1.852-2.14c0-1.51-1.162-2.46-3.014-2.46H3.843V13H8.21zM5.908 4.674h1.696c.963 0 1.517.451 1.517 1.244 0 .834-.629 1.32-1.73 1.32H5.908V4.673zm0 6.788V8.598h1.73c1.217 0 1.88.492 1.88 1.415 0 .943-.643 1.449-1.832 1.449H5.907z\"}}]})(props);\n};\nexport function BsTypeH1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.637 13V3.669H7.379V7.62H2.758V3.67H1.5V13h1.258V8.728h4.62V13h1.259zm5.329 0V3.669h-1.244L10.5 5.316v1.265l2.16-1.565h.062V13h1.244z\"}}]})(props);\n};\nexport function BsTypeH2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.638 13V3.669H6.38V7.62H1.759V3.67H.5V13h1.258V8.728h4.62V13h1.259zm3.022-6.733v-.048c0-.889.63-1.668 1.716-1.668.957 0 1.675.608 1.675 1.572 0 .855-.554 1.504-1.067 2.085l-3.513 3.999V13H15.5v-1.094h-4.245v-.075l2.481-2.844c.875-.998 1.586-1.784 1.586-2.953 0-1.463-1.155-2.556-2.919-2.556-1.941 0-2.966 1.326-2.966 2.74v.049h1.223z\"}}]})(props);\n};\nexport function BsTypeH3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.637 13V3.669H6.379V7.62H1.758V3.67H.5V13h1.258V8.728h4.62V13h1.259zm3.625-4.272h1.018c1.142 0 1.935.67 1.949 1.674.013 1.005-.78 1.737-2.01 1.73-1.08-.007-1.853-.588-1.935-1.32H9.108c.069 1.327 1.224 2.386 3.083 2.386 1.935 0 3.343-1.155 3.309-2.789-.027-1.51-1.251-2.16-2.037-2.249v-.068c.704-.123 1.764-.91 1.723-2.229-.035-1.353-1.176-2.4-2.954-2.385-1.873.006-2.857 1.162-2.898 2.358h1.196c.062-.69.711-1.299 1.696-1.299.998 0 1.695.622 1.695 1.525.007.922-.718 1.592-1.695 1.592h-.964v1.074z\"}}]})(props);\n};\nexport function BsTypeItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.991 11.674 9.53 4.455c.123-.595.246-.71 1.347-.807l.11-.52H7.211l-.11.52c1.06.096 1.128.212 1.005.807L6.57 11.674c-.123.595-.246.71-1.346.806l-.11.52h3.774l.11-.52c-1.06-.095-1.129-.211-1.006-.806z\"}}]})(props);\n};\nexport function BsTypeStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.333 5.686c0 .31.083.581.27.814H5.166a2.776 2.776 0 0 1-.099-.76c0-1.627 1.436-2.768 3.48-2.768 1.969 0 3.39 1.175 3.445 2.85h-1.23c-.11-1.08-.964-1.743-2.25-1.743-1.23 0-2.18.602-2.18 1.607zm2.194 7.478c-2.153 0-3.589-1.107-3.705-2.81h1.23c.144 1.06 1.129 1.703 2.544 1.703 1.34 0 2.31-.705 2.31-1.675 0-.827-.547-1.374-1.914-1.675L8.046 8.5H1v-1h14v1h-3.504c.468.437.675.994.675 1.697 0 1.826-1.436 2.967-3.644 2.967z\"}}]})(props);\n};\nexport function BsTypeUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.313 3.136h-1.23V9.54c0 2.105 1.47 3.623 3.917 3.623s3.917-1.518 3.917-3.623V3.136h-1.23v6.323c0 1.49-.978 2.57-2.687 2.57-1.709 0-2.687-1.08-2.687-2.57V3.136zM12.5 15h-9v-1h9v1z\"}}]})(props);\n};\nexport function BsType (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m2.244 13.081.943-2.803H6.66l.944 2.803H8.86L5.54 3.75H4.322L1 13.081h1.244zm2.7-7.923L6.34 9.314H3.51l1.4-4.156h.034zm9.146 7.027h.035v.896h1.128V8.125c0-1.51-1.114-2.345-2.646-2.345-1.736 0-2.59.916-2.666 2.174h1.108c.068-.718.595-1.19 1.517-1.19.971 0 1.518.52 1.518 1.464v.731H12.19c-1.647.007-2.522.8-2.522 2.058 0 1.319.957 2.18 2.345 2.18 1.06 0 1.716-.43 2.078-1.011zm-1.763.035c-.752 0-1.456-.397-1.456-1.244 0-.65.424-1.115 1.408-1.115h1.805v.834c0 .896-.752 1.525-1.757 1.525z\"}}]})(props);\n};\nexport function BsUiChecksGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1v-3a1 1 0 0 1 1-1zm9-9h3a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zm0 9a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-3zm0-10a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-3zM2 9a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H2zm7 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-3a2 2 0 0 1-2-2v-3zM0 2a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.354.854a.5.5 0 1 0-.708-.708L3 3.793l-.646-.647a.5.5 0 1 0-.708.708l1 1a.5.5 0 0 0 .708 0l2-2z\"}}]})(props);\n};\nexport function BsUiChecks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM2 1a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm0 8a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H2zm.854-3.646a.5.5 0 0 1-.708 0l-1-1a.5.5 0 1 1 .708-.708l.646.647 1.646-1.647a.5.5 0 1 1 .708.708l-2 2zm0 8a.5.5 0 0 1-.708 0l-1-1a.5.5 0 0 1 .708-.708l.646.647 1.646-1.647a.5.5 0 0 1 .708.708l-2 2zM7 10.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsUiRadiosGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.5 15a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm9-9a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5zm0 9a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5zM16 3.5a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0zm-9 9a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0zm5.5 3.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zm-9-11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 2a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z\"}}]})(props);\n};\nexport function BsUiRadios (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM0 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm7-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zM3 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0 4.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\"}}]})(props);\n};\nexport function BsUmbrellaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0z\"}}]})(props);\n};\nexport function BsUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 0a.5.5 0 0 1 .5.5v.514C12.625 1.238 16 4.22 16 8c0 0 0 .5-.5.5-.149 0-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394A3.166 3.166 0 0 0 13 7.5c-.638 0-1.178.213-1.564.434a3.484 3.484 0 0 0-.555.394l-.025.023-.003.003s-.204.146-.353.146-.352-.145-.352-.145l-.004-.004-.025-.023a3.484 3.484 0 0 0-.555-.394 3.3 3.3 0 0 0-1.064-.39V13.5H8h.5v.039l-.005.083a2.958 2.958 0 0 1-.298 1.102 2.257 2.257 0 0 1-.763.88C7.06 15.851 6.587 16 6 16s-1.061-.148-1.434-.396a2.255 2.255 0 0 1-.763-.88 2.958 2.958 0 0 1-.302-1.185v-.025l-.001-.009v-.003s0-.002.5-.002h-.5V13a.5.5 0 0 1 1 0v.506l.003.044a1.958 1.958 0 0 0 .195.726c.095.191.23.367.423.495.19.127.466.229.879.229s.689-.102.879-.229c.193-.128.328-.304.424-.495a1.958 1.958 0 0 0 .197-.77V7.544a3.3 3.3 0 0 0-1.064.39 3.482 3.482 0 0 0-.58.417l-.004.004S5.65 8.5 5.5 8.5c-.149 0-.352-.145-.352-.145l-.004-.004a3.482 3.482 0 0 0-.58-.417A3.166 3.166 0 0 0 3 7.5c-.638 0-1.177.213-1.564.434a3.482 3.482 0 0 0-.58.417l-.004.004S.65 8.5.5 8.5C0 8.5 0 8 0 8c0-3.78 3.375-6.762 7.5-6.986V.5A.5.5 0 0 1 8 0zM6.577 2.123c-2.833.5-4.99 2.458-5.474 4.854A4.124 4.124 0 0 1 3 6.5c.806 0 1.48.25 1.962.511a9.706 9.706 0 0 1 .344-2.358c.242-.868.64-1.765 1.271-2.53zm-.615 4.93A4.16 4.16 0 0 1 8 6.5a4.16 4.16 0 0 1 2.038.553 8.688 8.688 0 0 0-.307-2.13C9.434 3.858 8.898 2.83 8 2.117c-.898.712-1.434 1.74-1.731 2.804a8.687 8.687 0 0 0-.307 2.131zm3.46-4.93c.631.765 1.03 1.662 1.272 2.53.233.833.328 1.66.344 2.358A4.14 4.14 0 0 1 13 6.5c.77 0 1.42.23 1.897.477-.484-2.396-2.641-4.355-5.474-4.854z\"}}]})(props);\n};\nexport function BsUnion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v2h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2H2a2 2 0 0 1-2-2V2z\"}}]})(props);\n};\nexport function BsUnlockFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2z\"}}]})(props);\n};\nexport function BsUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 1a2 2 0 0 0-2 2v4a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h5V3a3 3 0 0 1 6 0v4a.5.5 0 0 1-1 0V3a2 2 0 0 0-2-2zM3 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1H3z\"}}]})(props);\n};\nexport function BsUpcScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5zM3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z\"}}]})(props);\n};\nexport function BsUpc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7zm2 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-7zm3 0a.5.5 0 0 1 1 0v7a.5.5 0 0 1-1 0v-7z\"}}]})(props);\n};\nexport function BsUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708l3-3z\"}}]})(props);\n};\nexport function BsVectorPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.646.646a.5.5 0 0 1 .708 0l4 4a.5.5 0 0 1 0 .708l-1.902 1.902-.829 3.313a1.5 1.5 0 0 1-1.024 1.073L1.254 14.746 4.358 4.4A1.5 1.5 0 0 1 5.43 3.377l3.313-.828L10.646.646zm-1.8 2.908-3.173.793a.5.5 0 0 0-.358.342l-2.57 8.565 8.567-2.57a.5.5 0 0 0 .34-.357l.794-3.174-3.6-3.6z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.832 13.228 8 9a1 1 0 1 0-1-1l-4.228 5.168-.026.086.086-.026z\"}}]})(props);\n};\nexport function BsViewList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4.5h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3zM1 2a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 2zm0 12a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13A.5.5 0 0 1 1 14z\"}}]})(props);\n};\nexport function BsViewStacked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 0h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H3zm0 8h10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2zm0 1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1H3z\"}}]})(props);\n};\nexport function BsVimeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.992 4.204c-.071 1.556-1.158 3.687-3.262 6.393-2.175 2.829-4.016 4.243-5.522 4.243-.933 0-1.722-.861-2.367-2.583L3.55 7.523C3.07 5.8 2.556 4.94 2.007 4.94c-.118 0-.537.253-1.254.754L0 4.724a209.56 209.56 0 0 0 2.334-2.081c1.054-.91 1.845-1.388 2.373-1.437 1.243-.123 2.01.728 2.298 2.553.31 1.968.526 3.19.646 3.666.36 1.631.756 2.446 1.186 2.445.334 0 .836-.53 1.508-1.587.671-1.058 1.03-1.863 1.077-2.415.096-.913-.263-1.37-1.077-1.37a3.022 3.022 0 0 0-1.185.261c.789-2.573 2.291-3.825 4.508-3.756 1.644.05 2.419 1.117 2.324 3.2z\"}}]})(props);\n};\nexport function BsVinylFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 3a1 1 0 1 1 0-2 1 1 0 0 1 0 2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4 8a4 4 0 1 0 8 0 4 4 0 0 0-8 0z\"}}]})(props);\n};\nexport function BsVinyl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM4 8a4 4 0 1 1 8 0 4 4 0 0 1-8 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0z\"}}]})(props);\n};\nexport function BsVoicemail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8.5A3.49 3.49 0 0 1 5.95 11h4.1a3.5 3.5 0 1 1 2.45 1h-9A3.5 3.5 0 1 1 7 8.5zm-6 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0zm14 0a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0z\"}}]})(props);\n};\nexport function BsVolumeDownFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zm3.025 4a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsVolumeDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4a.5.5 0 0 0-.812-.39L5.825 5.5H3.5A.5.5 0 0 0 3 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 9 12V4zM6.312 6.39 8 5.04v5.92L6.312 9.61A.5.5 0 0 0 6 9.5H4v-3h2a.5.5 0 0 0 .312-.11zM12.025 8a4.486 4.486 0 0 1-1.318 3.182L10 10.475A3.489 3.489 0 0 0 11.025 8 3.49 3.49 0 0 0 10 5.525l.707-.707A4.486 4.486 0 0 1 12.025 8z\"}}]})(props);\n};\nexport function BsVolumeMuteFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zm7.137 2.096a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsVolumeMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zM6 5.04 4.312 6.39A.5.5 0 0 1 4 6.5H2v3h2a.5.5 0 0 1 .312.11L6 10.96V5.04zm7.854.606a.5.5 0 0 1 0 .708L12.207 8l1.647 1.646a.5.5 0 0 1-.708.708L11.5 8.707l-1.646 1.647a.5.5 0 0 1-.708-.708L10.793 8 9.146 6.354a.5.5 0 1 1 .708-.708L11.5 7.293l1.646-1.647a.5.5 0 0 1 .708 0z\"}}]})(props);\n};\nexport function BsVolumeOffFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.717 3.55A.5.5 0 0 1 11 4v8a.5.5 0 0 1-.812.39L7.825 10.5H5.5A.5.5 0 0 1 5 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06zM10 5.04 8.312 6.39A.5.5 0 0 1 8 6.5H6v3h2a.5.5 0 0 1 .312.11L10 10.96V5.04z\"}}]})(props);\n};\nexport function BsVolumeUpFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 11.182A4.486 4.486 0 0 0 10.025 8a4.486 4.486 0 0 0-1.318-3.182L8 5.525A3.489 3.489 0 0 1 9.025 8 3.49 3.49 0 0 1 8 10.475l.707.707zM6.717 3.55A.5.5 0 0 1 7 4v8a.5.5 0 0 1-.812.39L3.825 10.5H1.5A.5.5 0 0 1 1 10V6a.5.5 0 0 1 .5-.5h2.325l2.363-1.89a.5.5 0 0 1 .529-.06z\"}}]})(props);\n};\nexport function BsVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.536 14.01A8.473 8.473 0 0 0 14.026 8a8.473 8.473 0 0 0-2.49-6.01l-.708.707A7.476 7.476 0 0 1 13.025 8c0 2.071-.84 3.946-2.197 5.303l.708.707z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.121 12.596A6.48 6.48 0 0 0 12.025 8a6.48 6.48 0 0 0-1.904-4.596l-.707.707A5.483 5.483 0 0 1 11.025 8a5.483 5.483 0 0 1-1.61 3.89l.706.706z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.025 8a4.486 4.486 0 0 1-1.318 3.182L8 10.475A3.489 3.489 0 0 0 9.025 8c0-.966-.392-1.841-1.025-2.475l.707-.707A4.486 4.486 0 0 1 10.025 8zM7 4a.5.5 0 0 0-.812-.39L3.825 5.5H1.5A.5.5 0 0 0 1 6v4a.5.5 0 0 0 .5.5h2.325l2.363 1.89A.5.5 0 0 0 7 12V4zM4.312 6.39 6 5.04v5.92L4.312 9.61A.5.5 0 0 0 4 9.5H2v-3h2a.5.5 0 0 0 .312-.11z\"}}]})(props);\n};\nexport function BsVr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12V4a1 1 0 0 1 1-1h2.5V2H4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2.5v-1H4a1 1 0 0 1-1-1zm6.5 1v1H12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H9.5v1H12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H9.5zM8 16a.5.5 0 0 1-.5-.5V.5a.5.5 0 0 1 1 0v15a.5.5 0 0 1-.5.5z\"}}]})(props);\n};\nexport function BsWalletFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5 2A1.5 1.5 0 0 0 0 3.5v2h6a.5.5 0 0 1 .5.5c0 .253.08.644.306.958.207.288.557.542 1.194.542.637 0 .987-.254 1.194-.542.226-.314.306-.705.306-.958a.5.5 0 0 1 .5-.5h6v-2A1.5 1.5 0 0 0 14.5 2h-13z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6.5h-5.551a2.678 2.678 0 0 1-.443 1.042C9.613 8.088 8.963 8.5 8 8.5c-.963 0-1.613-.412-2.006-.958A2.679 2.679 0 0 1 5.551 6.5H0v6A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-6z\"}}]})(props);\n};\nexport function BsWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 3a2 2 0 0 1 2-2h13.5a.5.5 0 0 1 0 1H15v2a1 1 0 0 1 1 1v8.5a1.5 1.5 0 0 1-1.5 1.5h-12A2.5 2.5 0 0 1 0 12.5V3zm1 1.732V12.5A1.5 1.5 0 0 0 2.5 14h12a.5.5 0 0 0 .5-.5V5H2a1.99 1.99 0 0 1-1-.268zM1 3a1 1 0 0 0 1 1h12V2H2a1 1 0 0 0-1 1z\"}}]})(props);\n};\nexport function BsWallet2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.136.326A1.5 1.5 0 0 1 14 1.78V3h.5A1.5 1.5 0 0 1 16 4.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 13.5v-9a1.5 1.5 0 0 1 1.432-1.499L12.136.326zM5.562 3H13V1.78a.5.5 0 0 0-.621-.484L5.562 3zM1.5 4a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h13a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-13z\"}}]})(props);\n};\nexport function BsWatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 5a.5.5 0 0 0-1 0v2.5H6a.5.5 0 0 0 0 1h2a.5.5 0 0 0 .5-.5V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.667 16C4.747 16 4 15.254 4 14.333v-1.86A5.985 5.985 0 0 1 2 8c0-1.777.772-3.374 2-4.472V1.667C4 .747 4.746 0 5.667 0h4.666C11.253 0 12 .746 12 1.667v1.86a5.99 5.99 0 0 1 1.918 3.48.502.502 0 0 1 .582.493v1a.5.5 0 0 1-.582.493A5.99 5.99 0 0 1 12 12.473v1.86c0 .92-.746 1.667-1.667 1.667H5.667zM13 8A5 5 0 1 0 3 8a5 5 0 0 0 10 0z\"}}]})(props);\n};\nexport function BsWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.036 3.314a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 3.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 6.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0L.314 9.964a.5.5 0 0 1-.278-.65zm0 3a.5.5 0 0 1 .65-.278l1.757.703a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.014-.406a2.5 2.5 0 0 1 1.857 0l1.015.406a1.5 1.5 0 0 0 1.114 0l1.757-.703a.5.5 0 1 1 .372.928l-1.758.703a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.014-.406a1.5 1.5 0 0 0-1.114 0l-1.015.406a2.5 2.5 0 0 1-1.857 0l-1.757-.703a.5.5 0 0 1-.278-.65z\"}}]})(props);\n};\nexport function BsWhatsapp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z\"}}]})(props);\n};\nexport function BsWifi1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.046 10.454c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.407.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.611-.091l.015-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .707 0l.708-.707z\"}}]})(props);\n};\nexport function BsWifi2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.229 8.271c.216-.216.194-.578-.063-.745A9.456 9.456 0 0 0 8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065A8.46 8.46 0 0 1 8 7a8.46 8.46 0 0 1 4.577 1.336c.205.132.48.108.652-.065zm-2.183 2.183c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.408.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.611-.091l.015-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .708 0l.707-.707z\"}}]})(props);\n};\nexport function BsWifiOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.706 3.294A12.545 12.545 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c.63 0 1.249.05 1.852.148l.854-.854zM8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065 8.448 8.448 0 0 1 3.51-1.27L8 6zm2.596 1.404.785-.785c.63.24 1.227.545 1.785.907a.482.482 0 0 1 .063.745.525.525 0 0 1-.652.065 8.462 8.462 0 0 0-1.98-.932zM8 10l.933-.933a6.455 6.455 0 0 1 2.013.637c.285.145.326.524.1.75l-.015.015a.532.532 0 0 1-.611.09A5.478 5.478 0 0 0 8 10zm4.905-4.905.747-.747c.59.3 1.153.645 1.685 1.03a.485.485 0 0 1 .047.737.518.518 0 0 1-.668.05 11.493 11.493 0 0 0-1.811-1.07zM9.02 11.78c.238.14.236.464.04.66l-.707.706a.5.5 0 0 1-.707 0l-.707-.707c-.195-.195-.197-.518.04-.66A1.99 1.99 0 0 1 8 11.5c.374 0 .723.102 1.021.28zm4.355-9.905a.53.53 0 0 1 .75.75l-10.75 10.75a.53.53 0 0 1-.75-.75l10.75-10.75z\"}}]})(props);\n};\nexport function BsWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.384 6.115a.485.485 0 0 0-.047-.736A12.444 12.444 0 0 0 8 3C5.259 3 2.723 3.882.663 5.379a.485.485 0 0 0-.048.736.518.518 0 0 0 .668.05A11.448 11.448 0 0 1 8 4c2.507 0 4.827.802 6.716 2.164.205.148.49.13.668-.049z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.229 8.271a.482.482 0 0 0-.063-.745A9.455 9.455 0 0 0 8 6c-1.905 0-3.68.56-5.166 1.526a.48.48 0 0 0-.063.745.525.525 0 0 0 .652.065A8.46 8.46 0 0 1 8 7a8.46 8.46 0 0 1 4.576 1.336c.206.132.48.108.653-.065zm-2.183 2.183c.226-.226.185-.605-.1-.75A6.473 6.473 0 0 0 8 9c-1.06 0-2.062.254-2.946.704-.285.145-.326.524-.1.75l.015.015c.16.16.407.19.611.09A5.478 5.478 0 0 1 8 10c.868 0 1.69.201 2.42.56.203.1.45.07.61-.091l.016-.015zM9.06 12.44c.196-.196.198-.52-.04-.66A1.99 1.99 0 0 0 8 11.5a1.99 1.99 0 0 0-1.02.28c-.238.14-.236.464-.04.66l.706.706a.5.5 0 0 0 .707 0l.707-.707z\"}}]})(props);\n};\nexport function BsWind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5 2A2.5 2.5 0 0 0 10 4.5a.5.5 0 0 1-1 0A3.5 3.5 0 1 1 12.5 8H.5a.5.5 0 0 1 0-1h12a2.5 2.5 0 0 0 0-5zm-7 1a1 1 0 0 0-1 1 .5.5 0 0 1-1 0 2 2 0 1 1 2 2h-5a.5.5 0 0 1 0-1h5a1 1 0 0 0 0-2zM0 9.5A.5.5 0 0 1 .5 9h10.042a3 3 0 1 1-3 3 .5.5 0 0 1 1 0 2 2 0 1 0 2-2H.5a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\nexport function BsWindowDock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15 5H1v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V5zm0-1H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v1zm1-1a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm4 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z\"}}]})(props);\n};\nexport function BsWindowSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm12 1a1 1 0 0 1 1 1v2H1V3a1 1 0 0 1 1-1h12zM1 13V6h4v8H2a1 1 0 0 1-1-1zm5 1V6h9v7a1 1 0 0 1-1 1H6z\"}}]})(props);\n};\nexport function BsWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1zm2-.5a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0zm1 .5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H2zm13 2v2H1V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1zM2 14a1 1 0 0 1-1-1V6h14v7a1 1 0 0 1-1 1H2z\"}}]})(props);\n};\nexport function BsWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.555 1.375 0 2.237v5.45h6.555V1.375zM0 13.795l6.555.933V8.313H0v5.482zm7.278-5.4.026 6.378L16 16V8.395H7.278zM16 0 7.33 1.244v6.414H16V0z\"}}]})(props);\n};\nexport function BsWordpress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.633 7.653c0-.848-.305-1.435-.566-1.892l-.08-.13c-.317-.51-.594-.958-.594-1.48 0-.63.478-1.218 1.152-1.218.02 0 .039.002.058.003l.031.003A6.838 6.838 0 0 0 8 1.137 6.855 6.855 0 0 0 2.266 4.23c.16.005.313.009.442.009.717 0 1.828-.087 1.828-.087.37-.022.414.521.044.565 0 0-.371.044-.785.065l2.5 7.434 1.5-4.506-1.07-2.929c-.369-.022-.719-.065-.719-.065-.37-.022-.326-.588.043-.566 0 0 1.134.087 1.808.087.718 0 1.83-.087 1.83-.087.37-.022.413.522.043.566 0 0-.372.043-.785.065l2.48 7.377.684-2.287.054-.173c.27-.86.469-1.495.469-2.046zM1.137 8a6.864 6.864 0 0 0 3.868 6.176L1.73 5.206A6.837 6.837 0 0 0 1.137 8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.061 14.583 8.121 8.6l2.109 5.78c.014.033.03.064.049.094a6.854 6.854 0 0 1-4.218.109zm7.96-9.876c.03.219.047.453.047.706 0 .696-.13 1.479-.522 2.458l-2.096 6.06a6.86 6.86 0 0 0 2.572-9.224z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M0 8c0-4.411 3.589-8 8-8 4.41 0 8 3.589 8 8s-3.59 8-8 8c-4.411 0-8-3.589-8-8zm.367 0c0 4.209 3.424 7.633 7.633 7.633 4.208 0 7.632-3.424 7.632-7.633C15.632 3.79 12.208.367 8 .367 3.79.367.367 3.79.367 8z\"}}]})(props);\n};\nexport function BsWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.102 2.223A3.004 3.004 0 0 0 3.78 5.897l6.341 6.252A3.003 3.003 0 0 0 13 16a3 3 0 1 0-.851-5.878L5.897 3.781A3.004 3.004 0 0 0 2.223.1l2.141 2.142L4 4l-1.757.364L.102 2.223zm13.37 9.019.528.026.287.445.445.287.026.529L15 13l-.242.471-.026.529-.445.287-.287.445-.529.026L13 15l-.471-.242-.529-.026-.287-.445-.445-.287-.026-.529L11 13l.242-.471.026-.529.445-.287.287-.445.529-.026L13 11l.471.242z\"}}]})(props);\n};\nexport function BsXCircleFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z\"}}]})(props);\n};\nexport function BsXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsXDiamondFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.05.435c-.58-.58-1.52-.58-2.1 0L4.047 3.339 8 7.293l3.954-3.954L9.049.435zm3.61 3.611L8.708 8l3.954 3.954 2.904-2.905c.58-.58.58-1.519 0-2.098l-2.904-2.905zm-.706 8.614L8 8.708l-3.954 3.954 2.905 2.904c.58.58 1.519.58 2.098 0l2.905-2.904zm-8.614-.706L7.292 8 3.339 4.046.435 6.951c-.58.58-.58 1.519 0 2.098l2.904 2.905z\"}}]})(props);\n};\nexport function BsXDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.987 16a1.526 1.526 0 0 1-1.07-.448L.45 9.082a1.531 1.531 0 0 1 0-2.165L6.917.45a1.531 1.531 0 0 1 2.166 0l6.469 6.468A1.526 1.526 0 0 1 16 8.013a1.526 1.526 0 0 1-.448 1.07l-6.47 6.469A1.526 1.526 0 0 1 7.988 16zM7.639 1.17 4.766 4.044 8 7.278l3.234-3.234L8.361 1.17a.51.51 0 0 0-.722 0zM8.722 8l3.234 3.234 2.873-2.873c.2-.2.2-.523 0-.722l-2.873-2.873L8.722 8zM8 8.722l-3.234 3.234 2.873 2.873c.2.2.523.2.722 0l2.873-2.873L8 8.722zM7.278 8 4.044 4.766 1.17 7.639a.511.511 0 0 0 0 .722l2.874 2.873L7.278 8z\"}}]})(props);\n};\nexport function BsXLg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.293 1.293a1 1 0 0 1 1.414 0L8 6.586l5.293-5.293a1 1 0 1 1 1.414 1.414L9.414 8l5.293 5.293a1 1 0 0 1-1.414 1.414L8 9.414l-5.293 5.293a1 1 0 0 1-1.414-1.414L6.586 8 1.293 2.707a1 1 0 0 1 0-1.414z\"}}]})(props);\n};\nexport function BsXOctagonFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.46.146A.5.5 0 0 0 11.107 0H4.893a.5.5 0 0 0-.353.146L.146 4.54A.5.5 0 0 0 0 4.893v6.214a.5.5 0 0 0 .146.353l4.394 4.394a.5.5 0 0 0 .353.146h6.214a.5.5 0 0 0 .353-.146l4.394-4.394a.5.5 0 0 0 .146-.353V4.893a.5.5 0 0 0-.146-.353L11.46.146zm-6.106 4.5L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsXOctagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1 1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsXSquareFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm3.354 4.646L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708z\"}}]})(props);\n};\nexport function BsXSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"}}]})(props);\n};\nexport function BsYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z\"}}]})(props);\n};\nexport function BsZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 3a.5.5 0 0 1 .5.5V6h2.5a.5.5 0 0 1 0 1H7v2.5a.5.5 0 0 1-1 0V7H3.5a.5.5 0 0 1 0-1H6V3.5a.5.5 0 0 1 .5-.5z\"}}]})(props);\n};\nexport function BsZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"currentColor\",\"viewBox\":\"0 0 16 16\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.5 12a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11zM13 6.5a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.344 11.742c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1 6.538 6.538 0 0 1-1.398 1.4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 6.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z\"}}]})(props);\n};\n","const _excluded = [\"as\", \"disabled\"];\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\nexport function useButtonProps({\n tagName,\n disabled,\n href,\n target,\n rel,\n role,\n onClick,\n tabIndex = 0,\n type\n}) {\n if (!tagName) {\n if (href != null || target != null || rel != null) {\n tagName = 'a';\n } else {\n tagName = 'button';\n }\n }\n\n const meta = {\n tagName\n };\n\n if (tagName === 'button') {\n return [{\n type: type || 'button',\n disabled\n }, meta];\n }\n\n const handleClick = event => {\n if (disabled || tagName === 'a' && isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n onClick == null ? void 0 : onClick(event);\n };\n\n const handleKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault();\n handleClick(event);\n }\n };\n\n if (tagName === 'a') {\n // Ensure there's a href so Enter can trigger anchor button.\n href || (href = '#');\n\n if (disabled) {\n href = undefined;\n }\n }\n\n return [{\n role: role != null ? role : 'button',\n // explicitly undefined so that it overrides the props disabled in a spread\n // e.g. \n disabled: undefined,\n tabIndex: disabled ? undefined : tabIndex,\n href,\n target: tagName === 'a' ? target : undefined,\n 'aria-disabled': !disabled ? undefined : disabled,\n rel: tagName === 'a' ? rel : undefined,\n onClick: handleClick,\n onKeyDown: handleKeyDown\n }, meta];\n}\nconst Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {\n let {\n as: asProp,\n disabled\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n const [buttonProps, {\n tagName: Component\n }] = useButtonProps(Object.assign({\n tagName: asProp,\n disabled\n }, props));\n return /*#__PURE__*/_jsx(Component, Object.assign({}, props, buttonProps, {\n ref: ref\n }));\n});\nButton.displayName = 'Button';\nexport default Button;","import * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const DEFAULT_BREAKPOINTS = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport const DEFAULT_MIN_BREAKPOINT = 'xs';\nconst ThemeContext = /*#__PURE__*/React.createContext({\n prefixes: {},\n breakpoints: DEFAULT_BREAKPOINTS,\n minBreakpoint: DEFAULT_MIN_BREAKPOINT\n});\nconst {\n Consumer,\n Provider\n} = ThemeContext;\n\nfunction ThemeProvider({\n prefixes = {},\n breakpoints = DEFAULT_BREAKPOINTS,\n minBreakpoint = DEFAULT_MIN_BREAKPOINT,\n dir,\n children\n}) {\n const contextValue = useMemo(() => ({\n prefixes: { ...prefixes\n },\n breakpoints,\n minBreakpoint,\n dir\n }), [prefixes, breakpoints, minBreakpoint, dir]);\n return /*#__PURE__*/_jsx(Provider, {\n value: contextValue,\n children: children\n });\n}\n\nexport function useBootstrapPrefix(prefix, defaultPrefix) {\n const {\n prefixes\n } = useContext(ThemeContext);\n return prefix || prefixes[defaultPrefix] || defaultPrefix;\n}\nexport function useBootstrapBreakpoints() {\n const {\n breakpoints\n } = useContext(ThemeContext);\n return breakpoints;\n}\nexport function useBootstrapMinBreakpoint() {\n const {\n minBreakpoint\n } = useContext(ThemeContext);\n return minBreakpoint;\n}\nexport function useIsRTL() {\n const {\n dir\n } = useContext(ThemeContext);\n return dir === 'rtl';\n}\n\nfunction createBootstrapComponent(Component, opts) {\n if (typeof opts === 'string') opts = {\n prefix: opts\n };\n const isClassy = Component.prototype && Component.prototype.isReactComponent; // If it's a functional component make sure we don't break it with a ref\n\n const {\n prefix,\n forwardRefAs = isClassy ? 'ref' : 'innerRef'\n } = opts;\n const Wrapped = /*#__PURE__*/React.forwardRef(({ ...props\n }, ref) => {\n props[forwardRefAs] = ref;\n const bsPrefix = useBootstrapPrefix(props.bsPrefix, prefix);\n return /*#__PURE__*/_jsx(Component, { ...props,\n bsPrefix: bsPrefix\n });\n });\n Wrapped.displayName = `Bootstrap(${Component.displayName || Component.name})`;\n return Wrapped;\n}\n\nexport { createBootstrapComponent, Consumer as ThemeConsumer };\nexport default ThemeProvider;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useButtonProps } from '@restart/ui/Button';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n variant: 'primary',\n active: false,\n disabled: false\n};\nconst Button = /*#__PURE__*/React.forwardRef(({\n as,\n bsPrefix,\n variant,\n size,\n active,\n className,\n ...props\n}, ref) => {\n const prefix = useBootstrapPrefix(bsPrefix, 'btn');\n const [buttonProps, {\n tagName\n }] = useButtonProps({\n tagName: as,\n ...props\n });\n const Component = tagName;\n return /*#__PURE__*/_jsx(Component, { ...buttonProps,\n ...props,\n ref: ref,\n className: classNames(className, prefix, active && 'active', variant && `${prefix}-${variant}`, size && `${prefix}-${size}`, props.href && props.disabled && 'disabled')\n });\n});\nButton.displayName = 'Button';\nButton.defaultProps = defaultProps;\nexport default Button;","/* eslint-disable no-bitwise, no-cond-assign */\n\n/**\n * Checks if an element contains another given element.\n * \n * @param context the context element\n * @param node the element to check\n */\nexport default function contains(context, node) {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n if (context.contains) return context.contains(node);\n if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16);\n}","import { useRef, useEffect } from 'react';\n/**\n * Track whether a component is current mounted. Generally less preferable than\n * properlly canceling effects so they don't run after a component is unmounted,\n * but helpful in cases where that isn't feasible, such as a `Promise` resolution.\n *\n * @returns a function that returns the current isMounted state of the component\n *\n * ```ts\n * const [data, setData] = useState(null)\n * const isMounted = useMounted()\n *\n * useEffect(() => {\n * fetchdata().then((newData) => {\n * if (isMounted()) {\n * setData(newData);\n * }\n * })\n * })\n * ```\n */\n\nexport default function useMounted() {\n var mounted = useRef(true);\n var isMounted = useRef(function () {\n return mounted.current;\n });\n useEffect(function () {\n mounted.current = true;\n return function () {\n mounted.current = false;\n };\n }, []);\n return isMounted.current;\n}","import useUpdatedRef from './useUpdatedRef';\nimport { useEffect } from 'react';\n/**\n * Attach a callback that fires when a component unmounts\n *\n * @param fn Handler to run when the component unmounts\n * @category effects\n */\n\nexport default function useWillUnmount(fn) {\n var onUnmount = useUpdatedRef(fn);\n useEffect(function () {\n return function () {\n return onUnmount.current();\n };\n }, []);\n}","import { useRef } from 'react';\n/**\n * Returns a ref that is immediately updated with the new value\n *\n * @param value The Ref value\n * @category refs\n */\n\nexport default function useUpdatedRef(value) {\n var valueRef = useRef(value);\n valueRef.current = value;\n return valueRef;\n}","import { useMemo, useRef } from 'react';\nimport useMounted from './useMounted';\nimport useWillUnmount from './useWillUnmount';\n/*\n * Browsers including Internet Explorer, Chrome, Safari, and Firefox store the\n * delay as a 32-bit signed integer internally. This causes an integer overflow\n * when using delays larger than 2,147,483,647 ms (about 24.8 days),\n * resulting in the timeout being executed immediately.\n *\n * via: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout\n */\n\nvar MAX_DELAY_MS = Math.pow(2, 31) - 1;\n\nfunction setChainedTimeout(handleRef, fn, timeoutAtMs) {\n var delayMs = timeoutAtMs - Date.now();\n handleRef.current = delayMs <= MAX_DELAY_MS ? setTimeout(fn, delayMs) : setTimeout(function () {\n return setChainedTimeout(handleRef, fn, timeoutAtMs);\n }, MAX_DELAY_MS);\n}\n/**\n * Returns a controller object for setting a timeout that is properly cleaned up\n * once the component unmounts. New timeouts cancel and replace existing ones.\n *\n *\n *\n * ```tsx\n * const { set, clear } = useTimeout();\n * const [hello, showHello] = useState(false);\n * //Display hello after 5 seconds\n * set(() => showHello(true), 5000);\n * return (\n *
    \n * {hello ?

    Hello

    : null}\n *
    \n * );\n * ```\n */\n\n\nexport default function useTimeout() {\n var isMounted = useMounted(); // types are confused between node and web here IDK\n\n var handleRef = useRef();\n useWillUnmount(function () {\n return clearTimeout(handleRef.current);\n });\n return useMemo(function () {\n var clear = function clear() {\n return clearTimeout(handleRef.current);\n };\n\n function set(fn, delayMs) {\n if (delayMs === void 0) {\n delayMs = 0;\n }\n\n if (!isMounted()) return;\n clear();\n\n if (delayMs <= MAX_DELAY_MS) {\n // For simplicity, if the timeout is short, just set a normal timeout.\n handleRef.current = setTimeout(fn, delayMs);\n } else {\n setChainedTimeout(handleRef, fn, Date.now() + delayMs);\n }\n }\n\n return {\n set: set,\n clear: clear\n };\n }, []);\n}","import invariant from 'invariant';\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nexport function uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\nexport function isProp(props, prop) {\n return props[prop] !== undefined;\n}\nexport function defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\nexport function canAcceptRef(component) {\n return !!component && (typeof component !== 'function' || component.prototype && component.prototype.isReactComponent);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport { useCallback, useRef, useState } from 'react';\nimport * as Utils from './utils';\n\nfunction useUncontrolledProp(propValue, defaultValue, handler) {\n var wasPropRef = useRef(propValue !== undefined);\n\n var _useState = useState(defaultValue),\n stateValue = _useState[0],\n setState = _useState[1];\n\n var isProp = propValue !== undefined;\n var wasProp = wasPropRef.current;\n wasPropRef.current = isProp;\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n\n if (!isProp && wasProp && stateValue !== defaultValue) {\n setState(defaultValue);\n }\n\n return [isProp ? propValue : stateValue, useCallback(function (value) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (handler) handler.apply(void 0, [value].concat(args));\n setState(value);\n }, [handler])];\n}\n\nexport { useUncontrolledProp };\nexport default function useUncontrolled(props, config) {\n return Object.keys(config).reduce(function (result, fieldName) {\n var _extends2;\n\n var _ref = result,\n defaultValue = _ref[Utils.defaultKey(fieldName)],\n propsValue = _ref[fieldName],\n rest = _objectWithoutPropertiesLoose(_ref, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));\n\n var handlerName = config[fieldName];\n\n var _useUncontrolledProp = useUncontrolledProp(propsValue, defaultValue, props[handlerName]),\n value = _useUncontrolledProp[0],\n handler = _useUncontrolledProp[1];\n\n return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = value, _extends2[handlerName] = handler, _extends2));\n }, props);\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","import { useMemo } from 'react';\n\nvar toFnRef = function toFnRef(ref) {\n return !ref || typeof ref === 'function' ? ref : function (value) {\n ref.current = value;\n };\n};\n\nexport function mergeRefs(refA, refB) {\n var a = toFnRef(refA);\n var b = toFnRef(refB);\n return function (value) {\n if (a) a(value);\n if (b) b(value);\n };\n}\n/**\n * Create and returns a single callback ref composed from two other Refs.\n *\n * ```tsx\n * const Button = React.forwardRef((props, ref) => {\n * const [element, attachRef] = useCallbackRef();\n * const mergedRef = useMergedRefs(ref, attachRef);\n *\n * return \n *
    \n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import ownerWindow from './ownerWindow';\n/**\n * Returns one or all computed style properties of an element.\n * \n * @param node the element\n * @param psuedoElement the style property\n */\n\nexport default function getComputedStyle(node, psuedoElement) {\n return ownerWindow(node).getComputedStyle(node, psuedoElement);\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the owner window of a given element.\n * \n * @param node the element\n */\n\nexport default function ownerWindow(node) {\n var doc = ownerDocument(node);\n return doc && doc.defaultView || window;\n}","var rUpper = /([A-Z])/g;\nexport default function hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}","/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nimport hyphenate from './hyphenate';\nvar msPattern = /^ms-/;\nexport default function hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}","var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\nexport default function isTransform(value) {\n return !!(value && supportedTransforms.test(value));\n}","import getComputedStyle from './getComputedStyle';\nimport hyphenate from './hyphenateStyle';\nimport isTransform from './isTransform';\n\nfunction style(node, property) {\n var css = '';\n var transforms = '';\n\n if (typeof property === 'string') {\n return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property));\n }\n\n Object.keys(property).forEach(function (key) {\n var value = property[key];\n\n if (!value && value !== 0) {\n node.style.removeProperty(hyphenate(key));\n } else if (isTransform(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += hyphenate(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += \"transform: \" + transforms + \";\";\n }\n\n node.style.cssText += \";\" + css;\n}\n\nexport default style;","import css from './css';\nimport listen from './listen';\nimport triggerEvent from './triggerEvent';\n\nfunction parseDuration(node) {\n var str = css(node, 'transitionDuration') || '';\n var mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nfunction emulateTransitionEnd(element, duration, padding) {\n if (padding === void 0) {\n padding = 5;\n }\n\n var called = false;\n var handle = setTimeout(function () {\n if (!called) triggerEvent(element, 'transitionend', true);\n }, duration + padding);\n var remove = listen(element, 'transitionend', function () {\n called = true;\n }, {\n once: true\n });\n return function () {\n clearTimeout(handle);\n remove();\n };\n}\n\nexport default function transitionEnd(element, handler, duration, padding) {\n if (duration == null) duration = parseDuration(element) || 0;\n var removeEmulate = emulateTransitionEnd(element, duration, padding);\n var remove = listen(element, 'transitionend', handler);\n return function () {\n removeEmulate();\n remove();\n };\n}","/**\n * Triggers an event on a given element.\n * \n * @param node the element\n * @param eventName the event name to trigger\n * @param bubbles whether the event should bubble up\n * @param cancelable whether the event should be cancelable\n */\nexport default function triggerEvent(node, eventName, bubbles, cancelable) {\n if (bubbles === void 0) {\n bubbles = false;\n }\n\n if (cancelable === void 0) {\n cancelable = true;\n }\n\n if (node) {\n var event = document.createEvent('HTMLEvents');\n event.initEvent(eventName, bubbles, cancelable);\n node.dispatchEvent(event);\n }\n}","import css from 'dom-helpers/css';\nimport transitionEnd from 'dom-helpers/transitionEnd';\n\nfunction parseDuration(node, property) {\n const str = css(node, property) || '';\n const mult = str.indexOf('ms') === -1 ? 1000 : 1;\n return parseFloat(str) * mult;\n}\n\nexport default function transitionEndListener(element, handler) {\n const duration = parseDuration(element, 'transitionDuration');\n const delay = parseDuration(element, 'transitionDelay');\n const remove = transitionEnd(element, e => {\n if (e.target === element) {\n remove();\n handler(e);\n }\n }, duration + delay);\n}","import ReactDOM from 'react-dom';\nexport default function safeFindDOMNode(componentOrElement) {\n if (componentOrElement && 'setState' in componentOrElement) {\n return ReactDOM.findDOMNode(componentOrElement);\n }\n\n return componentOrElement != null ? componentOrElement : null;\n}","import React, { useCallback, useRef } from 'react';\nimport Transition from 'react-transition-group/Transition';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n// Normalizes Transition callbacks when nodeRef is used.\nconst TransitionWrapper = /*#__PURE__*/React.forwardRef(({\n onEnter,\n onEntering,\n onEntered,\n onExit,\n onExiting,\n onExited,\n addEndListener,\n children,\n childRef,\n ...props\n}, ref) => {\n const nodeRef = useRef(null);\n const mergedRef = useMergedRefs(nodeRef, childRef);\n\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n\n const normalize = callback => param => {\n if (callback && nodeRef.current) {\n callback(nodeRef.current, param);\n }\n };\n /* eslint-disable react-hooks/exhaustive-deps */\n\n\n const handleEnter = useCallback(normalize(onEnter), [onEnter]);\n const handleEntering = useCallback(normalize(onEntering), [onEntering]);\n const handleEntered = useCallback(normalize(onEntered), [onEntered]);\n const handleExit = useCallback(normalize(onExit), [onExit]);\n const handleExiting = useCallback(normalize(onExiting), [onExiting]);\n const handleExited = useCallback(normalize(onExited), [onExited]);\n const handleAddEndListener = useCallback(normalize(addEndListener), [addEndListener]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return /*#__PURE__*/_jsx(Transition, {\n ref: ref,\n ...props,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n nodeRef: nodeRef,\n children: typeof children === 'function' ? (status, innerProps) => children(status, { ...innerProps,\n ref: attachRef\n }) : /*#__PURE__*/React.cloneElement(children, {\n ref: attachRef\n })\n });\n});\nexport default TransitionWrapper;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { ENTERED, ENTERING } from 'react-transition-group/Transition';\nimport transitionEndListener from './transitionEndListener';\nimport triggerBrowserReflow from './triggerBrowserReflow';\nimport TransitionWrapper from './TransitionWrapper';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false\n};\nconst fadeStyles = {\n [ENTERING]: 'show',\n [ENTERED]: 'show'\n};\nconst Fade = /*#__PURE__*/React.forwardRef(({\n className,\n children,\n transitionClasses = {},\n ...props\n}, ref) => {\n const handleEnter = useCallback((node, isAppearing) => {\n triggerBrowserReflow(node);\n props.onEnter == null ? void 0 : props.onEnter(node, isAppearing);\n }, [props]);\n return /*#__PURE__*/_jsx(TransitionWrapper, {\n ref: ref,\n addEndListener: transitionEndListener,\n ...props,\n onEnter: handleEnter,\n childRef: children.ref,\n children: (status, innerProps) => /*#__PURE__*/React.cloneElement(children, { ...innerProps,\n className: classNames('fade', className, children.props.className, fadeStyles[status], transitionClasses[status])\n })\n });\n});\nFade.defaultProps = defaultProps;\nFade.displayName = 'Fade';\nexport default Fade;","// reading a dimension prop will cause the browser to recalculate,\n// which will let our animations work\nexport default function triggerBrowserReflow(node) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n node.offsetHeight;\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport classNames from 'classnames';\nimport BaseOverlay from '@restart/ui/Overlay';\nimport useCallbackRef from '@restart/hooks/useCallbackRef';\nimport useEventCallback from '@restart/hooks/useEventCallback';\nimport useIsomorphicEffect from '@restart/hooks/useIsomorphicEffect';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport useOverlayOffset from './useOverlayOffset';\nimport Fade from './Fade';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n transition: Fade,\n rootClose: false,\n show: false,\n placement: 'top'\n};\n\nfunction wrapRefs(props, arrowProps) {\n const {\n ref\n } = props;\n const {\n ref: aRef\n } = arrowProps;\n\n props.ref = ref.__wrapped || (ref.__wrapped = r => ref(safeFindDOMNode(r)));\n\n arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = r => aRef(safeFindDOMNode(r)));\n}\n\nconst Overlay = /*#__PURE__*/React.forwardRef(({\n children: overlay,\n transition,\n popperConfig = {},\n ...outerProps\n}, outerRef) => {\n const popperRef = useRef({});\n const [firstRenderedState, setFirstRenderedState] = useCallbackRef();\n const [ref, modifiers] = useOverlayOffset(outerProps.offset);\n const mergedRef = useMergedRefs(outerRef, ref);\n const actualTransition = transition === true ? Fade : transition || undefined;\n const handleFirstUpdate = useEventCallback(state => {\n setFirstRenderedState(state);\n popperConfig == null ? void 0 : popperConfig.onFirstUpdate == null ? void 0 : popperConfig.onFirstUpdate(state);\n });\n useIsomorphicEffect(() => {\n if (firstRenderedState) {\n popperRef.current.scheduleUpdate == null ? void 0 : popperRef.current.scheduleUpdate();\n }\n }, [firstRenderedState]);\n return /*#__PURE__*/_jsx(BaseOverlay, { ...outerProps,\n ref: mergedRef,\n popperConfig: { ...popperConfig,\n modifiers: modifiers.concat(popperConfig.modifiers || []),\n onFirstUpdate: handleFirstUpdate\n },\n transition: actualTransition,\n children: (overlayProps, {\n arrowProps,\n popper: popperObj,\n show\n }) => {\n var _popperObj$state, _popperObj$state$modi;\n\n wrapRefs(overlayProps, arrowProps); // Need to get placement from popper object, handling case when overlay is flipped using 'flip' prop\n\n const updatedPlacement = popperObj == null ? void 0 : popperObj.placement;\n const popper = Object.assign(popperRef.current, {\n state: popperObj == null ? void 0 : popperObj.state,\n scheduleUpdate: popperObj == null ? void 0 : popperObj.update,\n placement: updatedPlacement,\n outOfBoundaries: (popperObj == null ? void 0 : (_popperObj$state = popperObj.state) == null ? void 0 : (_popperObj$state$modi = _popperObj$state.modifiersData.hide) == null ? void 0 : _popperObj$state$modi.isReferenceHidden) || false\n });\n if (typeof overlay === 'function') return overlay({ ...overlayProps,\n placement: updatedPlacement,\n show,\n ...(!transition && show && {\n className: 'show'\n }),\n popper,\n arrowProps\n });\n return /*#__PURE__*/React.cloneElement(overlay, { ...overlayProps,\n placement: updatedPlacement,\n arrowProps,\n popper,\n className: classNames(overlay.props.className, !transition && show && 'show'),\n style: { ...overlay.props.style,\n ...overlayProps.style\n }\n });\n }\n });\n});\nOverlay.displayName = 'Overlay';\nOverlay.defaultProps = defaultProps;\nexport default Overlay;","import { useMemo, useRef } from 'react';\nimport hasClass from 'dom-helpers/hasClass';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Popover from './Popover'; // This is meant for internal use.\n// This applies a custom offset to the overlay if it's a popover.\n\nexport default function useOverlayOffset(customOffset) {\n const overlayRef = useRef(null);\n const popoverClass = useBootstrapPrefix(undefined, 'popover');\n const offset = useMemo(() => ({\n name: 'offset',\n options: {\n offset: () => {\n if (overlayRef.current && hasClass(overlayRef.current, popoverClass)) {\n return customOffset || Popover.POPPER_OFFSET;\n }\n\n return customOffset || [0, 0];\n }\n }\n }), [customOffset, popoverClass]);\n return [overlayRef, [offset]];\n}","import contains from 'dom-helpers/contains';\nimport * as React from 'react';\nimport { cloneElement, useCallback, useRef } from 'react';\nimport useTimeout from '@restart/hooks/useTimeout';\nimport warning from 'warning';\nimport { useUncontrolledProp } from 'uncontrollable';\nimport useMergedRefs from '@restart/hooks/useMergedRefs';\nimport Overlay from './Overlay';\nimport safeFindDOMNode from './safeFindDOMNode';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nfunction normalizeDelay(delay) {\n return delay && typeof delay === 'object' ? delay : {\n show: delay,\n hide: delay\n };\n} // Simple implementation of mouseEnter and mouseLeave.\n// React's built version is broken: https://github.com/facebook/react/issues/4251\n// for cases when the trigger is disabled and mouseOut/Over can cause flicker\n// moving from one child element to another.\n\n\nfunction handleMouseOverOut( // eslint-disable-next-line @typescript-eslint/no-shadow\nhandler, args, relatedNative) {\n const [e] = args;\n const target = e.currentTarget;\n const related = e.relatedTarget || e.nativeEvent[relatedNative];\n\n if ((!related || related !== target) && !contains(target, related)) {\n handler(...args);\n }\n}\n\nconst defaultProps = {\n defaultShow: false,\n trigger: ['hover', 'focus']\n};\n\nfunction OverlayTrigger({\n trigger,\n overlay,\n children,\n popperConfig = {},\n show: propsShow,\n defaultShow = false,\n onToggle,\n delay: propsDelay,\n placement,\n flip = placement && placement.indexOf('auto') !== -1,\n ...props\n}) {\n const triggerNodeRef = useRef(null);\n const mergedRef = useMergedRefs(triggerNodeRef, children.ref);\n const timeout = useTimeout();\n const hoverStateRef = useRef('');\n const [show, setShow] = useUncontrolledProp(propsShow, defaultShow, onToggle);\n const delay = normalizeDelay(propsDelay);\n const {\n onFocus,\n onBlur,\n onClick\n } = typeof children !== 'function' ? React.Children.only(children).props : {};\n\n const attachRef = r => {\n mergedRef(safeFindDOMNode(r));\n };\n\n const handleShow = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'show';\n\n if (!delay.show) {\n setShow(true);\n return;\n }\n\n timeout.set(() => {\n if (hoverStateRef.current === 'show') setShow(true);\n }, delay.show);\n }, [delay.show, setShow, timeout]);\n const handleHide = useCallback(() => {\n timeout.clear();\n hoverStateRef.current = 'hide';\n\n if (!delay.hide) {\n setShow(false);\n return;\n }\n\n timeout.set(() => {\n if (hoverStateRef.current === 'hide') setShow(false);\n }, delay.hide);\n }, [delay.hide, setShow, timeout]);\n const handleFocus = useCallback((...args) => {\n handleShow();\n onFocus == null ? void 0 : onFocus(...args);\n }, [handleShow, onFocus]);\n const handleBlur = useCallback((...args) => {\n handleHide();\n onBlur == null ? void 0 : onBlur(...args);\n }, [handleHide, onBlur]);\n const handleClick = useCallback((...args) => {\n setShow(!show);\n onClick == null ? void 0 : onClick(...args);\n }, [onClick, setShow, show]);\n const handleMouseOver = useCallback((...args) => {\n handleMouseOverOut(handleShow, args, 'fromElement');\n }, [handleShow]);\n const handleMouseOut = useCallback((...args) => {\n handleMouseOverOut(handleHide, args, 'toElement');\n }, [handleHide]);\n const triggers = trigger == null ? [] : [].concat(trigger);\n const triggerProps = {\n ref: attachRef\n };\n\n if (triggers.indexOf('click') !== -1) {\n triggerProps.onClick = handleClick;\n }\n\n if (triggers.indexOf('focus') !== -1) {\n triggerProps.onFocus = handleFocus;\n triggerProps.onBlur = handleBlur;\n }\n\n if (triggers.indexOf('hover') !== -1) {\n process.env.NODE_ENV !== \"production\" ? warning(triggers.length > 1, '[react-bootstrap] Specifying only the `\"hover\"` trigger limits the visibility of the overlay to just mouse users. Consider also including the `\"focus\"` trigger so that touch and keyboard only users can see the overlay as well.') : void 0;\n triggerProps.onMouseOver = handleMouseOver;\n triggerProps.onMouseOut = handleMouseOut;\n }\n\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [typeof children === 'function' ? children(triggerProps) : /*#__PURE__*/cloneElement(children, triggerProps), /*#__PURE__*/_jsx(Overlay, { ...props,\n show: show,\n onHide: handleHide,\n flip: flip,\n placement: placement,\n popperConfig: popperConfig,\n target: triggerNodeRef.current,\n children: overlay\n })]\n });\n}\n\nOverlayTrigger.defaultProps = defaultProps;\nexport default OverlayTrigger;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useIsRTL } from './ThemeProvider';\nimport { getOverlayDirection } from './helpers';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst defaultProps = {\n placement: 'right'\n};\nconst Tooltip = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n placement,\n className,\n style,\n children,\n arrowProps,\n popper: _,\n show: _2,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'tooltip');\n const isRTL = useIsRTL();\n const [primaryPlacement] = (placement == null ? void 0 : placement.split('-')) || [];\n const bsDirection = getOverlayDirection(primaryPlacement, isRTL);\n return /*#__PURE__*/_jsxs(\"div\", {\n ref: ref,\n style: style,\n role: \"tooltip\",\n \"x-placement\": primaryPlacement,\n className: classNames(className, bsPrefix, `bs-tooltip-${bsDirection}`),\n ...props,\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"tooltip-arrow\",\n ...arrowProps\n }), /*#__PURE__*/_jsx(\"div\", {\n className: `${bsPrefix}-inner`,\n children: children\n })]\n });\n});\nTooltip.defaultProps = defaultProps;\nTooltip.displayName = 'Tooltip';\nexport default Tooltip;","import * as React from 'react'; // TODO\n\nconst FormContext = /*#__PURE__*/React.createContext({});\nexport default FormContext;","import * as React from 'react';\nimport { useMemo } from 'react';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormGroup = /*#__PURE__*/React.forwardRef(({\n controlId,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const context = useMemo(() => ({\n controlId\n }), [controlId]);\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: context,\n children: /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref\n })\n });\n});\nFormGroup.displayName = 'FormGroup';\nexport default FormGroup;","import classNames from 'classnames';\nimport * as React from 'react';\nimport FormGroup from './FormGroup';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FloatingLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n children,\n controlId,\n label,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-floating');\n return /*#__PURE__*/_jsxs(FormGroup, {\n ref: ref,\n className: classNames(className, bsPrefix),\n controlId: controlId,\n ...props,\n children: [children, /*#__PURE__*/_jsx(\"label\", {\n htmlFor: controlId,\n children: label\n })]\n });\n});\nFloatingLabel.displayName = 'FloatingLabel';\nexport default FloatingLabel;","import classNames from 'classnames';\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * Specify whether the feedback is for valid or invalid fields\n *\n * @type {('valid'|'invalid')}\n */\n type: PropTypes.string,\n\n /** Display feedback as a tooltip. */\n tooltip: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Feedback = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n as: Component = 'div',\n className,\n type = 'valid',\n tooltip = false,\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)\n}));\nFeedback.displayName = 'Feedback';\nFeedback.propTypes = propTypes;\nexport default Feedback;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckInput = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n className,\n type = 'checkbox',\n isValid = false,\n isInvalid = false,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-input');\n return /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n type: type,\n id: id || controlId,\n className: classNames(className, bsPrefix, isValid && 'is-valid', isInvalid && 'is-invalid')\n });\n});\nFormCheckInput.displayName = 'FormCheckInput';\nexport default FormCheckInput;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormCheckLabel = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check-label');\n return /*#__PURE__*/_jsx(\"label\", { ...props,\n ref: ref,\n htmlFor: htmlFor || controlId,\n className: classNames(className, bsPrefix)\n });\n});\nFormCheckLabel.displayName = 'FormCheckLabel';\nexport default FormCheckLabel;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport Feedback from './Feedback';\nimport FormCheckInput from './FormCheckInput';\nimport FormCheckLabel from './FormCheckLabel';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { hasChildOfType } from './ElementChildren';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FormCheck = /*#__PURE__*/React.forwardRef(({\n id,\n bsPrefix,\n bsSwitchPrefix,\n inline = false,\n reverse = false,\n disabled = false,\n isValid = false,\n isInvalid = false,\n feedbackTooltip = false,\n feedback,\n feedbackType,\n className,\n style,\n title = '',\n type = 'checkbox',\n label,\n children,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as = 'input',\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-check');\n bsSwitchPrefix = useBootstrapPrefix(bsSwitchPrefix, 'form-switch');\n const {\n controlId\n } = useContext(FormContext);\n const innerFormContext = useMemo(() => ({\n controlId: id || controlId\n }), [controlId, id]);\n const hasLabel = !children && label != null && label !== false || hasChildOfType(children, FormCheckLabel);\n\n const input = /*#__PURE__*/_jsx(FormCheckInput, { ...props,\n type: type === 'switch' ? 'checkbox' : type,\n ref: ref,\n isValid: isValid,\n isInvalid: isInvalid,\n disabled: disabled,\n as: as\n });\n\n return /*#__PURE__*/_jsx(FormContext.Provider, {\n value: innerFormContext,\n children: /*#__PURE__*/_jsx(\"div\", {\n style: style,\n className: classNames(className, hasLabel && bsPrefix, inline && `${bsPrefix}-inline`, reverse && `${bsPrefix}-reverse`, type === 'switch' && bsSwitchPrefix),\n children: children || /*#__PURE__*/_jsxs(_Fragment, {\n children: [input, hasLabel && /*#__PURE__*/_jsx(FormCheckLabel, {\n title: title,\n children: label\n }), feedback && /*#__PURE__*/_jsx(Feedback, {\n type: feedbackType,\n tooltip: feedbackTooltip,\n children: feedback\n })]\n })\n })\n });\n});\nFormCheck.displayName = 'FormCheck';\nexport default Object.assign(FormCheck, {\n Input: FormCheckInput,\n Label: FormCheckLabel\n});","import * as React from 'react';\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid elements\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n */\n\nfunction map(children, func) {\n let index = 0;\n return React.Children.map(children, child => /*#__PURE__*/React.isValidElement(child) ? func(child, index++) : child);\n}\n/**\n * Iterates through children that are \"valid elements\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n */\n\n\nfunction forEach(children, func) {\n let index = 0;\n React.Children.forEach(children, child => {\n if ( /*#__PURE__*/React.isValidElement(child)) func(child, index++);\n });\n}\n/**\n * Finds whether a component's `children` prop includes a React element of the\n * specified type.\n */\n\n\nfunction hasChildOfType(children, type) {\n return React.Children.toArray(children).some(child => /*#__PURE__*/React.isValidElement(child) && child.type === type);\n}\n\nexport { map, forEach, hasChildOfType };","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Feedback from './Feedback';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormControl = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n type,\n size,\n htmlSize,\n id,\n className,\n isValid = false,\n isInvalid = false,\n plaintext,\n readOnly,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'input',\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-control');\n let classes;\n\n if (plaintext) {\n classes = {\n [`${bsPrefix}-plaintext`]: true\n };\n } else {\n classes = {\n [bsPrefix]: true,\n [`${bsPrefix}-${size}`]: size\n };\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !id, '`controlId` is ignored on `` when `id` is specified.') : void 0;\n return /*#__PURE__*/_jsx(Component, { ...props,\n type: type,\n size: htmlSize,\n ref: ref,\n readOnly: readOnly,\n id: id || controlId,\n className: classNames(className, classes, isValid && `is-valid`, isInvalid && `is-invalid`, type === 'color' && `${bsPrefix}-color`)\n });\n});\nFormControl.displayName = 'FormControl';\nexport default Object.assign(FormControl, {\n Feedback\n});","import createWithBsPrefix from './createWithBsPrefix';\nexport default createWithBsPrefix('form-floating');","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useCol({\n as,\n bsPrefix,\n className,\n ...props\n}) {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'col');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const spans = [];\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let span;\n let offset;\n let order;\n\n if (typeof propValue === 'object' && propValue != null) {\n ({\n span,\n offset,\n order\n } = propValue);\n } else {\n span = propValue;\n }\n\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (span) spans.push(span === true ? `${bsPrefix}${infix}` : `${bsPrefix}${infix}-${span}`);\n if (order != null) classes.push(`order${infix}-${order}`);\n if (offset != null) classes.push(`offset${infix}-${offset}`);\n });\n return [{ ...props,\n className: classNames(className, ...spans, ...classes)\n }, {\n as,\n bsPrefix,\n spans\n }];\n}\nconst Col = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n(props, ref) => {\n const [{\n className,\n ...colProps\n }, {\n as: Component = 'div',\n bsPrefix,\n spans\n }] = useCol(props);\n return /*#__PURE__*/_jsx(Component, { ...colProps,\n ref: ref,\n className: classNames(className, !spans.length && bsPrefix)\n });\n});\nCol.displayName = 'Col';\nexport default Col;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport warning from 'warning';\nimport Col from './Col';\nimport FormContext from './FormContext';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultProps = {\n column: false,\n visuallyHidden: false\n};\nconst FormLabel = /*#__PURE__*/React.forwardRef(({\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'label',\n bsPrefix,\n column,\n visuallyHidden,\n className,\n htmlFor,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-label');\n let columnClass = 'col-form-label';\n if (typeof column === 'string') columnClass = `${columnClass} ${columnClass}-${column}`;\n const classes = classNames(className, bsPrefix, visuallyHidden && 'visually-hidden', column && columnClass);\n process.env.NODE_ENV !== \"production\" ? warning(controlId == null || !htmlFor, '`controlId` is ignored on `` when `htmlFor` is specified.') : void 0;\n htmlFor = htmlFor || controlId;\n if (column) return /*#__PURE__*/_jsx(Col, {\n ref: ref,\n as: \"label\",\n className: classes,\n htmlFor: htmlFor,\n ...props\n });\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-for, jsx-a11y/label-has-associated-control\n _jsx(Component, {\n ref: ref,\n className: classes,\n htmlFor: htmlFor,\n ...props\n })\n );\n});\nFormLabel.displayName = 'FormLabel';\nFormLabel.defaultProps = defaultProps;\nexport default FormLabel;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormRange = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-range');\n return /*#__PURE__*/_jsx(\"input\", { ...props,\n type: \"range\",\n ref: ref,\n className: classNames(className, bsPrefix),\n id: id || controlId\n });\n});\nFormRange.displayName = 'FormRange';\nexport default FormRange;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport FormContext from './FormContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormSelect = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n size,\n htmlSize,\n className,\n isValid = false,\n isInvalid = false,\n id,\n ...props\n}, ref) => {\n const {\n controlId\n } = useContext(FormContext);\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-select');\n return /*#__PURE__*/_jsx(\"select\", { ...props,\n size: htmlSize,\n ref: ref,\n className: classNames(className, bsPrefix, size && `${bsPrefix}-${size}`, isValid && `is-valid`, isInvalid && `is-invalid`),\n id: id || controlId\n });\n});\nFormSelect.displayName = 'FormSelect';\nexport default FormSelect;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst FormText = /*#__PURE__*/React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n({\n bsPrefix,\n className,\n as: Component = 'small',\n muted,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'form-text');\n return /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, bsPrefix, muted && 'text-muted')\n });\n});\nFormText.displayName = 'FormText';\nexport default FormText;","import * as React from 'react';\nimport FormCheck from './FormCheck';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Switch = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(FormCheck, { ...props,\n ref: ref,\n type: \"switch\"\n}));\nSwitch.displayName = 'Switch';\nexport default Object.assign(Switch, {\n Input: FormCheck.Input,\n Label: FormCheck.Label\n});","import classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport FormCheck from './FormCheck';\nimport FormControl from './FormControl';\nimport FormFloating from './FormFloating';\nimport FormGroup from './FormGroup';\nimport FormLabel from './FormLabel';\nimport FormRange from './FormRange';\nimport FormSelect from './FormSelect';\nimport FormText from './FormText';\nimport Switch from './Switch';\nimport FloatingLabel from './FloatingLabel';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst propTypes = {\n /**\n * The Form `ref` will be forwarded to the underlying element,\n * which means, unless it's rendered `as` a composite component,\n * it will be a DOM node, when resolved.\n *\n * @type {ReactRef}\n * @alias ref\n */\n _ref: PropTypes.any,\n\n /**\n * Mark a form as having been validated. Setting it to `true` will\n * toggle any validation styles on the forms elements.\n */\n validated: PropTypes.bool,\n as: PropTypes.elementType\n};\nconst Form = /*#__PURE__*/React.forwardRef(({\n className,\n validated,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'form',\n ...props\n}, ref) => /*#__PURE__*/_jsx(Component, { ...props,\n ref: ref,\n className: classNames(className, validated && 'was-validated')\n}));\nForm.displayName = 'Form';\nForm.propTypes = propTypes;\nexport default Object.assign(Form, {\n Group: FormGroup,\n Control: FormControl,\n Floating: FormFloating,\n Check: FormCheck,\n Switch,\n Label: FormLabel,\n Text: FormText,\n Range: FormRange,\n Select: FormSelect,\n FloatingLabel\n});","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Table = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n striped,\n bordered,\n borderless,\n hover,\n size,\n variant,\n responsive,\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'table');\n const classes = classNames(className, decoratedBsPrefix, variant && `${decoratedBsPrefix}-${variant}`, size && `${decoratedBsPrefix}-${size}`, striped && `${decoratedBsPrefix}-${typeof striped === 'string' ? `striped-${striped}` : 'striped'}`, bordered && `${decoratedBsPrefix}-bordered`, borderless && `${decoratedBsPrefix}-borderless`, hover && `${decoratedBsPrefix}-hover`);\n\n const table = /*#__PURE__*/_jsx(\"table\", { ...props,\n className: classes,\n ref: ref\n });\n\n if (responsive) {\n let responsiveClass = `${decoratedBsPrefix}-responsive`;\n\n if (typeof responsive === 'string') {\n responsiveClass = `${responsiveClass}-${responsive}`;\n }\n\n return /*#__PURE__*/_jsx(\"div\", {\n className: responsiveClass,\n children: table\n });\n }\n\n return table;\n});\nexport default Table;","import classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nimport Button from './Button';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst noop = () => undefined;\n\nconst ToggleButton = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n name,\n className,\n checked,\n type,\n onChange,\n value,\n disabled,\n id,\n inputRef,\n ...props\n}, ref) => {\n bsPrefix = useBootstrapPrefix(bsPrefix, 'btn-check');\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(\"input\", {\n className: bsPrefix,\n name: name,\n type: type,\n value: value,\n ref: inputRef,\n autoComplete: \"off\",\n checked: !!checked,\n disabled: !!disabled,\n onChange: onChange || noop,\n id: id\n }), /*#__PURE__*/_jsx(Button, { ...props,\n ref: ref,\n className: classNames(className, disabled && 'disabled'),\n type: undefined,\n role: undefined,\n as: \"label\",\n htmlFor: id\n })]\n });\n});\nToggleButton.displayName = 'ToggleButton';\nexport default ToggleButton;","import canUseDOM from './canUseDOM';\nvar size;\nexport default function scrollbarSize(recalc) {\n if (!size && size !== 0 || recalc) {\n if (canUseDOM) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n }\n }\n\n return size;\n}","import ownerDocument from './ownerDocument';\n/**\n * Returns the actively focused element safely.\n *\n * @param doc the document to check\n */\n\nexport default function activeElement(doc) {\n if (doc === void 0) {\n doc = ownerDocument();\n }\n\n // Support: IE 9 only\n // IE9 throws an \"Unspecified error\" accessing document.activeElement from an